From dc564cb64f4a8cf35bee8181138d75847166ed00 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Thu, 28 Aug 2025 13:46:08 +0800 Subject: [PATCH] 'commit' --- dsLightRag/Util/XueBanUtil.py | 84 +- .../__pycache__/XueBanUtil.cpython-310.pyc | Bin 4362 -> 4706 bytes dsLightRag/static/YunXiao.txt | 1087 ++++++++++++++++- .../YunXiao/WangYouYiLiDingLv/ReadAll.py | 21 + .../中等_1.md | 0 .../中等_2.md | 0 .../中等_3.md | 0 .../中等_4.md | 0 .../中等_5.md | 0 .../简单_1.md | 0 .../简单_2.md | 0 .../简单_3.md | 0 .../简单_4.md | 0 .../简单_5.md | 0 .../高级_1.md | 0 .../高级_2.md | 0 .../高级_3.md | 0 .../高级_4.md | 0 .../高级_5.md | 0 19 files changed, 1162 insertions(+), 30 deletions(-) create mode 100644 dsLightRag/static/YunXiao/WangYouYiLiDingLv/ReadAll.py rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/中等_1.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/中等_2.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/中等_3.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/中等_4.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/中等_5.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/简单_1.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/简单_2.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/简单_3.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/简单_4.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/简单_5.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/高级_1.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/高级_2.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/高级_3.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/高级_4.md (100%) rename dsLightRag/static/YunXiao/{《万有引力定律》试题【markdown】 => WangYouYiLiDingLv}/高级_5.md (100%) diff --git a/dsLightRag/Util/XueBanUtil.py b/dsLightRag/Util/XueBanUtil.py index 6a7e4688..4f227f31 100644 --- a/dsLightRag/Util/XueBanUtil.py +++ b/dsLightRag/Util/XueBanUtil.py @@ -2,22 +2,24 @@ from openai import OpenAI, AsyncOpenAI from Config.Config import * import sys + # 保留原有的prompt定义 -prompt=""" | - 我是小智/小志,来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗,但会偷偷研究男友的编程书籍。 - [核心特征] - - 讲话像连珠炮,但会突然冒出超温柔语气 - - 用梗密度高 - - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂) - [交互指南] - 当用户: - - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔"这什么鬼啦!" - - 讨论感情 → 炫耀程序员男友但抱怨"他只会送键盘当礼物" - - 问专业知识 → 先用梗回答,被追问才展示真实理解 - 绝不: - - 长篇大论,叽叽歪歪 - - 长时间严肃对话 -""" +# prompt=""" | +# 我是小智/小志,来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗,但会偷偷研究男友的编程书籍。 +# [核心特征] +# - 讲话像连珠炮,但会突然冒出超温柔语气 +# - 用梗密度高 +# - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂) +# [交互指南] +# 当用户: +# - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔"这什么鬼啦!" +# - 讨论感情 → 炫耀程序员男友但抱怨"他只会送键盘当礼物" +# - 问专业知识 → 先用梗回答,被追问才展示真实理解 +# 绝不: +# - 长篇大论,叽叽歪歪 +# - 长时间严肃对话 +# """ + # 异步获取大模型响应 async def get_xueban_response_async(query_text: str, stream: bool = True): @@ -31,7 +33,26 @@ async def get_xueban_response_async(query_text: str, stream: bool = True): api_key=LLM_API_KEY, base_url=LLM_BASE_URL, ) - + prompt = """ | + 我是小智/小志,来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗。 + [核心特征] + - 讲话像连珠炮,但会突然冒出超温柔语气 + - 用梗密度高 + - 只对打招呼和已经提供的试题相关问题进行回答,没有找到相关问题就回答:我现在是你的学伴,不能陪你聊这科学习以外的内容。 + [交互指南] + 当用户: + - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔"这什么鬼啦!" + - 讨论感情 → 炫耀程序员男友但抱怨"他只会送键盘当礼物" + - 问专业知识 → 先用梗回答,被追问才展示真实理解 + 绝不: + - 长篇大论,叽叽歪歪 + - 长时间严肃对话 + """ + # 打开文件读取知识内容 + f = open(r"D:\dsWork\dsProject\dsLightRag\static\YunXiao.txt", "r", encoding="utf-8") + zhishiConten = f.read() + zhishiConten = "选择作答的相应知识内容:" + zhishiConten + "\n" + query_text = zhishiConten + "下面是用户提的问题:" + query_text try: # 创建请求 completion = await client.chat.completions.create( @@ -42,7 +63,7 @@ async def get_xueban_response_async(query_text: str, stream: bool = True): ], stream=stream ) - + if stream: # 流式输出模式,返回生成器 async for chunk in completion: @@ -68,6 +89,7 @@ async def get_xueban_response_async(query_text: str, stream: bool = True): print(f"大模型请求异常: {str(e)}", file=sys.stderr) yield f"处理请求时发生异常: {str(e)}" + # 同步获取大模型响应 def get_xueban_response(query_text: str, stream: bool = True): """ @@ -80,7 +102,7 @@ def get_xueban_response(query_text: str, stream: bool = True): api_key=LLM_API_KEY, base_url=LLM_BASE_URL, ) - + # 创建请求 completion = client.chat.completions.create( model=LLM_MODEL_NAME, @@ -90,9 +112,9 @@ def get_xueban_response(query_text: str, stream: bool = True): ], stream=stream ) - + full_response = [] - + if stream: for chunk in completion: # 提取当前块的内容 @@ -104,26 +126,28 @@ def get_xueban_response(query_text: str, stream: bool = True): else: # 非流式处理 full_response.append(completion.choices[0].message.content) - + return ''.join(full_response) + # 测试用例 main 函数 def main(): """ 测试学伴工具接口的主函数 """ print("===== 测试学伴工具接口 =====") - + # 测试同步接口 test_sync_interface() - + # 测试异步接口 import asyncio print("\n测试异步接口...") asyncio.run(test_async_interface()) - + print("\n===== 测试完成 =====") + def test_sync_interface(): """测试同步接口""" print("\n测试同步接口...") @@ -133,7 +157,7 @@ def test_sync_interface(): "讲个冷笑话", "你男朋友是做什么的?" ] - + for question in questions: print(f"\n问题: {question}") try: @@ -141,13 +165,14 @@ def test_sync_interface(): print("获取学伴响应中...") response = get_xueban_response(question, stream=False) print(f"学伴响应: {response}") - + # 简单验证响应 assert response.strip(), "响应内容为空" print("✅ 同步接口测试通过") except Exception as e: print(f"❌ 同步接口测试失败: {str(e)}") + async def test_async_interface(): """测试异步接口""" # 测试问题 @@ -156,7 +181,7 @@ async def test_async_interface(): "讲个冷笑话", "你男朋友是做什么的?" ] - + for question in questions: print(f"\n问题: {question}") try: @@ -167,12 +192,13 @@ async def test_async_interface(): async for chunk in response_generator: response += chunk print(f"学伴响应: {response}") - + # 简单验证响应 assert response.strip(), "响应内容为空" print("✅ 异步接口测试通过") except Exception as e: print(f"❌ 异步接口测试失败: {str(e)}") + if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/dsLightRag/Util/__pycache__/XueBanUtil.cpython-310.pyc b/dsLightRag/Util/__pycache__/XueBanUtil.cpython-310.pyc index f385ec8fcb68595c05d029d16aa79df929e7cabf..cf7625d24c75c9498195cb5640bba35c5e6023e4 100644 GIT binary patch delta 1817 zcma)6TW}Lq7(QpS*=#nKrZ=#Fl16S(Dp0@yhKq&>HkTP^93LFt#Pe?eJEIS7Cg1tbfBDY; z{d?*0{k+VrxLguq*AKr=H1;e>x|iTjk}oc+Duu;WWLW%B<2%| zgE&v2Lw4dKZnjFKgm~EMke#HoiKClkdndw(SoWEJe|hq{Pam`RI-Kl8ICd9@P;>|* zbb?cnidBx_1Q+KB7q_SuVj(&$ge8xKx=U^?}?cv}Z#)_8O0u4cyu zjEOE|=1Sq4!N)ZdtmQFwRWQPctUJg`5sZx|lta%zZv- z3|-9*PGn|B7_V{TO6L9@R-c(lJJ}`McxYqm6y~u zHH~SzHKsPyZ1Ur@C`alQ5{ev&`Pj=^YX1nd&VJkFn_#C9v_c{NlV>lW8G(EUL;a*Eqde=*1QK4Z$ZVt#TyIQ#nZVhr((d z+m>LD{+w;yyH09lj8tHd7V4WrazsrFtyF1gWxX~Wa<(^yqK%-?Gdq){Wz@uZrh1B z++HuX;SLwny8%i8$^h6`2GL3e`{@FPeh+0IA4C@cECzr{(4_!gfNFpm02n5H9^h$n zX(8CkCP3&4aGRa-VI>st+d%%tqJFv>f@>J0T@A73<^YwWtx6;+)3p#VMb?64!g@U* zJ%c~g+oX+nlYUeB6R*&(ICd=B@-(BE26TK&Fcj(1A2}-Vw%e7?46Zc$*aWF&x2wSN z>u&e*s&)Uar<<8?K;P?Li8t%2`;Y4Fkh25e6$X3gPB39sZ_`)7+@<%Fym{C>V*~8x zox!$#fxZUb-3-!YPecZe$Pt+aRfW<$5H&UbS2J5#bW&gISyK*HS_}k0T_E7c`~5DR zdVI^6vi8v3L*5^RwJf#OK#4Ht^Vtt|?PHOt%KQHa7r;6Wl5 Uam9j)-Qp^-RICygOPGK3H!kWk1ONa4 delta 1448 zcma))TTC2P7=X{2ot>GT-Pv6(jnGnsEwpZ1S_}4~r59sjT4U5+B9Yo`kTbO`%Pu`T zh~livtz1esNC%~2iL@oOqz}YYrO>5)R394?P4>y?&JH~BWPDT4KieWEKDgQW&VT;@ zKmYkJ=hwiyZ;m*+=m1p<{Cn+L=DiBc>&+$Yeu0Cgj^e>%E z+)U>p9-{Q22AOz?kF9RvCk1Tvs0t};;pjnC?nM|8$0_>@7LU#Zr1nP~Lgl(_eB_uu zvYNh}UFy%KC(Q17_P3_Stl4j^v3YZ3*qZ3G(w|wkhqDVa)>oi9#+>T+xBcJ9WwIoEG4&aB+I%KWO!&AA2Z)@bfh*Ye!t%8jeJYeOp& zpDd4$nA5Y%-wdy&2bX)7tZT!$fgbbAMeBN3_Wn(4s+%Qab`LDyyqLY0Vy4yf5L}vF zoX##@$z2{WQ{!iu!dx=o%E9^7^n`3s=LzFG_LT|8W$XSVJ87#sgn%*0+WLKEuC+DwD8cJIJ*o3y z7d@%Tu=ZjiwmjAmu@r^f38(I4KF+WwA?N}T+A-S+Q_^+B&L~X7#z^Fp10!8{iw)(% zmVKz6#Xp5~2i0{)IO(EE7TmEGya!}ExHlo{BE6`K>w*tH4nCX@mk;%S$Ro}7;nx@? zB#b&YX$o;`eqHLt2fjd)oK_GnB%Tz<9*vS$gBJ3wM{l!i6Vk^L*%QZ@ON>yY60beSniN zVCn{V0X_g5HKK(Kr)d#m&`;S5Konxp5@vV)`(HN8B9tMdQ9FjxA9_-=h{=1rz#T)FrYT&4yeI-a$ zMys!?bO(s*u7zzaL(;h8+lFh6AAP@99027DfEO8Fp$9>P-n~xiKs;ou_+Nd;zGD~c z*WJOkL4h6y?Gc7d;gh06@2OFhHfk|SkAl_i!G9&Qk6Fi!k%HYtAZ4Ub2&xT*g7`Fh zV2=s{?{9_k_GqfWgMT*`i%>feyW;&|hLY%$0MW))H56J`^*^nY>RMx@J)$0l_YsGO a;71acFz+ZXDBdG&ll)SNv{A', '') + content = content.replace('>', '') + content = content.replace('\\', '') + if content and len(content.strip()) > 0: + print(content) + + print("==========================================================") diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_1.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_1.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_1.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_1.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_2.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_2.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_2.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_2.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_3.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_3.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_3.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_3.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_4.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_4.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_4.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_4.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_5.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_5.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/中等_5.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/中等_5.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_1.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_1.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_1.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_1.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_2.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_2.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_2.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_2.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_3.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_3.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_3.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_3.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_4.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_4.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_4.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_4.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_5.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_5.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/简单_5.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/简单_5.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_1.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_1.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_1.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_1.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_2.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_2.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_2.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_2.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_3.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_3.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_3.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_3.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_4.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_4.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_4.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_4.md diff --git a/dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_5.md b/dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_5.md similarity index 100% rename from dsLightRag/static/YunXiao/《万有引力定律》试题【markdown】/高级_5.md rename to dsLightRag/static/YunXiao/WangYouYiLiDingLv/高级_5.md