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
Los mensajes
Una conversación es una lista de mensajes, cada uno con un rol.
| Rol | Quién habla |
|---|---|
system | Tus instrucciones: el tono, el idioma, lo que el modelo debe hacer o evitar |
user | La persona o tu aplicación |
assistant | Las respuestas anteriores del modelo |
tool | El 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)const messages = [
{
role: "system",
content: "Answer in French, in plain words.",
},
{
role: "user",
content: "What must a privacy notice contain?",
},
]
const first = await client.chat.completions.create({
model: "flash",
messages,
})
// No memory between calls: send the whole conversation again.
messages.push(first.choices[0].message)
messages.push({
role: "user",
content: "Write one for a bakery with a web shop.",
})
const second = await client.chat.completions.create({
model: "flash",
messages,
temperature: 0.4,
})
console.log(second.choices[0].message.content)import type OpenAI from "openai"
const messages: OpenAI.ChatCompletionMessageParam[] = [
{
role: "system",
content: "Answer in French, in plain words.",
},
{
role: "user",
content: "What must a privacy notice contain?",
},
]
const first = await client.chat.completions.create({
model: "flash",
messages,
})
// No memory between calls: send the whole conversation again.
messages.push(first.choices[0].message)
messages.push({
role: "user",
content: "Write one for a bakery with a web shop.",
})
const second = await client.chat.completions.create({
model: "flash",
messages,
temperature: 0.4,
})
console.log(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)const response = await client.chat.completions.create({
model: "max",
reasoning_effort: "high",
messages: [
{ role: "user", content: "Compare these contracts." },
],
})
const message = response.choices[0].message
// How the model got there, then the answer.
console.log(message.reasoning_content)
console.log(message.content)import type { ChatCompletionMessage } from "openai/resources"
// Learnya adds the reasoning next to the answer,
// a field the OpenAI types do not declare.
type LearnyaMessage = ChatCompletionMessage & {
reasoning_content?: string
}
const response = await client.chat.completions.create({
model: "max",
reasoning_effort: "high",
messages: [
{ role: "user", content: "Compare these contracts." },
],
})
const message: LearnyaMessage = response.choices[0].message
// How the model got there, then the answer.
console.log(message.reasoning_content)
console.log(message.content)curl https://api.learnya.ai/v1/chat/completions \
-H "Authorization: Bearer $LEARNYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "max",
"reasoning_effort": "high",
"messages": [
{"role": "user", "content": "Compare these contracts."}
]
}'