DocumentaçãoConversa

Construir

Conversa

Instruções, uma pergunta, uma resposta. Depois, a continuação da conversa, reenviando o histórico em cada interação.

Nesta página
  1. As mensagens
  2. Várias interações
  3. Os parâmetros úteis
  4. Raciocínio

As mensagens

Uma conversa é uma lista de mensagens, cada uma com uma função.

FunçãoQuem fala
systemAs tuas instruções: o tom, a língua, o que o modelo deve fazer ou evitar
userA pessoa ou a tua aplicação
assistantAs respostas anteriores do modelo
toolO resultado de uma das tuas funções

Várias interações

O modelo não guarda nada de uma chamada para a outra. Para continuar, reenvia a conversa inteira com a nova mensagem.

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)

Os parâmetros úteis

temperaturenúmero
Mais baixo, respostas mais constantes. Mais alto, mais variadas. Sem definição, o modelo recebe o valor que escolhemos para ele.
max_tokensinteiro
O comprimento máximo da resposta, reduzido ao limite do modelo se o ultrapassar.
response_formatobjeto
Pede uma resposta em JSON, para a ler diretamente no teu código.
stoplista
Sequências de caracteres que interrompem a resposta.

Raciocínio

Para uma pergunta difícil, pede ao modelo que pense antes de responder. O esforço vai de none a high. O raciocínio chega à parte, em 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)