Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://ai.aidalinfo.fr/llms.txt

Use this file to discover all available pages before exploring further.

agent.stream renvoie un flux asynchrone qui diffuse les tokens au fil de l’eau tout en exposant des promesses pour obtenir l’état final.
const stream = await assistant.stream({
  prompt: "Rédige un plan détaillé pour un guide sur AI Kit.",
  temperature: 0.5,
});

for await (const chunk of stream.textStream) {
  process.stdout.write(chunk);
}

const finalText = await stream.text;
console.log("\n---\n", finalText);

Propriétés principales

  • textStreamAsyncIterable<string> des tokens générés.
  • fullStream – flux complet incluant texte, raisonnement, tool calls et erreurs.
  • text, response, usage, steps – promesses qui consomment le flux pour produire un résultat agrégé.
  • loopTool – indicateur booléen déclenché lorsqu’une boucle d’outils est exécutée.
  • toAIStreamResponse() / toDataStreamResponse() – helpers pour exposer le flux via une réponse HTTP (Next.js, Remix, etc.).

Streaming conversationnel

const streamedChat = await assistant.stream({
  messages: [
    { role: "user", content: "Décris le cycle de vie d'un agent AI Kit." },
  ],
});

for await (const delta of streamedChat.textStream) {
  process.stdout.write(delta);
}

Sorties structurées en flux

En associant agent.stream et structuredOutput, vous recevez des fragments partiels pendant le stream, puis l’objet final après validation du schéma.
const streamWithSchema = await assistant.stream({
  prompt: "Fournis un profil de test au format structuré.",
  structuredOutput: personSpec,
});

let lastPartial;
for await (const partial of streamWithSchema.experimental_partialOutputStream) {
  lastPartial = partial;
  console.log("partial", partial);
}

const parsedOutput = await personSpec.parseOutput(
  { text: await streamWithSchema.text },
  {
    response: await streamWithSchema.response,
    usage: await streamWithSchema.usage,
    finishReason: await streamWithSchema.finishReason,
  },
);

console.log({ lastPartial, parsedOutput });
experimental_partialOutputStream diffuse des mises à jour incrémentales conformes au schéma Zod. Conservez le dernier fragment pour un rendu provisoire, puis parsez la réponse complète avec parseOutput.
L’association stream + structuredOutput reste expérimentale : prévoyez des stratégies de retry lorsque le parsing échoue.