Desarrollo de aplicaciones de inteligencia artificial con las API de OpenAI - 2.ª edición - Martin Yanev - E-Book

Desarrollo de aplicaciones de inteligencia artificial con las API de OpenAI - 2.ª edición E-Book

Martin Yanev

0,0
19,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Aprenda a combinar las API de ChatGPT y abra las puertas a la creación de extraordinarias aplicaciones de IA. En un mundo donde la inteligencia artificial (IA) se ha convertido rápidamente en una parte integral de la vida, el dominio de las API de ChatGPT representa una ventaja competitiva inigualable. Al aprovechar estas API, podrá centrarse en la lógica de la aplicación y en la experiencia del usuario, mientras que las sólidas capacidades NLP de ChatGPT se encargan de las complejidades de la comprensión y generación de texto similar al elaborado por personas. Gracias a esta guía se iniciará en las API de ChatGPT, Whisper y DALL-E creando 10 proyectos innovadores de IA. Estos proyectos le proporcionarán una experiencia práctica en la integración de ChatGPT con frameworks y herramientas como Flask, Django, las API de Microsoft Office y PyQt. A lo largo del libro, se familiarizará con la realización de tareas de PNL, la creación de un clon de ChatGPT y la creación de una aplicación SaaS basada en IA que soluciona errores de código. También tratará el reconocimiento de voz, las funcionalidades de texto a voz, la traducción de idiomas y la generación de respuestas de correo electrónico y presentaciones de PowerPoint. Asimismo, aprenderá cómo ajustar ChatGPT y generar arte de IA utilizando las API de DALL-E, y descubrirá cómo vender sus aplicaciones integrando las API de ChatGPT con Stripe. Todo esto se refuerza con ejemplos prácticos, por lo que progresará gradualmente desde temas fáciles a otros más avanzados, fomentando a experiencia necesaria para desarrollar, desplegar y monetizar aplicaciones innovadoras de su propiedad, aprovechando todo el potencial de las API de ChatGPT.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 353

Veröffentlichungsjahr: 2025

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



 

Copyright © Packt Publishing Ltd. October 2024. Second published in the English language under the title Building AI Applications with ChatGPT APIs (978-1-83588-400-3)

Segunda edición original publicada en inglés por Packt Publishing Ltd. con el título: Building AI Applications with ChatGPT APIs, © October 2024 Packt Publishing

Título de la edición en español: Desarrollo de aplicaciones de inteligencia artificial con las API de OpenAI

Segunda edición en español, 2025

© 2025 MARCOMBO, S.L. www.marcombo.com

Gran Via de les Corts Catalanes 594, 08007 Barcelona

Contacto: [email protected]

Traducción: Francisco Martínez Carreño

Corrección: Héctor Tarancón

Directora de producción: M.ª Rosa Castillo

En la preparación de este libro se ha hecho todo lo posible por garantizar la exactitud de la información presentada. Sin embargo, la información contenida en este libro se vende sin garantía, ni expresa ni implícita. Ni el autor, ni Packt Publishing, ni Marcombo, ni sus distribuidores serán responsables de los daños causados o supuestamente causados directa o indirectamente por este libro.

Packt Publishing y Marcombo han procurado por todos los medios proporcionar información sobre las marcas comerciales de todas las empresas y productos mencionados en este libro mediante el uso adecuado de las mayúsculas. Sin embargo, Packt Publishing y Marcombo no pueden garantizar la exactitud de esta información.

Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra.

ISBN del libro en papel: 978-84-267-3841-7

ISBN del libro electrónico: 978-84-267-4067-0

Producción del ePub: booqlab

“A mi hermana, Petya Yaneva, cuyo aliento y orientación en el aprendizaje de la programación han sido inestimables en mi camino. A mi amigo y colega de toda la vida, Petar Dimov, cuya amistad inquebrantable ha sido una fuente de ideas, motivación y positividad, apoyándome siempre en cada desafío”.

Martin Yanev

Colaboradores

Sobre el autor

Martin Yanev es un consumado ingeniero de software con amplia experiencia en diversos sectores como el aeroespacial y el de la tecnología sanitaria. Con una distinguida carrera de más de ocho años, se ha hecho un hueco en el desarrollo y la integración constante de soluciones de software de vanguardia para ámbitos críticos como el control del tráfico aéreo y los sistemas de cromatografía.

Reconocido como instructor de prestigio, Martin ha formado a una impresionante comunidad mundial de más de 280 000 estudiantes. Cuando imparte conocimientos y asesoramiento se ponen de manifiesto sus grandes cualidades didácticas, que potencia con su amplia competencia en frameworks (marcos de trabajo) como Flask, Django, Pytest y TensorFlow. Desde su profundo conocimiento de la totalidad del espectro de las API de OpenAI, demuestra su maestría en la creación, entrenamiento y ajuste fino de sistemas de IA.

Su compromiso con la excelencia queda patente en su doble máster en Sistemas Aeroespaciales e Ingeniería de Software. Este notable logro académico subraya su inquebrantable dedicación a las facetas prácticas y teóricas de la industria. Con su excepcional trayectoria y su polifacético conjunto de habilidades, Martin sigue impulsando la innovación y promoviendo avances transformadores en el siempre cambiante panorama de la Ingeniería de Software.

Sobre el revisor

Alok Jain es un experimentado profesional de las Tecnologías de la Información, cuenta con más de veinte años de práctica profesional en diversos roles, entre los que se incluyen arquitecto, ingeniero full-stack, ingeniero de nube e ingeniero de aprendizaje automático. Ha trabajado con agencias federales, en la industria bancaria y en compañías de seguros. Su experiencia abarca la modernización digital y soluciones aplicadas de IA generativa. Es ingeniero graduado del Instituto Indio de Tecnología de Kanpur. Además, Alok es autor de un libro sobre gestión del tiempo y otro sobre Java.

