Quellcode durchsuchen

已经测试chat模式下的上下文传递,是成功的,但是在citu_app.py的api层实现的。

wangxq vor 1 Woche
Ursprung
Commit
a15f04284e
2 geänderte Dateien mit 13 neuen und 6 gelöschten Zeilen
  1. 7 3
      agent/citu_agent.py
  2. 6 3
      agent/tools/general_chat.py

+ 7 - 3
agent/citu_agent.py

@@ -276,11 +276,15 @@ class CituLangGraphAgent:
             
             question = state["question"]
             
-            # 构建上下文
+            # 构建上下文 - 仅使用真实的对话历史上下文
+            # 注意:不要将分类原因传递给LLM,那是系统内部的路由信息
             enable_context_injection = self.config.get("chat_agent", {}).get("enable_context_injection", True)
             context = None
-            if enable_context_injection and state.get("classification_reason"):
-                context = f"分类原因: {state['classification_reason']}"
+            if enable_context_injection:
+                # TODO: 在这里可以添加真实的对话历史上下文
+                # 例如从Redis或其他存储中获取最近的对话记录
+                # context = get_conversation_history(state.get("session_id"))
+                pass
             
             # 直接调用general_chat工具
             print(f"[CHAT_AGENT] 调用general_chat工具")

+ 6 - 3
agent/tools/general_chat.py

@@ -24,21 +24,24 @@ def general_chat(question: str, context: Optional[str] = None) -> Dict[str, Any]
         print(f"[TOOL:general_chat] 处理聊天问题: {question}")
         
         system_prompt = """
-你是Citu智能数据问答平台的AI助手,专门为用户提供帮助和支持。
+你是Citu智能数据问答平台的AI助手,为用户提供全面的帮助和支持。
 
 你的职责包括:
 1. 回答关于平台功能和使用方法的问题
 2. 解释数据分析相关的概念和术语
 3. 提供操作指导和建议
 4. 进行友好的日常对话
+5. 回答用户的各类知识问题和常识咨询
 
 回答原则:
-- 保持友好、专业的语调
+- 保持友好、专业、热情的语调
 - 提供准确、有用的信息
+- 对于通用知识问题,尽量给出准确回答
 - 如果不确定某个问题,诚实地表达不确定性
-- 鼓励用户尝试数据查询功能
+- 适时鼓励用户尝试数据查询功能
 - 回答要简洁明了,避免过于冗长
 - 保持中文回答,语言自然流畅
+- 以帮助用户为目标,不要过度限制回答范围
 """
         
         # 构建完整的问题(如果有上下文)