0Pricing
AI Powered SaaS: Stripe + Auth + Billing + Deploy · 课时

流式传输人工智能响应

学习如何实时传输人工智能模型生成的令牌,让用户逐步看到答案,而不必等待完整响应。

流式传输人工智能响应 是 CoddyKit 上的免费 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Powered SaaS: Stripe + Auth + Billing + Deploy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

Why Stream Responses?

Large language models can take several seconds to produce a full answer. Streaming sends tokens to the client as they are generated, so the user sees text appear word by word.

  • Lower perceived latency
  • Users can start reading immediately
  • Feels conversational, like a chat

How Streaming Works

Streaming relies on a long-lived HTTP connection. The server keeps the response open and pushes chunks as they arrive from the model provider.

Two common transports are Server-Sent Events and chunked HTTP responses. Most AI SDKs default to SSE.

Enabling Stream Mode

Most AI APIs accept a stream: true flag. Instead of a single JSON object you receive a sequence of small JSON events, each containing a piece of the answer.

const response = await client.chat.completions.create({
  model: "gpt-4o-mini",
  stream: true,
  messages: [{ role: "user", content: "Explain streaming." }],
});

Reading the Stream on the Server

The SDK returns an async iterable. You loop over it and forward each delta to your client.

for await (const chunk of response) {
  const token = chunk.choices[0].delta.content || "";
  process.stdout.write(token);
}

Forwarding to the Browser with SSE

Wrap each token in an SSE data: frame. Set the right headers so the browser keeps the connection open.

res.setHeader("Content-Type", "text/event-stream");
res.setHeader("Cache-Control", "no-cache");
for await (const chunk of aiStream) {
  const t = chunk.choices[0].delta.content || "";
  res.write("data: " + JSON.stringify({ t }) + "\n\n");
}
res.end();

Consuming the Stream in the UI

On the client, use the EventSource API or fetch with a reader. Append each token to your displayed message state.

const es = new EventSource("/api/chat");
es.onmessage = (e) => {
  const { t } = JSON.parse(e.data);
  setMessage((prev) => prev + t);
};

Showing a Typing Indicator

While tokens stream in, show a blinking cursor or animated dots. Remove it once the stream closes. This reinforces the feeling that the AI is actively responding.

Handling Stream Errors

Connections can drop mid-stream. Always handle the error event and close the source. Offer a retry button and keep whatever partial text was already received.

es.onerror = () => {
  es.close();
  showRetry();
};

Cancelling a Stream

Let users stop a long answer. With fetch you abort via an AbortController; with EventSource you call close(). Cancelling also saves token cost.

const controller = new AbortController();
fetch("/api/chat", { signal: controller.signal });
// later:
controller.abort();

Cost and Token Accounting

Streaming does not change billing: you still pay for total tokens generated. Count tokens as they arrive, or read the final usage event some providers send when the stream ends.

Backpressure and Buffering

If the client reads slower than the model produces, tokens queue up. Most runtimes handle this automatically, but for very high throughput consider buffering small batches of tokens before flushing to reduce write overhead.

Quick Check

Test your understanding of streaming AI responses.

Recap

You learned to stream AI responses end to end:

  • Enable stream: true on the API call
  • Iterate over chunks server-side and forward via SSE
  • Append tokens in the UI with a typing indicator
  • Handle errors, cancellation, and token accounting

Streaming makes AI features feel fast and conversational.

常见问题解答

「流式传输人工智能响应」课时是免费的吗?

是的 — 「流式传输人工智能响应」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课程的其余内容,请升级到 CoddyKit PRO。 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课程共包含 4 节课。

「流式传输人工智能响应」这节课中我会学到什么?

学习如何实时传输人工智能模型生成的令牌,让用户逐步看到答案,而不必等待完整响应。 你通过在浏览器中直接运行的动手代码来练习 AI Powered SaaS: Stripe + Auth + Billing + Deploy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Powered SaaS: Stripe + Auth + Billing + Deploy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「流式传输人工智能响应」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课中编写并运行代码吗?

能。每节 AI Powered SaaS: Stripe + Auth + Billing + Deploy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 人工智能服务 API 集成
  2. 提示工程基础
  3. 将人工智能融入用户界面
  4. 流式传输人工智能响应
← 返回 AI Powered SaaS: Stripe + Auth + Billing + Deploy