H0-14 P1 | RAG Chat SSE 流式输出 + DeepSeek V4 Pro 思考过程展示 #71
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
背景
当前 AI 对话使用同步
fetch()一次性取结果,response_format: json_object模式下 DeepSeek V4 Pro 不输出reasoning_content(思考过程)。iOS 端全链路阻塞等待,无流式效果。需求
后端
DeepSeekProvider新增generateStream():stream: true,去掉response_format,ReadableStream 逐 chunk yieldAiProvider接口新增generateStream()方法AiGatewayService新增generateStream():透传 provider stream,流结束后汇总 usageRagChatService新增sendMessageStream():调 gateway stream,保存最终 AI 回复到 DBPOST /api/rag-chat/sessions/:id/streamSSE endpoint数据流
关联
后端实现完成 (2026-06-06)
改动文件
ai-provider.interface.tsStreamChunk类型 +generateStream()方法deepseek.provider.tsgenerateStream():stream: true,ReadableStream 逐 chunk yield,reasoning_content → thinkingai-gateway.service.tsgenerateStream():透传 provider stream + 记录用量rag-chat.service.tssendMessageStream():流式调用 + 保存最终回复到 DBrag-chat.controller.tsPOST /api/rag-chat/sessions/:id/streamSSE endpointSSE 数据格式
待完成
iOS 端 SSE 接收 + 思考过程 UI (ios-projects #38)
后端完成 (2026-06-06)
新增端点
POST /api/rag-chat/sessions/:id/stream— SSE 流式输出改动文件
ai-provider.interface.ts— StreamChunk 类型 + generateStream()deepseek.provider.ts— stream:true,ReadableStream yield thinking/contentai-gateway.service.ts— generateStream() 透传 + 记录用量rag-chat.service.ts— sendMessageStream() 流式调用rag-chat.controller.ts— SSE endpoint状态
✅ 完成。