Lotes

Desarrollar sistemas de IA con la API OpenAI

Francesca Donadoni

Curriculum Manager, DataCamp

¿Qué son los límites de velocidad?

Una persona conduciendo un coche, detenida por un policía

Desarrollar sistemas de IA con la API OpenAI

Cómo ocurren los límites de velocidad

 

  • Demasiadas solicitudes

    Muchos globos de diálogo en grupo que representan varios mensajes

 

  • Demasiado texto en la solicitud

    Un gran icono de bocadillo con puntos sobre fondo blanco que representa un mensaje largo
Desarrollar sistemas de IA con la API OpenAI

Evitar límites de velocidad

 

  • Reintentar
    • Espera corta entre solicitudes

 

  • Lotes
    • Procesar varios mensajes en una sola solicitud

 

  • Reducir tokens
    • Medir y reducir el número de tokens
Desarrollar sistemas de IA con la API OpenAI

Reintentos

 

from tenacity import (
    retry,
    stop_after_attempt,
    wait_random_exponential
)

@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))
Desarrollar sistemas de IA con la API OpenAI

Reintentos

 

@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))

def get_response(model, message): response = client.chat.completions.create( model=model, messages=[message], response_format={"type": "json_object"} ) return response.choices[0].message.content
Desarrollar sistemas de IA con la API OpenAI

Lotes

countries = ["United States", "Ireland", "India"]

message=[
    {
    "role": "system",
    "content": """You are given a series of countries and are asked to return the 
    country and capital city. Provide each of the questions with an answer in the 
    response as separate content.""",
    }]


[message.append({"role": "user", "content": i }) for i in countries]
Desarrollar sistemas de IA con la API OpenAI

Lotes

response = client.chat.completions.create(
      model="gpt-4o-mini",
      messages=message
    )

print(response.choices[0].message.content)
United States: Washington D.C.
Ireland: Dublin
India: New Delhi
Desarrollar sistemas de IA con la API OpenAI

Reducir tokens

 

import tiktoken


encoding = tiktoken.encoding_for_model("gpt-4o-mini")
prompt = "Tokens can be full words, or groups of characters commonly grouped together: tokenization."
num_tokens = len(encoding.encode(prompt))
print("Number of tokens in prompt:", num_tokens)
Number of tokens in prompt: 17
Desarrollar sistemas de IA con la API OpenAI

¡Vamos a practicar!

Desarrollar sistemas de IA con la API OpenAI

Preparing Video For Download...