Contenido

Cubierta

Título

Créditos

Colaboradores

Contenido

Prefacio

Parte 1: Primeros pasos con las API de OpenAI

1. Introducción a la API de ChatGPT para tareas de NLP

Requisitos técnicos

La revolución de ChatGPT

Uso de ChatGPT desde la web

Creación de una cuenta de OpenAI

Interfaz web de ChatGPT

Primeros pasos con la API de ChatGPT

Obtención de la clave de la API

Tokens y precios de la API

Configuración del entorno de desarrollo de Python

Instalación de Python y del IDE VS Code

Configuración del entorno virtual de Python

El instalador de paquetes pip

Respuesta simple de la API de ChatGPT

Resumen

2. Desarrollo de un clon de ChatGPT

Requisitos técnicos

Desarrollo de un clon de ChatGPT con Flask

Generación de HTML en el frontend

Mejora del diseño del clon de ChatGPT

Intervención sobre los endpoint de la API de ChatGPT

Conservación del historial de conversación en el clon de ChatGPT

Resumen

Parte 2: Desarrollo de aplicaciones web con la API de ChatGPT

3. Creación y despliegue de una aplicación de corrección de errores de código mediante Flask

Requisitos técnicos

Cómo realizar varias solicitudes a la API de ChatGPT

Configuración de un proyecto de corrección de errores de código

Implementación del backend de la corrección de errores de código

Utilización de áreas de texto y contenedores

Prueba de la aplicación de corrección de errores de código

Despliegue de la aplicación de ChatGPT en la nube de Azure

Resumen

4. Integración de la aplicación de corrección de errores de código con un servicio de pago

Requisitos técnicos

Presentación e integración de un medio de pago con Stripe

Configuración de una base de datos SQL de usuarios

Inicialización de la base de datos SQL

Obtención del ID del fingerprint del navegador

Seguimiento del uso de la aplicación por los usuarios

Implementación de los contadores de uso

Adición de un medio de pago a la aplicación de ChatGPT

Creación de la página para realizar el pago

Confirmación de pago del usuario

Resumen

5. Aplicación de generación de cuestionarios con ChatGPT y Django

Requisitos técnicos

Desarrollo de un proyecto de Django

Creación del marco y las vistas de la aplicación de exámenes

Conexión de las vistas y las URL en Django

Desarrollo de plantillas en Django

Ejecución de la aplicación Django

Integración de ChatGPT y Django para la generación de cuestionarios

Creación del área de texto para la generación de cuestionarios y del botón de envío

Creación de vistas de la API de ChatGPT con Django

Almacenamiento y descarga de los cuestionarios generados

Almacenamiento de cuestionarios en una base de datos SQLite

Creación de las vistas de descarga de los cuestionarios

Diseño de la plantilla de descarga

Resumen

Parte 3: Desarrollo de aplicaciones de escritorio con las API de ChatGPT, DALL-E y Whisper

6. Aplicación de escritorio de traducción de idiomas con la API de ChatGPT y Microsoft Word

Requisitos técnicos

Integración de la API de ChatGPT con Microsoft Office

Creación de una interfaz de usuario con Tkinter

Integración de texto de Microsoft Word con la API de ChatGPT

Traducción de texto de Word con gpt-3.5-turbo

Resumen

7. Creación de un generador de respuestas de correos electrónicos para Outlook

Requisitos técnicos

Transferencia de datos de Outlook a la API de ChatGPT

Configuración del correo electrónico de Outlook

Acceso a los datos de correo electrónico con el cliente win32com

Generación de respuestas automáticas a correos electrónicos

Resumen

8. Herramienta de generación de ensayos con PyQt y la API de ChatGPT

Requisitos técnicos

Creación de una aplicación de escritorio con PyQt

Configuración del proyecto de la herramienta de generación de ensayos

Creación de la GUI (interfaz gráfica) de la aplicación con PyQt

Creación de métodos de generación de ensayos con la API de ChatGPT

Control de los tokens de la API de ChatGPT

Resumen

9. Integración de las API de ChatGPT y DALL-E: creación de un generador de presentaciones de PowerPoint de extremo a extremo

Requisitos técnicos

Uso de la API de DALL-E

Creación de aplicaciones PowerPoint con el framework PPTX de Python

Generación de arte con la API de DALL-E

Finalización y prueba del generador de presentaciones de PowerPoint

Resumen

10. Reconocimiento de voz y conversión de texto a voz con la API de Whisper

Requisitos técnicos

Implementación de la traducción y transcripción de textos con la API de Whisper

Creación de una aplicación de transcripción de voz

Uso de PyDub para entradas de audio de larga duración

Resumen

Parte 4: Conceptos avanzados para potenciar las aplicaciones de ChatGPT

11. Elección del modelo adecuado de la API de ChatGPT

Requisitos técnicos

Modelos de API de ChatGPT: GPT-3.5, GPT-4 y posteriores

Uso de los parámetros de generación de chat

Límites de velocidad de la API de ChatGPT

Embeddings de OpenAI

Resumen

12. Ajuste de ChatGPT para la creación de modelos de la API únicos 225

Requisitos técnicos

Ajuste fino de ChatGPT y preparación del conjunto de datos

Creación y uso del modelo de ajuste fino

Resumen

Guide

Cover

Título

Start

Prefacio

¡Hola! La API ChatGPT es una potente herramienta proporcionada por OpenAI que permite que los desarrolladores integren el modelo de lenguaje de última generación ChatGPT en sus propias aplicaciones, lo que posibilita experiencias conversacionales interactivas y dinámicas a través de llamadas a la API. A medida que el campo de la inteligencia artificial (IA) evoluciona rápidamente, también lo hace la demanda de sistemas inteligentes e interactivos capaces de entender y responder al lenguaje de las personas y generar contenidos visuales creativos.

