前端 AI 对话的流式魔法:逐字显示是怎么做到的
我做了什么我们团队给一个 SaaS 运营平台做了一个 AI 助手面板——客服输入客户问题,AI 在面板里逐字输出回答,用户能看到每一个字被"打出来"的过程。整个过程不涉及页面刷新,不涉及轮询,用户输入问题后立刻开始显示文字。这件事看起来简单——“不就是调个 API 然后显示吗”——但实际上,大多数 HTTP 请求是"一次性拿到全部数据再渲染",而 AI 的回复动辄几百上千字,等全部生成完才显示的话,用户会盯着白屏8-15 秒,体验极差。关键问题是:怎么让前端的文字"一边生成一边显示"?起因:传统轮询和一次性请求的困境团队一开始的方案是"前端调后端 API,后端调 AI API,后端等 AI 全部生成完再一次性返回给前端"。代码大概长这样:// 后端constaiResult=awaitaiService.generate(messages);// 等待 8-15 秒return{data:aiResult.text};用户体验是:点发送 → 转圈 8-15 秒 → 文字一次性蹦出来。我们内部测试时,有同事以为页面卡住了点刷新——因为太安静了,没有任何中间反馈。换成轮询模式也好不到哪去:// 前端轮询consttimer=setInterval(async()={constres=awaitfetch('/api/status');const{text,done}=awaitres.json();setDisplayText(text);if(done)clearInterval(timer);},500);每 500ms 拉一次,文字是一块一块蹦出来的——“你好”“,我是”“AI助手”,像在玩贪吃蛇。用户问"对比一下 A/B 方案的优劣",等了 12 秒才出完答案,中间每 500ms 抽搐一次。工具接入:SSE 流式传输问题的根源是:后端和前端之间的传输通道不支持"边生成边传输"。解决方案是让 HTTP 响应变成一条流(Stream)——后端把 AI 生成的每一个 token 实时推送给前端,前端逐字渲染。我搭建了一个基于 Astro + Solid.js 的 demo 项目,完整实现了这个流式链路。前端发送请求的核心代码:constresponse=awaitfetch('/api/generate',{method:'POST',body:JSON.stringify({messages,temperature:0.6}),signal:controller.signal,});constreader=response.body.getReader()

相关新闻

Cadence 17.4 PCB布线:两段未连接线的接合技巧

Cadence 17.4 PCB布线:两段未连接线的接合技巧

1. Cadence 17.4中两段未连接线的接合方法在PCB设计过程中,经常会遇到需要将两段未连接的走线接合的情况。Cadence 17.4作为业界领先的EDA工具,提供了多种高效的方式来完成这一操作。下面我将详细介绍几种常用的方法,以及它们各自的适用场景和…

2026/7/5 6:46:45阅读更多 →
SPI接口EEPROM与PIC MCU的嵌入式存储优化实践

SPI接口EEPROM与PIC MCU的嵌入式存储优化实践

1. 25CSM04与PIC18LF46K80硬件架构解析25CSM04是一款采用SPI接口的4Mbit串行EEPROM芯片,内部组织为524,2888位结构。这款存储芯片有三个关键特性使其特别适合嵌入式系统的数据存储需求:首先,它支持高达20MHz的SPI时钟频率,这在同类…

2026/7/5 6:46:45阅读更多 →
基于MiGPT的小爱音箱智能对话改造方案

基于MiGPT的小爱音箱智能对话改造方案

基于MiGPT的小爱音箱智能对话改造方案 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt MiGPT通过将小爱音箱接入ChatGPT等大语言模型,…

2026/7/5 6:46:45阅读更多 →
KMX63运动传感器与STM32F722VE的工业HMI交互优化

KMX63运动传感器与STM32F722VE的工业HMI交互优化

1. 从传统按钮到运动感知:HMI的交互革命上周调试车间设备时,我注意到操作员在油腻环境中反复擦拭触摸屏的窘境。这种场景正是KMX63这类运动传感器大显身手的舞台——当传统交互方式遇到物理环境限制时,自然交互技术便成为破局关键。STM32F722…

2026/7/5 7:56:52阅读更多 →
EMA在AI和芯片架构领域的含义区分

EMA在AI和芯片架构领域的含义区分

在AI(人工智能)和芯片架构领域,EMA 是一个非常常见但含义截然不同的缩写。 在芯片架构领域,它指的是外部存储器访问(External Memory Access)。 在AI训练算法中,它也指指数移动平均(…

2026/7/5 7:56:52阅读更多 →
20 年深耕环保技术栈 16 项发明专利打底:越华环保王长历的数智化落地实践

20 年深耕环保技术栈 16 项发明专利打底:越华环保王长历的数智化落地实践

在工业环保装备向智能化升级的当下,很多开发者会好奇 AI、数字孪生技术如何在重资产的环保场景落地。越华环保集团创始人王长历,用 20 年的一线技术深耕给出了具象答案:从环境工程研发岗做起,以 16 项发明专利为核心底座&#xff…

2026/7/5 7:56:52阅读更多 →
从零上手Codex:AI编程助手重塑工作流实战指南

从零上手Codex:AI编程助手重塑工作流实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 你是不是经常听到“Codex”这个词,感觉它很强大,但又觉得它离自己很远,认为那是专业程序员才能玩转…

2026/7/5 7:56:52阅读更多 →
ICM-42688-P与STM32F423RH在工业控制与机器人中的应用

ICM-42688-P与STM32F423RH在工业控制与机器人中的应用

1. ICM-42688-P与STM32F423RH的黄金组合解析在机器人控制和工业监测领域,传感器精度与处理能力的平衡一直是工程师面临的挑战。ICM-42688-P作为TDK InvenSense推出的6轴MEMS运动传感器,与STMicroelectronics的STM32F423RH微控制器形成的解决方案&#xf…

2026/7/5 7:56:52阅读更多 →
BLDC电机FOC控制:A89307与MKV46F128VLH16的实战应用

BLDC电机FOC控制:A89307与MKV46F128VLH16的实战应用

1. 项目背景与核心目标在工业自动化、无人机和电动汽车等领域,无刷直流电机(BLDC)因其高效率、长寿命和低噪音特性,正逐步取代传统有刷电机。但实现高性能BLDC控制面临三大挑战:如何精确控制转子位置(无传感…

2026/7/5 7:51:52阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/5 0:01:08阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/5 0:01:08阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/5 0:01:08阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/5 1:30:27阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/5 3:48:10阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/5 3:48:09阅读更多 →