Traitement par lots

Concevoir des systèmes d’IA avec l’API OpenAI

Francesca Donadoni

Curriculum Manager, DataCamp

Que sont les limites de débit

Une personne au volant, arrêtée par un policier

Concevoir des systèmes d’IA avec l’API OpenAI

Comment surviennent les limites de débit

 

  • Trop de requêtes

    De nombreuses bulles de dialogue regroupées représentant plusieurs messages

 

  • Trop de texte dans la requête

    Une grande bulle avec des points sur fond blanc représentant un long message
Concevoir des systèmes d’IA avec l’API OpenAI

Éviter les limites de débit

 

  • Réessayer
    • Courte pause entre les requêtes

 

  • Traitement par lots
    • Traiter plusieurs messages en une requête

 

  • Réduire les tokens
    • Compter et réduire le nombre de tokens
Concevoir des systèmes d’IA avec l’API OpenAI

Réessaies

 

from tenacity import (
    retry,
    stop_after_attempt,
    wait_random_exponential
)

@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))
Concevoir des systèmes d’IA avec l’API OpenAI

Réessaies

 

@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
Concevoir des systèmes d’IA avec l’API OpenAI

Traitement par lots

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]
Concevoir des systèmes d’IA avec l’API OpenAI

Traitement par lots

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
Concevoir des systèmes d’IA avec l’API OpenAI

Réduire les 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
Concevoir des systèmes d’IA avec l’API OpenAI

Passons à la pratique !

Concevoir des systèmes d’IA avec l’API OpenAI

Preparing Video For Download...