Existen tres API principales de OpenAI que permiten a los desarrolladores aprovechar las capacidades de la inteligencia artificial:

•API de ChatGPT: para liberar capacidades de generación de texto de calidad similar al generado por las personas.

•API de Whisper: para mejorar las funciones de reconocimiento de voz y conversión de texto a voz.

•API DE DALL-E: para sumergirse en el mundo del arte generado por IA.

El objetivo del libro es dotarle a usted, querido lector, de los conocimientos y habilidades necesarios para aprovechar eficazmente estas potentes API. A través de una serie de nueve innovadores proyectos de AI, le llevaremos paso a paso a convertirse en un desarrollador competente, capaz de crear, desplegar y monetizar sus propias aplicaciones inteligentes.

A lo largo del libro, adquirirá cierta experiencia práctica en la integración de ChatGPT con frameworks y herramientas populares como Flask, Django, las API de Microsoft Office y PyQt. Se tratará una amplia gama de tareas de NLP (procesamiento de lenguaje natural, PNL), y aprenderá a desarrollar su propio clon de ChatGPT y crear una aplicación SaaS (software como servicio) de corrección de errores de código impulsada por la IA. Además, se explorará el reconocimiento de voz, las funciones de conversión de texto a voz, la traducción de idiomas y la generación de respuestas de correos electrónicos y presentaciones de PowerPoint.

Además, le enseñaré a realizar el ajuste fino de su propio modelo ChatGPT. Esto abre las posibilidades de crear aplicaciones de IA altamente personalizadas y especializadas. Al realizar el ajuste fino sobre el modelo ChatGPT puede entrenarlo con conjuntos de datos específicos, lo que permite a la IA aprender y adaptarse a los dominios, las industrias o los requisitos de usuario concretos. Este proceso de perfeccionamiento permite crear aplicaciones de IA más precisas, más pertinentes y con un conocimiento más profundo de contextos específicos.

En esta era de la revolución de la IA, a quienes tengan las habilidades necesarias para desarrollar aplicaciones de IA les esperan innumerables oportunidades.

A quién va dirigido el libro

El libro está dirigido a una amplia gama de profesionales, incluidos los programadores, empresarios, estudiantes y entusiastas del software, con el objetivo de proporcionar las mejores prácticas, consejos y trucos para crear aplicaciones utilizando la API de ChatGPT. Es especialmente útil para programadores principiantes, desarrolladores de software que quieran integrar tecnologías de IA y desarrolladores web que busquen crear aplicaciones web potenciadas por IA con ChatGPT.

Este libro se dirige principalmente a tres tipos de público:

•Entusiastas de la IA: estas personas son unas apasionadas de la IA y están deseosas de explorar sus aplicaciones prácticas. Puede tratarse de aficionados, estudiantes o profesionales de diversos ámbitos que deseen profundizar en el conocimiento de las tecnologías de IA y aprovecharlas para crear aplicaciones innovadoras. El libro les proporcionará los conocimientos y la experiencia práctica necesarios para iniciar su andadura en el campo de la IA con la API de ChatGPT.

•Desarrolladores de software: los desarrolladores de software, tanto principiantes como profesionales experimentados, que estén interesados en integrar capacidades de IA en sus aplicaciones encontrarán valioso el libro. Puede que quieran mejorar sus proyectos actuales con funciones basadas en la IA como chatbots, análisis de sentimientos o comprensión del lenguaje natural. Al dominar la API de ChatGPT pueden potenciar sus habilidades de desarrollo de software y ofrecer experiencias inteligentes y conversacionales a sus usuarios.

•Emprendedores de IA: los emprendedores que deseen aprovechar el potencial de la IA y crear aplicaciones basadas en la IA para fines empresariales se beneficiarán del libro. Tanto si desean crear sistemas de atención al cliente basados en chat, asistentes virtuales u otras soluciones basadas en la IA, el libro les guiará en el proceso de creación de aplicaciones autosuficientes. Aprenderán a monetizar sus aplicaciones de IA, integrar plataformas de pago y desplegar soluciones SaaS escalables, lo que les permitirá aprovechar las oportunidades que ofrece la API de ChatGPT.

Independientemente de su formación o experiencia, estos tres tipos de destinatarios encontrarán cierta orientación práctica en el libro, ejemplos reales e instrucciones completas para dominar la API de ChatGPT y desarrollar con éxito sus propias aplicaciones de IA.

De qué trata el libro

El Capítulo 1: Introducción a la API de ChatGPT para tareas de NLP presenta ChatGPT y la API de ChatGPT, le orienta en la configuración de su entorno de Python y las necesarias descargas, y explora el registro de una cuenta en OpenAI, el uso del token de acceso a la API y el esquema de precios para utilizar las API de OpenAI.

El Capítulo 2: Desarrollo de un clon de ChatGPT proporciona una guía paso a paso sobre el diseño de un clon de ChatGPT, mientras se aborda el desarrollo del backend con la API de ChatGPT, el despliegue del proyecto a nivel local, el mantenimiento del historial de conversación y el diseño del frontend con HTML, CSS y JavaScript básico. Esto ofrece un proyecto práctico con la idea de prepararle para el desarrollo de aplicaciones SaaS más avanzadas, las cuales se tratan en los capítulos siguientes.

