diff --git a/dsLightRag/Doc/5、在Word中录入Latex公式的方法.docx b/dsLightRag/Doc/5、在Word中录入Latex公式的方法.docx index ce90194a..b4c118a5 100644 Binary files a/dsLightRag/Doc/5、在Word中录入Latex公式的方法.docx and b/dsLightRag/Doc/5、在Word中录入Latex公式的方法.docx differ diff --git a/dsLightRag/Doc/AI数学模型解决初中问题调研结果汇报.docx b/dsLightRag/Doc/AI数学模型解决初中问题调研结果汇报.docx new file mode 100644 index 00000000..dfa9f3eb Binary files /dev/null and b/dsLightRag/Doc/AI数学模型解决初中问题调研结果汇报.docx differ diff --git a/dsLightRag/Start.py b/dsLightRag/Start.py index 65ade7a5..83f2ae6e 100644 --- a/dsLightRag/Start.py +++ b/dsLightRag/Start.py @@ -335,5 +335,37 @@ async def get_articles(page: int = 1, limit: int = 10): return {"code": 1, "msg": str(e)} +@app.post("/api/chat") +async def chat(request: fastapi.Request): + data = await request.json() + topic = 'ShiJi' + mode = data.get("mode", "hybrid") # 默认为hybrid模式 + # 拼接路径 + WORKING_PATH = "./Topic/" + topic + # 查询的问题 + query = data.get("query") + # 关闭参考资料 + user_prompt = "\n 1、总结回答时,要注意不要太繁琐!" + + async def generate_response_stream(query: str): + try: + rag = await initialize_rag(WORKING_PATH) + resp = await rag.aquery( + query=query, + param=QueryParam(mode=mode, stream=True, user_prompt=user_prompt, enable_rerank=True)) + + async for chunk in resp: + if not chunk: + continue + yield f"data: {json.dumps({'reply': chunk})}\n\n" + print(chunk, end='', flush=True) + except Exception as e: + yield f"data: {json.dumps({'error': str(e)})}\n\n" + finally: + # 清理资源 + await rag.finalize_storages() + + return EventSourceResponse(generate_response_stream(query=query)) + if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000)