DocumentationConversation

Construire

Conversation

Des consignes, une question, une réponse. Puis la suite de l’échange, en renvoyant l’historique à chaque tour.

Sur cette page
  1. Les messages
  2. Plusieurs tours
  3. Les paramètres utiles
  4. Raisonnement

Les messages

Une conversation est une liste de messages, chacun avec un rôle.

RôleQui parle
systemVos consignes : le ton, la langue, ce que le modèle doit faire ou éviter
userLa personne ou votre application
assistantLes réponses précédentes du modèle
toolLe résultat d’une de vos fonctions

Plusieurs tours

Le modèle ne garde rien d’un appel à l’autre. Pour continuer un échange, renvoyez toute la conversation avec le nouveau message.

messages = [
    {
        "role": "system",
        "content": "Answer in French, in plain words.",
    },
    {
        "role": "user",
        "content": "What must a privacy notice contain?",
    },
]
first = client.chat.completions.create(
    model="flash", messages=messages
)

# No memory between calls: send the whole conversation again.
messages.append(first.choices[0].message)
messages.append(
    {
        "role": "user",
        "content": "Write one for a bakery with a web shop.",
    }
)
second = client.chat.completions.create(
    model="flash", messages=messages, temperature=0.4
)
print(second.choices[0].message.content)

Les paramètres utiles

temperaturenombre
Plus bas, des réponses plus constantes. Plus haut, plus variées. Sans réglage, le modèle reçoit la valeur que nous avons choisie pour lui.
max_tokensentier
La longueur maximale de la réponse, ramenée au plafond du modèle si elle le dépasse.
response_formatobjet
Demande une réponse en JSON, pour la lire directement dans votre code.
stopliste
Des suites de caractères qui arrêtent la réponse.

Raisonnement

Pour une question difficile, demandez au modèle de réfléchir avant de répondre. L’effort va de none à high. Le raisonnement arrive à part, dans reasoning_content.

response = client.chat.completions.create(
    model="max",
    reasoning_effort="high",
    messages=[
        {
            "role": "user",
            "content": "Compare these contracts.",
        }
    ],
)
message = response.choices[0].message
# How the model got there, then the answer.
print(getattr(message, "reasoning_content", None))
print(message.content)