El Capítulo 3: Creación y despliegue de una aplicación SaaS de corrección de errores de código mediante Flask le orientará en el desarrollo y despliegue de una sólida aplicación SaaS utilizando la API de ChatGPT. Muestra cómo desarrollar un ciclo completo, desde el despliegue hasta el alojamiento web, permitiendo un uso global. La aplicación, que utiliza ChatGPT, proporciona las funciones de depuración de código y descripción de errores, por lo que introduce un proyecto único y muy útil.

El Capítulo 4: Integración de la aplicación de corrección de errores de código con un servicio de pago proporciona información sobre la integración de un servicio de pago en una aplicación de ChatGPT, para ello utiliza el seguimiento de las visitas para implementar un mecanismo de pago basado en la API de Stripe. Los lectores también adquirirán conocimientos sobre la incorporación de una base de datos básica a sus proyectos.

El Capítulo 5: Aplicación de generación de cuestionarios con ChatGPT y Django proporciona una guía completa sobre la integración de la API de ChatGPT en Django, aprenderá a crear páginas y vistas Django con capacidades de la IA. Aprenderá a desarrollar un proyecto en Django que genere preguntas de examen a partir del material de estudio y a ejecutarlo localmente como una aplicación SaaS.

El Capítulo 6: Aplicación de escritorio de traducción de idiomas con la API de ChatGPT y Microsoft Word le orienta a través de la utilización de la API de ChatGPT para la traducción de texto de Microsoft Word, a la vez que le enseña cómo empaquetar su script de Python en una aplicación de escritorio funcional utilizando Tkinter. Presenta la integración de la API de ChatGPT con las herramientas de automatización de Microsoft Office, lo que permite crear una aplicación de traducción de texto personalizada.

El Capítulo 7: Desarrollo de un generador de respuestas de correos electrónicos de Outlook proporciona una guía para crear una aplicación que utiliza los datos del correo electrónico de Outlook para generar respuestas personalizadas y realizar un diseño del prompt.

El Capítulo 8: Herramienta de generación de ensayos con PyQt y la API de ChatGPT le proporciona una guía paso a paso sobre cómo integrar la API de ChatGPT con PyQt para el desarrollo de aplicaciones de escritorio, además de cómo controlar los tokens de la API desde el frontend de la aplicación.

El Capítulo 9: Integración de las API de ChatGPT y DALL-E: creación de un generador de presentaciones de PowerPoint de extremo a extremo ofrece un enfoque práctico para

integrar dos API de IA, ChatGPT y DALL-E, y crear una presentación de PowerPoint generada por IA.

El Capítulo 10: Reconocimiento de voz y conversión de texto a voz con la API de Whisper le ofrece una visión general de la API de Whisper, y le guía en la realización de un proyecto práctico para generar subtítulos y traducciones utilizando archivos de audio.

El Capítulo 11: Elección del modelo adecuado de la API de ChatGPT ofrece una visión general de los modelos y parámetros de ChatGPT a los que se accede a través de su API, así pues, le ayuda a elegir el mejor modelo para su proyecto y a comprender las limitaciones de los modelos.

El Capítulo 12: Ajuste fino de ChatGPT para crear modelos de API únicos ofrece una visión general del proceso de ajuste fino de los modelos de ChatGPT accesibles a través de su API, junto con un caso práctico que ilustra cómo utilizar este proceso en una aplicación real para reducir el coste de desarrollo de las aplicaciones de IA.

Cómo sacar el máximo partido al libro

Antes de embarcarse en la lectura del libro, es importante que comprenda a nivel básico la programación en Python y los conceptos de las API. Además, es muy recomendable estar familiarizado con los fundamentos de las tecnologías frontend y backend, utilizadas en el desarrollo de aplicaciones. Estos conocimientos previos mejorarán su comprensión y le permitirán captar plenamente los conceptos y ejemplos presentados a lo largo del libro.

Software/hardware tratado en el libro

Requisitos del sistema operativo

Python

Windows, macOS o Linux

Django

Windows, macOS o Linux

Flask

Windows, macOS o Linux

PyQt

Windows, macOS o Linux

Biblioteca de OpenAI

Windows, macOS o Linux

Stripe

Windows, macOS o Linux

Tenga la seguridad de que el libro proporciona un tratamiento completo del conjunto de instalaciones necesarias, incluidos Python y el IDE VS Code. En el libro encontrará instrucciones paso a paso y explicaciones detalladas que le orientarán en el proceso de instalación. Siguiendo las instrucciones que se proporcionan, podrá configurar fácilmente su entorno Python y el IDE VS Code, asilo que asegura un recorrido sin problemas a través del contenido del libro.

Si utiliza la versión digital del libro, le aconsejamos que escriba el código usted mismo o acceda al código del repositorio GitHub del libro (encontrará un enlace en la siguiente sección). De este modo evitará posibles errores al copiar y pegar el código.

Le animo con toda franqueza a que participe activamente en las aplicaciones que se desarrollan en el libro, experimente con la introducción de cambios en las variables y observe el impacto resultante en las aplicaciones. Este enfoque práctico le proporcionará una comprensión más profunda de cómo las diferentes variantes afectan al comportamiento de las aplicaciones. Además, le invito a que aproveche los conocimientos adquiridos en el libro para embarcarse en su propio viaje de desarrollo de aplicaciones. Utilizando las aplicaciones del libro como base, puede poner en práctica sus nuevas habilidades y su creatividad para desarrollar sus propias aplicaciones, lo que fomenta un dominio más profundo de los conceptos tratados.

Descargue los archivos de código de los ejemplos

Puede descargar gratis los archivos de código de todos los ejemplos del libro desde: www.marcombo.info con el código OPENAI25.

Convenciones que se utilizan

A lo largo del libro se utilizan una serie de convenciones en lo que se refiere al texto.

