DocumentaciónConversación

Construir

Conversación

Unas instrucciones, una pregunta, una respuesta. Después, la continuación de la conversación, reenviando el historial en cada turno.

En esta página
  1. Los mensajes
  2. Varios turnos
  3. Los parámetros útiles
  4. Razonamiento

Los mensajes

Una conversación es una lista de mensajes, cada uno con un rol.

RolQuién habla
systemTus instrucciones: el tono, el idioma, lo que el modelo debe hacer o evitar
userLa persona o tu aplicación
assistantLas respuestas anteriores del modelo
toolEl resultado de una de tus funciones

Varios turnos

El modelo no guarda nada de una llamada a otra. Para continuar una conversación, reenvía toda la conversación con el mensaje nuevo.

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)

Los parámetros útiles

temperaturenúmero
Más bajo, respuestas más constantes. Más alto, más variadas. Si no lo ajustas, el modelo recibe el valor que hemos elegido para él.
max_tokensentero
La longitud máxima de la respuesta, reducida al límite del modelo si lo supera.
response_formatobjeto
Pide una respuesta en JSON, para leerla directamente desde tu código.
stoplista
Secuencias de caracteres que detienen la respuesta.

Razonamiento

Para una pregunta difícil, pide al modelo que reflexione antes de responder. El esfuerzo va de none a high. El razonamiento llega aparte, en 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)