From 32798cbaff373bd63f6376928d6c7ff6912c56df Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Sun, 29 Jun 2025 19:48:17 +0800 Subject: [PATCH] 'commit' --- dsRag/Start.py | 20 +------- dsRag/Util/ALiYunUtil.py | 23 ++++++++- .../__pycache__/ALiYunUtil.cpython-310.pyc | Bin 1283 -> 1927 bytes dsRag/错误日志.txt | 47 ++++++++++++++++++ 4 files changed, 70 insertions(+), 20 deletions(-) create mode 100644 dsRag/错误日志.txt diff --git a/dsRag/Start.py b/dsRag/Start.py index 525a29b7..fdb6eb33 100644 --- a/dsRag/Start.py +++ b/dsRag/Start.py @@ -133,25 +133,7 @@ async def rag_stream(request: fastapi.Request): search_results = queryByEs(query, query_tags, logger) # 流式调用大模型 - return StreamingResponse( - callLLM(request, query, search_results, logger, True), - media_type="text/event-stream" - ) - data = await request.json() - query = data.get('query', '') - query_tags = data.get('tags', []) - - # 调用es进行混合搜索 - search_results = queryByEs(query, query_tags, logger) - - # 调用大模型 - markdown_content = callLLM(request, query, search_results, logger, False) - - # 如果有正确的结果 - if markdown_content: - return {"data": markdown_content, "format": "markdown"} - - return {"data": "没有在知识库中找到相关的信息,无法回答此问题。"} + return callLLM(request, query, search_results, logger, True) if __name__ == "__main__": diff --git a/dsRag/Util/ALiYunUtil.py b/dsRag/Util/ALiYunUtil.py index 8d88d746..c186db61 100644 --- a/dsRag/Util/ALiYunUtil.py +++ b/dsRag/Util/ALiYunUtil.py @@ -25,4 +25,25 @@ class ALiYunUtil: ) return completion.choices[0].message.content except Exception as e: - return f"发生错误: {str(e)}" \ No newline at end of file + return f"发生错误: {str(e)}" + + async def chat_stream(self, prompt, model=None): + """ + 与阿里云大模型流式对话 + :param prompt: 用户输入的问题 + :param model: 可选,指定使用的模型 + :return: 异步生成器,返回模型流式响应 + """ + try: + stream = await self.client.chat.completions.create( + model=model or self.model_name, + messages=[ + {'role': 'user', 'content': prompt} + ], + stream=True + ) + async for chunk in stream: + if chunk.choices[0].delta.content: + yield chunk.choices[0].delta.content + except Exception as e: + yield f"发生错误: {str(e)}" \ No newline at end of file diff --git a/dsRag/Util/__pycache__/ALiYunUtil.cpython-310.pyc b/dsRag/Util/__pycache__/ALiYunUtil.cpython-310.pyc index a0ffb6f1ba8eaadd5c47d7b11273a0af26a9c251..676bd1617203c00c1d39b3e0d3ccc15ea2e0a77a 100644 GIT binary patch delta 725 zcmY+CUq}>D6vofFcV>26bzRLh?2l|4gcBu{(1UML4;5(-R*Ulz!``KJ(%tRuEY`By zt|=I#mW)K-J^-C9D9KPWafn!CAl+su)#)~*fdYl z^};C(^J0N{avK?C$`ri}OuYmJnx|(W7wWFLC=`^uVyjGR2V1j!ylcO^2?%%F&q1^( z!u_Ctqu=jED5wazCgyYM^6D7Q!2*%NC=7^HL4Bag?2a125is=ZSGjO__iTKc-g>^i zH8HudHsif|Q(a#279UqXj(X)M-pcCc%EDf$Be6;(tBeDQ|6d?^zxYyYMD~>jve`(zFOvw2Z^!)^Hz3 zSvnwK__;21t3(K(2)s?oI*Ee<6_v$@9E%5Kpx4m$dMfflX`BQmCzO2?DdAQ%4;nC_}_ F3N^W*tWU$v2pl83iW)VOC-knk>&^%&N)g yr^!0`6q^>1|BFpgfemOl2LlHqAA1oikm;w%7R8odkeZj6S;Pe7-