API OpenAI de Python
27 de noviembre de 2023No sólo puede utilizar ChatGPT a través de la interfaz web, sino que también puede utilizarlo en sus propias aplicaciones. Esto significa utilizar el programa para conectarse a ChatGPT utilizando una interfaz llamada API. En este tutorial describiré cómo empezar a utilizar la inteligencia artificial en el lenguaje de programación Python, concretamente OpenAI.
¿Qué es la IA?
La IA, o inteligencia artificial, es una rama de la informática que se ocupa del desarrollo de sistemas informáticos capaces de realizar tareas que normalmente requieren inteligencia humana.
Estas tareas pueden ser el reconocimiento de imágenes, el reconocimiento del habla, la traducción de idiomas, la toma de decisiones, el aprendizaje y muchas más.
El objetivo de la inteligencia artificial es crear sistemas informáticos capaces de comprender, aprender y responder a diferentes situaciones de forma similar al cerebro humano.
Existen varios enfoques de la inteligencia artificial, como el aprendizaje simbólico, los algoritmos evolutivos, las redes neuronales y el aprendizaje profundo.
Las redes neuronales, en particular, se han hecho muy populares recientemente y se utilizan para resolver tareas complejas como el reconocimiento de imágenes, voz y lenguaje natural.
La inteligencia artificial tiene una amplia gama de aplicaciones, incluidos los vehículos autónomos, el diagnóstico de enfermedades, el marketing personalizado, la automatización industrial y muchas otras áreas.
La IA puede ser fuerte (general) o estrecha (especializada).
La IA fuerte sería capaz de realizar cualquier tarea intelectual que pueda realizar un ser humano, mientras que la IA estrecha está diseñada para una tarea específica, como un asistente de voz o un sistema de recomendación.
Experiencia en inteligencia artificial
Llevo probando herramientas de IA desde que se publicaron por primera vez. Más información detallada y experiencias con varias herramientas de IA se pueden encontrar en el artículo Inteligencia Artificial: Dalle2, Chat GPT.
En cambio, en este artículo me centraré únicamente en el uso programático de OpenAI utilizando Python.
¿Qué es OpenAI?
OpenAI es una organización de investigación centrada en la inteligencia artificial (IA). Se fundó en diciembre de 2015 para promover y desarrollar tecnologías de IA en beneficio de toda la sociedad humana. La organización fue fundada por varias figuras destacadas del ámbito tecnológico, como Elon Musk, Sam Altman, Ilya Sutskever y Greg Brockman, entre otros.
OpenAI es una organización de investigación centrada en la inteligencia artificial (IA) para el beneficio de toda la sociedad humana.
OpenAI tiene dos misiones principales:
- Crear inteligencia artificial segura y beneficiosa: OpenAI busca avanzar en el campo de la inteligencia artificial al tiempo que garantiza, que esta tecnología se utilice en beneficio de toda la sociedad. Esto significa que la organización trata de minimizar los posibles impactos negativos de la IA en la sociedad y aborda cuestiones de seguridad y ética en la IA.
- Proporcionar una inteligencia artificial segura y beneficiosa.
- Proporcionar beneficio público: OpenAI se compromete a compartir sus conocimientos y descubrimientos investigados con el mundo. Esto incluye la publicación de algunos resultados de investigación científica y la liberación de algunas herramientas y modelos al público.
-
Hay que tener en cuenta que OpenAI, a pesar de tener "abierto" en su nombre, no es tan abierto como pretende y solía ser más abierto. Además es una entidad comercial, por lo que cualquier declaración y opinión oficial sobre caridad y utilidad debe tomarse con cautela.
OpenAI es conocida por su investigación en aprendizaje profundo y redes neuronales muy grandes. Los modelos desarrollados por OpenAI, como GPT (Generative Pre-trained Transformer), son actualmente (2023) uno de los mayores avances en el procesamiento del lenguaje natural y ya se utilizan en muchas aplicaciones como chatbots, compiladores y muchas otras.
Alternativas a la IA
Existen otras alternativas a OpenAI. Aquí están las dos principales alternativas:
- Google Cloud AI: La plataforma de Google proporciona una amplia gama de servicios de IA, incluyendo NLP (Procesamiento del Lenguaje Natural), aprendizaje automático y modelos generativos. Ofrece servicios como Google Cloud Natural Language API, Google Cloud Translation API y TensorFlow, que es un marco de aprendizaje automático.
- Google Cloud AI:La plataforma de Google ofrece una amplia gama de servicios de IA, como NLP (procesamiento del lenguaje natural), aprendizaje automático y modelos generativos.
- Microsoft Azure AI: Microsoft Azure ofrece varias herramientas para el aprendizaje automático, el reconocimiento de voz, el procesamiento del lenguaje natural y mucho más. Entre ellas se incluyen servicios como Azure Cognitive Services y Azure Machine Learning.
- Microsoft Azure AI:.
Conexiones - API
Puedes conectarte y usar OpenAI usando API. OpenAI proporciona una API REST a la que puedes llamar directamente o utilizar una librería que envuelve la llamada. Documentación de la API de OpenAI.
Si te interesa conocer más detalles sobre las API REST en la práctica, lee el artículo Cómo implementar API REST personalizadas en el lenguaje de programación PHP.
Clave de la API
Supongo que ya tienes una cuenta en https://chat.openai.com/. Para utilizar la API lo primero que necesitarás es obtener una clave API. Una clave API es una cadena única cuyo conocimiento demuestra que tienes derecho a usar la API y está vinculada a tu cuenta.
Después de entrar en la administración de tu cuenta OpenAI, puedes elegir un método de pago y cobrar, por ejemplo, 5 dólares.
Si no pagas IVA, tienes que pagar 6,05 € por cobrar 5 €, porque además se añade el IVA (21% en la República Checa).
A continuación, puedes generar tu clave API para utilizarla en tus aplicaciones.
Si cobras una cantidad mayor, es una buena idea establecer algunos límites en el uso de la API para que no consumas toda la cantidad por error o si se filtra la clave de la API.
Prueba las claves API
Puedes comprobar la funcionalidad de la clave en esta página https://www.chatwithgpt.ai/. Esta es una aplicación web clara que es un cliente de la API OpenAI y después de introducir su clave, puede enviar consultas a la API OpenAI.
Entorno Python
Prepararemos el entorno python incluyendo las librerías necesarias usando docker. He preparado una configuración de imagen docker desde la que luego soltarás el contenedor docker.
Aquí tienes el Dockerfile con la definición de la imagen docker:
FROM python:3.11.3 WORKDIR /app COPIAR requirements.txt . EJECUTAR pip install --upgrade pip setuptools RUN pip install --no-cache-dir -r requirements.txt
Para construir la imagen, utilice el comando:
docker build -t python-openai ./
Para iniciar un contenedor docker desde una imagen docker creada, utiliza el siguiente comando:
docker run -it --rm -v $PWD:/app -e OPENAI_API_KEY=clave --name python-openai-run python-openai /bin/bash
En lugar declave
, introduce tu clave API.Programa Python y API OpenAI
El código fuente de la aplicación está en el archivo
app.py
. Si lo has preparado todo bien, ya puedes ejecutar el programa desde la línea de comandos desde el contenedor:python app.py
La función principal que llama a ChatGPT tiene el siguiente aspecto:
def getdata(display, data,temperature): prompt=command+" ```"+data+"```" model="gpt-3.5-turbo" response = openai.ChatCompletion.create( model=model, # Puede utilizar otro modelo según sus preferencias temperature=temperatura, # Establezca la temperatura para las respuestas creativas max_tokens=500, # Establece el número máximo de tokens en la respuesta mensajes=[ {"role": "system", "content": "Usted: ¿cómo puedo ayudarle paciente?"}, {"role": "user", "content": prompt} ] ) # Obtener respuesta del modelo nova_response = respuesta.opciones[0].mensaje['contenido'] return nova_response
documentación detallada de la biblioteca OpenAI de Python
Códigos fuente
Puedes encontrar todo el código fuente de la aplicación y la configuración del entorno en mi perfil de GitHub, donde el repositorio es: GitHub Python OpenAI ejemplo.
Video tutorial
Completo videotutorial paso a paso sobre cómo utilizar la API OpenAI usando el lenguaje de programación Python:
Uso de OpenAI
En la práctica, utilicé la API de OpenAI en un hackathon en el que programé una aplicación que traducía informes médicos a un texto comprensible para un no experto.
En este enlace está presentación de un proyecto usando inteligencia artificial. Aquí tienes más de mis presentaciones y charlas.ChatGPT es genial por ejemplo:
- cuando necesitas reformular algún texto
- cuando te gustaría tener un colega para discutir un tema
- como motor de búsqueda más inteligente
- generar texto
- generar programas de ejemplo
Modelos y precio
ChatGPT tiene diferentes modelos de idiomas. Las diferencias son diferentes. Por ejemplo, también difieren en el precio. Los detalles de las versiones del modelo de lenguaje a utilizar y la política de precios se pueden encontrar en esta url: https://platform.openai.com/docs/deprecations
Puede consultar el uso de la API y por tanto el crédito aquí: https://platform.openai.com/account/usage
Artículos sobre un tema similar
Análisis de la asignación y fijación de precios del desarrollo de proyectos de software
Programa Python para controlar Docker mediante la API
Cómo utilizar MailCatcher para probar correos electrónicos
Creación de una aplicación web WebSocket y configuración de un proxy
Gestión de proyectos: desarrollo ágil de software
Cómo ejecutar aplicaciones PHP antiguas
Lo que debe saber un buen programador
Lenguaje de programación Rust
NodeJS: desarrollo, configuración del servidor
Fallo de seguridad de Nette CVE-2020-15227
API REST: API de plataforma
Alojamiento web y de correo personalizado con el software ISP Config
Programación en SQL: PostgreSQL, MySQL/MariaDB
HTTPS: web segura
Base de datos NoSQL Mongo DB
Connecting to Microsoft SQL Server from Linux
¿Cuál es la descripción del trabajo de un programador?
Localización de aplicaciones Python
Qué correo y alojamiento web elegir
Digispark - Programar microcontrolador Atmel ATtiny con Arduino IDE
Desarrollo para procesadores ARM con Arduino IDE
Cómo programar el procesador WiFi ESP8266
Smartphone abierto con Linux - Openmoko Neo FreeRunner
Boletin informativo
Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email
suscripción de noticias.
+