Texto que hace referencia a código: indica palabras relacionadas con el código que aparecen en el texto, como nombres de tablas de bases de datos, nombres de carpetas, nombres de archivos, extensiones de archivos, nombres de rutas y entradas de usuario. He aquí un ejemplo: “Para comenzar, debe importar la biblioteca openai en su archivo app.py”.

Un bloque de código se configura de la siguiente manera:

Cuando queramos llamar su atención sobre una parte concreta de un bloque de código, las líneas o elementos pertinentes aparecen en negrita:

Cualquier entrada o salida de línea de comandos se escribe de la siguiente manera:

$ python app.py

Negrita: indica un término nuevo, una palabra importante o palabras que aparecen en pantalla. Por ejemplo, los términos de los menús o cuadros de diálogo aparecen en negrita. He aquí un ejemplo: “Para hacerlo, haga clic con el botón derecho en la carpeta templates y seleccione el archivo New | HTML”.

Consejos o notas importantes

Aparecen así.

Póngase en contacto con nosotros

Los comentarios de nuestros lectores son siempre bienvenidos. Envíenos un correo electrónico a [email protected] y mencione el título del libro en el asunto del mensaje.

Parte 1

Primeros pasos con las API de OpenAI

En la primera parte, que consta de dos capítulos, se ofrece una visión general de ChatGPT y su importancia en el procesamiento del lenguaje natural (Natural Language Processing, NLP). Se tratarán los fundamentos de ChatGPT, se explorará su impacto y uso en aplicaciones web y se presentará a los lectores la API de ChatGPT. En esta sección se muestra el proceso de desarrollo de un clon de ChatGPT, que es un chatbot que utiliza el modelo de lenguaje de OpenAI para generar respuestas a las entradas de usuario similares a las que proporcionan las personas, y que retiene el historial de conversación. La aplicación se desarrollará utilizando Flask, un framework web ligero de Python.

Esta parte consta de los siguientes capítulos:

•Capítulo 1: Introducción a la API de ChatGPT para tareas de NLP

•Capítulo 2: Desarrollo de un clon de ChatGPT

1

Introducción a la API de ChatGPT para tareas de NLP

El procesamiento del lenguaje natural (NLP) es un área de la inteligencia artificial (IA) que se centra en la interacción entre ordenadores y personas a través del lenguaje natural. A lo largo de los años, el NLP ha experimentado notables progresos en el campo del procesamiento del lenguaje, y ChatGPT es una de esas revolucionarias herramientas de NLP que ha ganado una gran popularidad en los últimos años.

ChatGPT es un avanzado modelo lingüístico de IA que ha desarrollado OpenAI, y se ha entrenado con un conjunto masivo de datos de textos diversos, incluidos libros, artículos y páginas web. Gracias a su capacidad para generar texto similar al que proporcionan las personas, ChatGPT se ha convertido en una herramienta imprescindible para muchas aplicaciones de NLP, como son los chatbots, la traducción de idiomas y la generación de contenidos.

En este capítulo, se explorarán los fundamentos de ChatGPT y cómo puede utilizarlo para sus tareas de NLP. Se empezará con una introducción a ChatGPT y su impacto en el campo del NLP. A continuación, se explorará cómo utilizar ChatGPT desde la web y sus ventajas. Seguidamente, aprenderá a empezar a utilizar la API de ChatGPT, incluyendo la creación de una cuenta y la generación de claves de la API. Después de eso, dará un paseo a través de la configuración de su entorno de desarrollo para trabajar con la API de ChatGPT. Por último, verá ejemplos de respuestas sencillas de la API de ChatGPT para comprender las funcionalidades básicas de la herramienta.

En este capítulo se tratarán los siguientes temas:

• La revolución de ChatGPT.

• Uso de ChatGPT desde la web.

• Primeros pasos con la API de ChatGPT.

• Configuración del entorno de desarrollo de Python.

• Una respuesta sencilla de la API de ChatGPT.

Al final de este capítulo habrá adquirido una sólida experiencia con ChatGPT y habrá aprendido a utilizarlo de forma eficiente en la realización de tareas de NLP.

Requisitos técnicos

Para obtener el máximo rendimiento de este capítulo necesitará algunas herramientas básicas que le permitan trabajar con el código Python y la API de ChatGPT. En este capítulo se le indicarán los pasos a seguir en todas y cada una de las instalaciones de software y procesos de registro.

Necesitará lo siguiente:

• Python 3.7 o posterior instalado en su ordenador.

• Una clave de la API de OpenAI, que se puede obtener al registrarse en una cuenta de OpenAI.

• Un editor de código, como VS Code (recomendado), para escribir y ejecutar código Python.

• Tener una experiencia elemental en programación con Python.

Los ejemplos de código de este capítulo se pueden encontrar en GitHub, en: https://github.com/PacktPublishing/Building-AI-Applications-with-ChatGPT-API.

La revolución de ChatGPT

ChatGPT es un avanzado modelo lingüístico de IA que ha desarrollado OpenAI, y que ha tenido un impacto significativo en el campo del procesamiento del lenguaje natural (NLP). El modelo se basa en la arquitectura de transformadores y se ha entrenado con un conjunto de datos masivo de textos diversos, entre los que se encuentran libros, artículos y páginas web.

Una de las principales características de ChatGPT es su capacidad para generar textos coherentes y adecuados al contexto. A diferencia de los modelos NLP anteriores, ChatGPT posee una comprensión más amplia del lenguaje y puede generar textos similares en estilo y estructura a los que elaboran las personas. Esta característica ha convertido a ChatGPT en una valiosa herramienta para diversas aplicaciones, como la IA conversacional y la creación de contenidos.

