对接Agent时,流式接口消息存在批量返回问题

背景:今天对接后端 Agent 返回消息时,发现输出效果不如 ChatGPT、豆包或 deepseek 那样流畅。通过开发者工具查看发现,同一毫秒内会返回约 10 条消息,所以会造成消息一大块一大块的渲染,而不是像打字机那样丝滑,起初以为是算法或后端问题,经过排查才发现是 Nginx 代理层的默认缓冲设置导致的。

1. 为什么会出现这种情况?

Nginx 默认开了 proxy_buffering,会先把后端响应缓冲到内存里,攒够一部分数据后再一次性发给前端。

所以在 Nginx 配置里关掉:

bash 复制代码
proxy_buffering off;
chunked_transfer_encoding on;
proxy_cache off;

这样 Nginx 就会「边收到边转发」,前端就能逐条拿到流了。

解决方案如下:

(1)给nginx的proxy代理加这三行代码:

复制代码
proxy_buffering off; # 关闭响应缓冲 
chunked_transfer_encoding on; # 开启分块传输 
proxy_cache off; # 关闭缓存

若不想影响其他接口,只对某一个流式接口单独关闭代码缓冲,则单独加即可:

复制代码
 # 单独配置 /api/medical/AIChat/getReply
 location = /{{你的具体流式接口地址}} {
        proxy_pass {{你的域名}}/{{你的具体流式接口地址}}
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_buffering off;          # 关闭响应缓冲
        chunked_transfer_encoding on; # 开启分块传输
        proxy_cache off;              # 关闭缓存
    }

这样发到产线后就解决了

(2)本地开发环境如何解决?以我的vite.config.js为例:

bash 复制代码
proxy: {
  // 单独给 /api/AIChat/getReply 加特殊配置
  '/api/AIChat/getReply': {
    target: `${pythonDomain}/api/AIChat/getReply`,
    changeOrigin: true,
    ws: true,
    // 不做 rewrite,让它直通后端
    // 如果要 rewrite,也必须保持和后端路径一致
  },

  // 其它 /api 依然走原有规则
  '/api': {
    target: `${pythonDomain}/api`,
    changeOrigin: true,
    ws: true,
    rewrite: (path) => path.replace('/api', '')
  }
}

好了,本地开发环境与线上环境都解决了,快去试试吧!

相关推荐
诺伦6 小时前
Manus 2.0 推出个人 Agent 平台 Cue:通用编排与垂类闭环,架构差在哪 | RiseClaw玄策
架构设计·ai agent·manus·agent编排·增长运营agent
光依旧1 天前
day-trader-skill实测:让Claude Code当交易助理,纯Python+确定性+fail-closed
python·量化交易·ai agent·a股·风控·claude code·开源项目实测
技术小甜甜1 天前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
诺伦1 天前
Agent Skills 成开放标准:拆解「给 Agent 装技能」的架构与生态 | RiseClaw玄策
ai agent·agentic ai·agent skills·开放标准·agent编排
zzu123zsw1 天前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
诺伦1 天前
24GB 显存跑 740 亿参数 Agent:Nemotron 3.5 Bolt 本地部署工程拆解 | RiseClaw玄策
模型量化·ai agent·本地大模型·大模型部署·nvidia nemotron
只是甲1 天前
本体工程十五讲 | 第 2 篇:知识表示的载体谱系——从三元组到 YAML 字段
nl2sql·1024程序员节·ai agent·智能问数·本体建模
张彦峰ZYF2 天前
让 Agent 获得“手、脚与反射弧”: MHS 如何重构物理世界的长程自主化基础设施
人工智能·ai agent·mhs·可复用能力·治理、记忆、持久编排·工具路由和物理执行·长程agent五平面架构
张张123y3 天前
120B 模型单卡跑起来?拆解 Nemotron 3.5 的压缩三板斧与本地智能体部署
nvidia·模型量化·本地部署·ai agent·nemotron
xiezhr3 天前
你的WorkBuddy不好用,大概率是这些配置没设置好
ai·ai agent·国产ai·workbuddy