DocumentationRéponses en flux
Construire
Réponses en flux
La réponse s’affiche pendant que le modèle l’écrit. La personne lit les premiers mots au lieu d’attendre la fin.
Sur cette page
Activer le flux
Ajoutez stream à true. La réponse arrive en événements serveur, chacun portant un morceau du texte.
stream = client.chat.completions.create(
model="flash",
messages=[
{"role": "user", "content": "Draft a payment reminder."}
],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(
chunk.choices[0].delta.content, end="", flush=True
)
if chunk.usage:
print("\n", chunk.usage.total_tokens, "tokens")const stream = await client.chat.completions.create({
model: "flash",
messages: [
{ role: "user", content: "Draft a payment reminder." },
],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
if (chunk.usage)
console.log("\n", chunk.usage.total_tokens, "tokens")
}import type { ChatCompletionChunk } from "openai/resources"
const stream: AsyncIterable<ChatCompletionChunk> =
await client.chat.completions.create({
model: "flash",
messages: [
{ role: "user", content: "Draft a payment reminder." },
],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "")
if (chunk.usage)
console.log("\n", chunk.usage.total_tokens, "tokens")
}curl -N https://api.learnya.ai/v1/chat/completions \
-H "Authorization: Bearer $LEARNYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flash",
"stream": true,
"messages": [
{"role": "user", "content": "Draft a payment reminder."}
]
}'Réponse
data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant","content":""}}]}
data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Dear Ms Keller,"}}]}
data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-91a7","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":17,"completion_tokens":96,"total_tokens":113}}
data: [DONE]Le format
| Événement | Ce qu’il porte |
|---|---|
delta.content | Le morceau de texte suivant |
delta.reasoning_content | Le raisonnement, quand vous l’avez demandé |
finish_reason | La raison de l’arrêt, sur le dernier morceau du texte |
usage | Le décompte des jetons, dans un dernier événement sans choix |
[DONE] | La fin du flux |
Les délais
- Un flux silencieux pendant deux minutes est coupé, avec un dernier événement d’erreur.
- Une réponse dure au plus dix minutes.
- Pour arrêter une réponse, fermez la connexion.