ChatGPT también ha logrado avances importantes en el campo de la IA conversacional, donde se ha utilizado para desarrollar chatbots que pueden interactuar con las personas de forma natural. Gracias a su capacidad para entender el contexto y generar textos similares a los generados por personas, ChatGPT se ha convertido en una herramienta de referencia para el desarrollo de la IA conversacional.

La aparición de modelos lingüísticos de gran tamaño (Large Language Models, LLM), como GPT-3, ha revolucionado el panorama de los chatbots. Antes de los LLM, los chatbots tenían capacidades limitadas y dependían de sistemas basados en reglas con respuestas predefinidas. Estos chatbots carecían de comprensión contextual y tenían dificultades para entablar conversaciones que tuvieran sentido. Sin embargo, con los chatbots basados en los LLM se ha producido una transformación importante. Estos modelos comprenden consultas complejas, generan respuestas coherentes y matizadas y poseen una base de conocimientos más amplia. Muestran una mejor comprensión contextual, aprenden de las interacciones con los usuarios y mejoran continuamente su rendimiento. Los chatbots basados en los LLM han elevado la experiencia de usuario al proporcionar interacciones más naturales y personalizadas, lo que muestra los notables avances de la tecnología chatbot.

ChatGPT tiene una larga trayectoria de éxitos en el campo del NLP. El modelo ha experimentado varios avances a lo largo de los años, y entre ellos se encuentran los siguientes:

•GPT-1 (2018): tenía 117 millones de parámetros y se entrenó con un variado conjunto de páginas web. Mostró resultados impresionantes en varias tareas de NLP, como son las respuestas a preguntas, el análisis de sentimientos y la traducción de idiomas.

•GPT-2 (2019): tenía 1500 millones de parámetros y se entrenó con más de ocho millones de páginas web. Mostró notables avances en la comprensión y generación de lenguaje, y se convirtió en una herramienta muy utilizada para diversas aplicaciones de NLP.

•GPT-3 (2020): tuvo el récord de 175 000 millones de parámetros y estableció un nuevo punto de referencia para la comprensión y generación de lenguaje. Se utilizó para diversas aplicaciones, como los chatbots, la traducción de idiomas y la creación de contenidos.

•GPT-3.5: la última versión del modelo, publicada tras un continuo perfeccionamiento y mejora por parte de OpenAI.

•GPT-4: puede resolver problemas difíciles con mayor precisión gracias a sus conocimientos generales más amplios y a su capacidad para resolver problemas.

Los desarrolladores pueden beneficiarse de la potencia de los modelos GPT sin tener la necesidad de entrenar sus propios modelos desde cero. Esta posibilidad puede ahorrar mucho tiempo y recursos, especialmente a los equipos más pequeños o a los desarrolladores individuales.

En la siguiente sección aprenderá a utilizar ChatGPT desde la web. Aprenderá a crear una cuenta OpenAI y a explorar la interfaz web de ChatGPT.

Uso de ChatGPT desde la web

Interactuar con ChatGPT a través del sitio web de OpenAI es increíblemente sencillo. OpenAI ofrece una interfaz basada en la web que se puede encontrar en https://chat.openai.com, lo que permite a los usuarios interactuar con el modelo sin necesidad de conocimientos previos de programación o configuración. Una vez que visite el sitio web, puede empezar a introducir sus preguntas o prompts, y el modelo generará y presentará la mejor respuesta posible o el texto generado. En particular, el sitio web de ChatGPT también proporciona a los usuarios varios ajustes y opciones que les permiten seguir el contexto de la conversación y guardar el historial de todas las interacciones con la IA. Este enfoque, rico en funciones de las interacciones con la IA basadas en la web, permite a los usuarios experimentar sin ningún esfuerzo con las capacidades del modelo y hacerse una idea de sus ingentes aplicaciones potenciales. Para empezar a utilizar la interfaz basada en la web tendrá que registrarse para obtener una cuenta en OpenAI, que se tratará en detalle en la siguiente sección. Una vez que haya creado una cuenta, podrá acceder a la interfaz web y empezar a explorar las capacidades del modelo, incluidos diversos ajustes y opciones para mejorar sus interacciones con la IA.

Creación de una cuenta de OpenAI

Antes de utilizar ChatGPT, o la API de ChatGPT, debe crear una cuenta en el sitio web de OpenAI, lo que le permitirá el acceso a todas las herramientas que la empresa ha desarrollado. Para ello, puede visitar https://chat.openai.com, donde se le pedirá que inicie sesión o que se registre para obtener una nueva cuenta, como se muestra en la Figura 1.1:

Figura 1.1Ventana de bienvenida de OpenAI.

Solo tiene que hacer clic en el botón Sign up y seguir las instrucciones para acceder a la ventana de registro (véase la Figura 1.2). A partir de ahí, tiene la opción de introducir su dirección de correo electrónico y hacer clic en Continue, o puede optar por registrarse utilizando su cuenta de Google o Microsoft. Una vez completado este paso, puede seleccionar una contraseña y validar su correo electrónico como en cualquier otro proceso de registro en un sitio web.

Una vez completado el proceso de registro, puede empezar a explorar todas las funciones de ChatGPT. Solo tiene que hacer clic en el botón Log in que aparece en la Figura 1.1 e introducir sus credenciales en la ventana de Log in. Al iniciar sesión con éxito, obtendrá acceso completo a ChatGPT y a todos los demás productos de OpenAI. Con este sencillo método de acceso podrá explorar sin problemastodas las posibilidades de ChatGPT y comprobar de primera mano por qué se ha convertido en una herramienta tan potente para las tareas de procesamiento del lenguaje natural (NLP).

Figura 1.2Ventana de registro de OpenAI.

Ahora puede explorar con más detalle las características y funcionalidades de la interfaz web de ChatGPT. Se mostrará cómo navegar por la interfaz y aprovechar al máximo sus diferentes opciones para obtener los mejores resultados posibles del modelo de IA.

