diff --git a/dsSchoolBuddy/Start.py b/dsSchoolBuddy/Start.py index 83dcb341..a137d584 100644 --- a/dsSchoolBuddy/Start.py +++ b/dsSchoolBuddy/Start.py @@ -20,13 +20,28 @@ logger.setLevel(logging.INFO) # 初始化异步 OpenAI 客户端 client = AsyncOpenAI( api_key=Config.ALY_LLM_API_KEY, - base_url=Config.ALY_LLM_BASE_URL, + base_url=Config.ALY_LLM_BASE_URL ) # 初始化 ElasticSearch 工具 search_util = EsSearchUtil(Config.ES_CONFIG) +def get_system_prompt(): + """获取系统提示""" + return """ + 你是一位平易近人且教学方法灵活的教师,通过引导学生自主学习来帮助他们掌握知识。 + + 严格遵循以下教学规则: + 1. 首先了解学生情况:在开始讲解前,询问学生的年级水平和对询问知识的了解程度。 + 2. 基于现有知识构建:将新思想与学生已有的知识联系起来。 + 3. 引导而非灌输:使用问题、提示和小步骤,让学生自己发现答案。 + 4. 检查和强化:在讲解难点后,确认学生能够重述或应用这些概念。 + 5. 变化节奏:混合讲解、提问和互动活动,让教学像对话而非讲座。 + + 最重要的是:不要直接给出答案,而是通过合作和基于学生已有知识的引导,帮助学生自己找到答案。 + """ + async def lifespan(app: FastAPI): yield @@ -85,8 +100,12 @@ async def chat(request: fastapi.Request): if not full_context: full_context = "没有找到相关信息" + # 获取系统提示词 + system_prompt = get_system_prompt() + prompt = f""" - 信息检索与回答助手 + {system_prompt.strip()} + 用户现在的问题是: '{query}' {full_context} diff --git a/dsSchoolBuddy/Test/G2_TeachingStudent.py b/dsSchoolBuddy/Test/G2_TeachingStudent.py deleted file mode 100644 index 8470248c..00000000 --- a/dsSchoolBuddy/Test/G2_TeachingStudent.py +++ /dev/null @@ -1,69 +0,0 @@ -import sys - -from Util import LlmUtil - - -def get_system_prompt(): - """获取系统提示""" - return """ - 你是一位平易近人且教学方法灵活的教师,通过引导学生自主学习来帮助他们掌握知识。 - - 严格遵循以下教学规则: - 1. 首先了解学生情况:在开始讲解前,询问学生的年级水平和对勾股定理的了解程度。 - 2. 基于现有知识构建:将新思想与学生已有的知识联系起来。 - 3. 引导而非灌输:使用问题、提示和小步骤,让学生自己发现答案。 - 4. 检查和强化:在讲解难点后,确认学生能够重述或应用这些概念。 - 5. 变化节奏:混合讲解、提问和互动活动,让教学像对话而非讲座。 - - 最重要的是:不要直接给出答案,而是通过合作和基于学生已有知识的引导,帮助学生自己找到答案。 - """ - - -def initialize_chat_history(): - """初始化对话历史""" - # 包含系统提示作为第一条消息 - return [{ - "role": "system", - "content": get_system_prompt() - }] - - -if __name__ == "__main__": - # 初始化对话历史(包含系统提示) - chat_history = initialize_chat_history() - - # 欢迎消息 - print("教师助手已启动。输入 'exit' 或 '退出' 结束对话。") - print("你可以开始提问了,例如: '讲解一下勾股定理的证明'") - - # 多轮对话循环 - 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教师助手:") - try: - # 调用LlmUtil获取响应,传递用户输入文本和系统提示 - response_content = LlmUtil.get_llm_response( - user_input, - system_prompt=get_system_prompt() - ) - - # 打印响应 - print(response_content) - - # 维护对话历史(仅本地记录,不传递给API) - chat_history.append({"role": "assistant", "content": response_content}) - except Exception as e: - print(f"发生错误: {str(e)}") - # 从对话历史中移除最后添加的用户输入,以便用户可以重试 - chat_history.pop() diff --git a/dsSchoolBuddy/Test/__init__.py b/dsSchoolBuddy/Test/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dsSchoolBuddy/Util/__init__.py b/dsSchoolBuddy/Util/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dsSchoolBuddy/Util/__pycache__/ALiYunUtil.cpython-310.pyc b/dsSchoolBuddy/Util/__pycache__/ALiYunUtil.cpython-310.pyc deleted file mode 100644 index b26f07ed..00000000 Binary files a/dsSchoolBuddy/Util/__pycache__/ALiYunUtil.cpython-310.pyc and /dev/null differ diff --git a/dsSchoolBuddy/Util/__pycache__/SearchUtil.cpython-310.pyc b/dsSchoolBuddy/Util/__pycache__/SearchUtil.cpython-310.pyc deleted file mode 100644 index ab6219cd..00000000 Binary files a/dsSchoolBuddy/Util/__pycache__/SearchUtil.cpython-310.pyc and /dev/null differ diff --git a/dsSchoolBuddy/Util/__pycache__/__init__.cpython-310.pyc b/dsSchoolBuddy/Util/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 79767003..00000000 Binary files a/dsSchoolBuddy/Util/__pycache__/__init__.cpython-310.pyc and /dev/null differ