对接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', '')
  }
}

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

相关推荐
TGITCIC2 天前
讲透知识图谱Neo4j在构建Agent时到底怎么用(二)
人工智能·知识图谱·neo4j·ai agent·ai智能体·大模型落地·graphrag
zxy28472253013 天前
利用C#对接BotSharp本地大模型AI Agent示例(2)
人工智能·c#·api·ai agent·botsharp
TGITCIC3 天前
讲透知识图谱Neo4j在构建Agent时到底怎么用(一)
知识图谱·neo4j·ai agent·智能体·图搜索·ai智能体·graphrag
新知图书3 天前
扣子免费生成PPT的工作流
ai agent·智能体·扣子
Benny的老巢3 天前
Docker环境n8n连接Chrome DevTools Protocol的操作方法
docker·chrome devtools·ai agent·n8n·n8n工作流
zxy28472253014 天前
利用C#的BotSharp本地部署第一个大模型AI Agent示例(1)
人工智能·c#·对话·ai agent·botsharp
wengad4 天前
WSL下podman部署LazyCraft
podman·ai agent·智能体平台·lazycraft
新知图书6 天前
FastGPT工作流的节点
人工智能·fastgpt·ai agent·智能体·大模型应用开发
新知图书12 天前
FastGPT开发一个智能客服案例
人工智能·fastgpt·ai agent·智能体·大模型应用
问道飞鱼13 天前
【人工智能】AI Agent 详解:定义、分类与典型案例
人工智能·ai agent