API OpenAI de Python

27 de noviembre de 2023

Lang: cs en de es

No 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:

  1. 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.
  2. Proporcionar una inteligencia artificial segura y beneficiosa.
  3. 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.
  4. 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.
    openai-billing-overview
    openai-método-de-pago
    openai-historia-facturacion

    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. openai-api-key

    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. openai-usage-limits

    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 de clave, 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.


+