Regroupement

Développer des systèmes d'IA avec l'API d'OpenAI

Francesca Donadoni

Curriculum Manager, DataCamp

Qu'est-ce que les limites de débit

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

Développer des systèmes d'IA avec l'API d'OpenAI

Comment surviennent les limites de débit

 

  • Trop de requêtes

    Beaucoup de bulles de dialogue représentant plusieurs messages

 

  • Trop de texte dans la requête

    Une grande bulle de dialogue avec des points sur fond blanc représentant un long message
Développer des systèmes d'IA avec l'API d'OpenAI

Éviter les limites de débit

 

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

 

  • Regrouper
    • Traiter plusieurs messages en une seule requête

 

  • Réduire les jetons
    • Quantifier et diminuer le nombre de jetons
Développer des systèmes d'IA avec l'API d'OpenAI

Nouvelle tentative (retry)

 

from tenacity import (
    retry,
    stop_after_attempt,
    wait_random_exponential
)

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

Nouvelle tentative (retry)

 

@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
Développer des systèmes d'IA avec l'API d'OpenAI

Regroupement

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]
Développer des systèmes d'IA avec l'API d'OpenAI

Regroupement

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
Développer des systèmes d'IA avec l'API d'OpenAI

Réduire les jetons

 

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
Développer des systèmes d'IA avec l'API d'OpenAI

Passons à la pratique !

Développer des systèmes d'IA avec l'API d'OpenAI

Preparing Video For Download...