Prompt Engineering & LLM Optimization for Developers · Leçon

Diffuser les réponses des LLM aux utilisateurs

Fournissez des jetons à vos utilisateurs en temps réel. Découvrez le fonctionnement de la diffusion, ses effets sur la latence perçue et la manière de consommer une complétion diffusée dans le code.

Leçon 4 sur 413 étapes

Diffuser les réponses des LLM aux utilisateurs est une leçon Prompt Engineering & LLM Optimization for Developers gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Prompt Engineering & LLM Optimization for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Prompt Engineering & LLM Optimization for Developers comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Why Stream?

By default an LLM call returns the entire response only after generation finishes. For long answers this feels slow.

Streaming sends tokens as they are produced, so the user sees text appear word-by-word — drastically improving perceived responsiveness.

Time to First Token

Two latency numbers matter:

  • TTFT (time to first token): how long until the first word appears
  • Total time: until the full answer is ready

Streaming barely changes total time but makes TTFT the number your users actually feel.

Server-Sent Events

Most LLM APIs stream over Server-Sent Events (SSE): a long-lived HTTP response where each chunk is a small JSON event prefixed with data:.

The stream ends with a special [DONE] marker.

Enabling Streaming

You opt in by setting a flag on the request. The API then returns an iterable stream instead of a single object.

const stream = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: messages,
  stream: true
});

Reading Chunks

Each chunk carries a delta — the new piece of text. You concatenate deltas to rebuild the full message.

let full = "";
for await (const chunk of stream) {
  const piece = chunk.choices[0].delta.content || "";
  full += piece;
  process.stdout.write(piece);
}

Updating the UI

On the frontend you append each delta to the visible message. A simple approach: keep state and re-render on every token.

function onToken(token, setText) {
  setText(prev => prev + token);
}

Handling the Done Signal

When the stream closes, finalize: stop the typing indicator, persist the full message, and re-enable the input box.

stream.on("end", () => {
  saveMessage(full);
  hideTypingIndicator();
});

Errors Mid-Stream

A stream can fail halfway. Always wrap consumption in try/catch and show whatever partial text you already received rather than discarding it.

try {
  for await (const c of stream) { /* ... */ }
} catch (e) {
  showPartial(full);
  reportError(e);
}

Cancellation

Users may want to stop a long answer. Pass an AbortController signal so you can cancel the request and free server resources.

const controller = new AbortController();
client.chat.completions.create({ ...opts, signal: controller.signal });
// later
controller.abort();

Streaming with Tools

When the model is calling a function, tool-call arguments also arrive as deltas. Buffer them until the call is complete before executing the tool.

Cost & Token Counting

Streaming does not change cost — you still pay per token. To count usage, sum the tokens you received, or request a final usage event if the API supports it.

Quick Check

Test your streaming knowledge.

Recap

You learned to stream LLM responses: opt in with a stream flag, read incremental delta chunks over SSE, update the UI per token, handle the done signal, manage errors and cancellation, and remember streaming improves perceived latency without changing cost.

Gratuit pour commencer

Apprends Prompt Engineering & LLM Optimization for Developers avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Diffuser les réponses des LLM aux utilisateurs » est-elle gratuite ?

Oui — le texte complet de « Diffuser les réponses des LLM aux utilisateurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Prompt Engineering & LLM Optimization for Developers, passe à CoddyKit PRO. Le cours Prompt Engineering & LLM Optimization for Developers comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Diffuser les réponses des LLM aux utilisateurs » ?

Fournissez des jetons à vos utilisateurs en temps réel. Découvrez le fonctionnement de la diffusion, ses effets sur la latence perçue et la manière de consommer une complétion diffusée dans le code. Tu pratiques Prompt Engineering & LLM Optimization for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Prompt Engineering & LLM Optimization for Developers ?

Aucune expérience préalable n'est requise. Prompt Engineering & LLM Optimization for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Diffuser les réponses des LLM aux utilisateurs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Prompt Engineering & LLM Optimization for Developers ?

Oui. Chaque leçon Prompt Engineering & LLM Optimization for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Génération augmentée par récupération (RAG)
  2. Appel de fonctions et utilisation d’outils
  3. Créer des agents LLM simples
  4. Diffuser les réponses des LLM aux utilisateurs
← Retour à Prompt Engineering & LLM Optimization for Developers