OpenAI en tu proyecto de Python (Tutorial) GPT-3, DALL-E

instalación:

pip install openai

Configurar la API de OpenAI

Antes de utilizar la API de OpenAI, debes obtener una clave API para autenticarte en la plataforma. Puedes obtener una clave API gratuita registrándote en la página de OpenAI.

Una vez que tengas una clave API, puedes configurar la API en tu entorno de Python utilizando el siguiente código:

import openai_secret_manager

assert "openai" in openai_secret_manager.get_services()
secrets = openai_secret_manager.get_secret("openai")

print(secrets) # Example output: {'api_key': 'sk-XXXXXXXXXXXXXXXXXXXXXXXX'}

Generar texto con GPT-3

OpenAI proporciona un modelo de lenguaje natural llamado GPT-3 (Generative Pretrained Transformer 3) que es capaz de generar texto coherente y natural. Puedes utilizar la API de GPT-3 para generar texto utilizando el siguiente código:

import openai
import openai_secret_manager

model_engine = "text-davinci-002"
prompt = "El mejor libro que he leído este año ha sido"
max_tokens = 60

openai.api_key = openai_secret_manager.get_secret("openai")["api_key"]
response = openai.Completion.create(
  engine=model_engine,
  prompt=prompt,
  max_tokens=max_tokens
)

generated_text = response.choices[0].text.strip()
print(generated_text)

En este ejemplo, utilizamos el modelo text-davinci-002 de GPT-3 para generar texto a partir de la prompt (frase de inicio) «El mejor libro que he leído este año ha sido». El parámetro max_tokens indica el número máximo de palabras que el modelo puede generar. La respuesta de la API incluye varias opciones de texto generadas por el modelo, y utilizamos la primera opción (response.choices[0].text) para obtener el texto generado

Clasificar texto con DALL-E

OpenAI también proporciona modelos de visión artificial, como DALL-E, que son capaces de clasificar imágenes y generar imágenes a partir de descripciones de texto. Puedes utilizar la API de DALL-E para clasificar imágenes utilizando el siguiente código:

import openai
import openai_secret_manager
import requests
from requests.structures import CaseInsensitiveDict

import json

model_engine = "image-alpha-001"
api_key = openai_secret_manager.get_secret("openai")["api_key"]

QUERY_URL = "https://api.openai.com/v1/images/generations"

def generate_images(prompt):
    headers = CaseInsensitiveDict()
    headers["Content-Type"] = "application/json"
    headers["Authorization"] = f"Bearer {api_key}"

    data = """
    {
        """
    data += f'"model": "{model_engine}",'
    data += f'"prompt": "{prompt}",'
    data += """
        "num_images":1,
        "size":"512x512",
        "response_format":"url"
    }
    """

    resp = requests.post