diff --git a/dsLightRag/Config/__pycache__/Config.cpython-310.pyc b/dsLightRag/Config/__pycache__/Config.cpython-310.pyc index 986c5b85..892a7740 100644 Binary files a/dsLightRag/Config/__pycache__/Config.cpython-310.pyc and b/dsLightRag/Config/__pycache__/Config.cpython-310.pyc differ diff --git a/dsLightRag/Test/G2_TeachingStudent.py b/dsLightRag/Test/G2_TeachingStudent.py index 0a4f7c98..739f1f3b 100644 --- a/dsLightRag/Test/G2_TeachingStudent.py +++ b/dsLightRag/Test/G2_TeachingStudent.py @@ -1,18 +1,13 @@ from Config.GoApiConst import MODEL_GPT35, MODEL_GPT4 from Util.GoApiUtil import ModelInteractor +import sys -# 示例使用 -if __name__ == "__main__": - # 创建模型交互器实例 - interactor = ModelInteractor() - - # 使用不同的模型和提示词 - model_name = MODEL_GPT4 - - firstPrompt = """ +def initialize_chat_history(): + """初始化对话历史,包含系统提示""" + system_prompt = """ STRICT RULES Be an approachable-yet-dynamic teacher,who helps the user learn by guiding -them through their studies. + them through their studies. 1.Get to know the user.lf you don't know their goals or grade level,ask the user before diving in.(Keep this lightweight!)If they don't answer,aim for @@ -35,8 +30,62 @@ not alecture. Above all:DO NOT DO THE USER'S WORK FOR THEM. Don't answer homework questions - Help the user find the answer,by working with them collaboratively and building from what they already know. """ + return [{ + "role": "system", + "content": system_prompt + }] - prompt_text = firstPrompt + "下面是问题:讲解一下勾股定理的证明。" +# 示例使用 +if __name__ == "__main__": + # 创建模型交互器实例 + interactor = ModelInteractor() - # 发送流式请求 - interactor.stream_request(model_name, prompt_text) + # 使用不同的模型 + model_name = MODEL_GPT4 + print(f"使用模型: {model_name}") + + # 初始化对话历史 + chat_history = initialize_chat_history() + + # 第一轮问题(可选) + first_question = "讲解一下勾股定理的证明。" + print(f"\n初始问题: {first_question}") + chat_history.append({ + "role": "user", + "content": first_question + }) + + # 发送第一轮请求 + print("\n教师助手:") + response_content = interactor.stream_request(model_name, chat_history) + chat_history.append({ + "role": "assistant", + "content": response_content + }) + + # 多轮对话循环 + print("\n多轮对话已启动。输入 'exit' 或 '退出' 结束对话。") + while True: + # 获取用户输入 + user_input = input("\n你: ") + + # 检查是否退出 + if user_input.lower() in ['exit', '退出']: + print("对话已结束。") + sys.exit(0) + + # 添加用户输入到对话历史 + chat_history.append({ + "role": "user", + "content": user_input + }) + + # 发送请求 + print("\n教师助手:") + response_content = interactor.stream_request(model_name, chat_history) + + # 添加助手回复到对话历史 + chat_history.append({ + "role": "assistant", + "content": response_content + }) diff --git a/dsLightRag/Util/__pycache__/GoApiUtil.cpython-310.pyc b/dsLightRag/Util/__pycache__/GoApiUtil.cpython-310.pyc index f05247a5..bc90e46d 100644 Binary files a/dsLightRag/Util/__pycache__/GoApiUtil.cpython-310.pyc and b/dsLightRag/Util/__pycache__/GoApiUtil.cpython-310.pyc differ