main
HuangHai 2 weeks ago
parent de58d835f2
commit 5e5a057ae0

@ -1,3 +1,4 @@
import asyncio
import json
import logging
@ -76,18 +77,22 @@ async def rag(request: fastapi.Request):
vision_model_func=vision_model_func,
)
# 直接使用app.state中已初始化的rag实例
# 修改为直接获取完整响应
resp = await app.state.rag.aquery(
#user_prompt=user_prompt,
query=query,
mode="hybrid",
stream=True
stream=False # 改为False获取完整响应
)
print(resp)
async for chunk in resp:
if not chunk:
continue
# 将完整响应作为单个块返回
#yield f"data: {json.dumps({'reply': resp})}\n\n"
#print(resp, end='', flush=True)
# 添加逐字输出效果
for i in range(0, len(resp), 5): # 每次输出5个字符
chunk = resp[i:i + 5]
yield f"data: {json.dumps({'reply': chunk})}\n\n"
print(chunk, end='', flush=True)
await asyncio.sleep(0.1) # 控制输出速度
except Exception as e:
yield f"data: {json.dumps({'error': str(e)})}\n\n"
logger.error(f"处理查询时出错: {query}. 错误: {str(e)}")

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save