Interfaz web de ChatGPT

Permite a los usuarios interactuar con el modelo de IA. Una vez que el usuario se registra en el servicio e inicia sesión, puede introducir prompts de texto o preguntas en una ventana de chat y recibir respuestas del modelo. Puede preguntar cualquier cosa a ChatGPT utilizando el campo de texto Send a message… La ventana de chat también muestra mensajes y prompts anteriores, lo que permite a los usuarios seguir el contexto de la conversación, como se muestra en la Figura 1.3:

Figura 1.3ChatGPT siguiendo el contexto de la conversación.

Además, ChatGPT permite a los usuarios registrar fácilmente el historial de sus interacciones con el modelo. Los registros de chat de los usuarios se guardan automáticamente, y se puede acceder a ellos más tarde desde la barra lateral izquierda para consultarlos o analizarlos. Esta función es especialmente útil para investigadores o particulares que quieran hacer un seguimiento de sus conversaciones con el modelo y evaluar su rendimiento a lo largo del tiempo. Los registros de chat también pueden utilizarse para entrenar otros modelos o comparar el rendimiento de distintos modelos. Ahora usted tiene la posibilidad de distinguir y utilizar los avances de los distintos modelos de ChatGPT. También puede utilizar ChatGPT desde la web, incluyendo la creación de una cuenta y la generación de claves de la API. La API de ChatGPT es flexible, personalizable y puede ahorrar tiempo y recursos a los desarrolladores, lo que la convierte en la opción ideal para chatbots, asistentes virtuales y la generación automatizada de contenidos. En la siguiente sección aprenderá a acceder fácilmente a la API de ChatGPT utilizando Python.

Primeros pasos con la API de ChatGPT

La API de ChatGPT es una interfaz de programación de aplicaciones desarrollada por OpenAI que permite a los desarrolladores interactuar con modelos de GPT (transformador generativo preentrenado o Generative Pretrained Transformer) para tareas de procesamiento del lenguaje natural (NLP). Esta API proporciona una interfaz fácil de usar para generar texto, completar prompts, responder preguntas y llevar a cabo otras tareas de NLP utilizando modelos de aprendizaje automático de última generación.

La API de ChatGPT se utiliza para chatbots, asistentes virtuales y la generación automática de contenidos. También puede emplearse para la traducción de idiomas, el análisis de sentimientos y la clasificación de contenidos. La API es flexible y personalizable, lo que permite a los desarrolladores realizar el ajuste fino del rendimiento del modelo según el caso de uso específico. Cabe descubrir ahora el proceso de obtención de una clave API. Este es el primer paso para acceder a la API de ChatGPT desde sus propias aplicaciones.

Obtención de la clave de la API

Para utilizar la API de ChatGPT deberá obtener una clave de la API. Se puede obtener en OpenAI. Esta clave le permitirá autenticar sus solicitudes a la API y garantizar que solo los usuarios autorizados puedan acceder a su cuenta.

Para obtener una clave de API, debe acceder a la plataforma OpenAI en https://platform.openai.com utilizando sus credenciales de ChatGPT. La página de la plataforma OpenAI proporciona un núcleo central para la gestión de sus recursos OpenAI. Una vez que se haya registrado, puede navegar hasta la página de acceso a la API: https://platform.openai.com/account/api-keys. En esta puede gestionar sus claves de la API para la API de ChatGPT y otros servicios OpenAI. Puede generar nuevas claves de la API, ver y editar los permisos asociados a cada clave y supervisar el uso que hace de las API. La página proporciona una visión clara de sus claves de la API, incluidos sus nombres, tipos y fechas de creación, y le permite revocar o devolver claves fácilmente según sea necesario.

Haga clic en el botón + Create new secret key y se creará su clave de la API:

Figura 1.4Creación de una clave de la API.

Después de crear su clave de la API, solo tendrá una oportunidad de copiarla (véase la Figura 1.5). Es importante que mantenga su clave de la API de forma segura y que sea confidencial, ya que cualquiera que tenga acceso a ella podría, potencialmente, entrar en su cuenta y utilizar sus recursos. También debe tener cuidado de no compartir su clave con usuarios no autorizados y evitar depositarla en repositorios públicos o compartirla en texto plano a través de canales que no sean seguros.

Figura 1.5Cómo guardar la clave de la API.

Al copiar y pegar la clave de la API en sus aplicaciones y scripts puede utilizar la API de ChatGPT. Examinemos ahora los tokens de ChatGPT y su implicación en el esquema de precios de OpenAI.

Tokens y precios de la API

Al trabajar con la API de ChatGPT es importante entender el concepto de token (unidad de información). Los tokens son las unidades básicas de texto que utilizan los modelos para procesar y comprender el texto de entrada y de salida.

Los tokens pueden ser palabras o fragmentos de texto formados por caracteres que se crean descomponiendo el texto en partes más pequeñas. Por ejemplo, la palabra “hamburger” se puede descomponer en “ham”, “bur” y “ger”, mientras que una palabra más corta como “pear” es un único token. Los tokens también pueden empezar con espacios en blanco, como “hello” o “bye”.

El número de tokens utilizados en una solicitud a la API depende de la longitud del texto de entrada y de salida. Como regla general, un token corresponde aproximadamente a 4 caracteres o 0,75 palabras de texto en inglés. Es importante tener en cuenta que la longitud combinada del texto del prompt y la respuesta generada no debe superar la longitud máxima del contexto del modelo. La Tabla 1.1 muestra los límites de tokens de algunos de los modelos de ChatGPT más populares.

MODELO

MÁXIMA CANTIDAD DE TOKENS (CONTEXTO)

gpt-4

8192 tokens

gpt-4-32k

32 768 tokens

gpt-3.5-turbo

4096 tokens

ppr-3.5-turbo-0125

16 385 tokens

Tabla 1.1Límites de la cantidad de tokens de los modelos de la API.

Para saber más sobre cómo se traduce el texto en tokens puede consultar la herramienta Tokenizer de OpenAI. La herramienta Tokenizer es un recurso útil que proporciona OpenAI para comprender cómo se traduce el texto en tokens. Esta herramienta descompone el texto en tokens individuales y muestra sus correspondientes desplazamientos de bytes, lo que puede resultar útil para analizar y comprender la estructura del texto.

Puede encontrar la herramienta Tokenizer en https://platform.openai.com/tokenizer. Para utilizar Tokenizer, basta con introducir el texto que desea analizar y seleccionar el modelo y la configuración adecuados. La herramienta generará entonces una lista de tokens junto con sus correspondientes desplazamientos de bytes (véase la Figura 1.6).

Figura 1.6La herramienta Tokenizer.

Los precios de la API de ChatGPT están estructurados de tal forma que se cobra por cada 1000 tokens procesados, con un cargo mínimo por la solicitud de la API. Esto significa que cuanto más largos sean los textos de entrada y salida, se procesarán más tokens y el coste será mayor. La Tabla 1.2 muestra el coste de procesar 1000 tokens para varios modelos de ChatGPT que se utilizan habitualmente.

MODELO

PROMPT (ESTÍMULO)

COMPLETION (RESPUESTA)

gpt-4

0.03 $/ 1000 tokens

0.06 $ / 1000 tokens

gpt-4-32k

0.06 $ / 1000 tokens

0.12 $/ 1000 tokens

gpt-3.5-turbo

0.0005 $/1000 tokens

0.0015 $/1000 tokens

gpt-3.5-turbo-0125

0.0005 $ / 1000 tokens

0.0015 $ / 1000 tokens

Tabla 1.2Esquema de precios de los modelos de la API de ChatGPT.

Nota importante

Es importante vigilar el uso de los tokens para evitar transacciones inesperadas. Puede realizar un seguimiento de su uso y controlar la información de facturación a través del panel de control Usage en: https://platform.openai.com/account/usage.

Como puede ver, ChatGPT tiene una interfaz fácil de usar que permite a los desarrolladores interactuar con modelos GPT para tareas de procesamiento del lenguaje natural. Los tokens son las unidades básicas de texto que utilizan los modelos para procesar y comprender el texto de entrada y de salida. La estructura de precios de la API de ChatGPT se basa en el número de tokens procesados, con un cargo mínimo por la solicitud de la API.

En la siguiente sección verá cómo configurar el entorno de desarrollo de Python para trabajar con la API de ChatGPT. Esto implica instalar Python y el entorno de desarrollo integrado (Integrated Development Environment, IDE) VS Code, configurar un entorno virtual e instalar los paquetes de Python necesarios. Además, le proporcionaremos instrucciones sobre cómo crear un entorno virtual de Python utilizando el módulo incorporado venv y cómo acceder a la pestaña Terminal en VS Code.

Configuración del entorno de desarrollo de Python

Antes de empezar a escribir su primer código es importante crear un entorno en el que trabajar e instalar las dependencias necesarias. Afortunadamente, Python dispone de un excelente sistema de herramientas para gestionar entornos virtuales. Los entornos virtuales de Python son un tema complejo, pero, para los propósitos del libro, es suficiente con saber que son entornos de Python aislados que están separados de la instalación global de Python. Este aislamiento permite a los desarrolladores trabajar con diferentes versiones de Python, instalar paquetes en el entorno y gestionar las dependencias del proyecto sin interferir con la instalación global de Python.

Para utilizar la API de ChatGPT en sus proyectos de NLP deberá configurar su entorno de desarrollo de Python. En esta sección se le indicarán los pasos necesarios para poder empezar, incluyendo los siguientes:

• Instalación de Python

• Instalación del IDE VS Code

• Instalación de pip

• Creación de un entorno virtual

• Instalación de los paquetes de Python necesarios

Un entorno de desarrollo correctamente configurado le permitirá realizar solicitudes a la API de ChatGPT y procesar las respuestas resultantes en su código Python.

Instalación de Python y del IDE VS Code

Python es un popular lenguaje de programación muy utilizado para diversos fines, como son el aprendizaje automático y el análisis de datos. Puede descargar e instalar la última versión de Python del sitio web oficial en https://www.python.org/downloads/ (véase la Figura 1.7). Para verificar que Python se ha instalado, puede abrir una terminal en su dispositivo y teclear lo siguiente:

$ python --version

Una vez que haya descargado el instalador de Python, simplemente siga las instrucciones para instalarlo en su ordenador. El siguiente paso es elegir un IDE para trabajar.

Figura 1.7Instalación de Python.

Una opción popular entre los desarrolladores de Python es VS Code, un IDE potente y fácil de usar. VS Code proporciona una amplia gama de características que facilitan el desarrollo de aplicaciones Python, lo que incluye el autocompletado de código, herramientas de depuración y capacidades de gestión de proyectos.

Para instalar VS Code, puede descargarlo de forma gratuita del sitio web de VS Code, https://code.visualstudio.com/download/. Una vez descargado el instalador, solo tiene que seguir las instrucciones para instalarlo en su ordenador.

Configuración del entorno virtual de Python

La configuración de un entorno virtual de Python es un paso crucial para crear un entorno de desarrollo aislado para su proyecto. Al crear un entorno virtual, puede instalar versiones específicas de paquetes y dependencias de Python sin interferir con otros proyectos de su sistema.