liuzhiheng 11 horas atrás
pai
commit
71254b95c2

+ 2 - 2
knowledge_v2/function_knowledge.py

@@ -452,8 +452,8 @@ class FunctionKnowledge:
 
 if __name__ == "__main__":
     # 测试代码
-    question = "教资查分这个选题点怎么来的"
-    post_info = "发帖时间:2025.11.07"
+    question = "女儿的生日派对这个选题点怎么来的"
+    post_info = "发帖时间:2025-09-16"
     persona_info = ""
     
     try:

+ 10 - 4
knowledge_v2/llm_search_knowledge.py

@@ -265,6 +265,9 @@ class LLMSearchKnowledge:
             Exception: 合并失败时抛出异常
         """
         logger.info(f"[步骤3] 合并知识 - 共 {len(knowledge_texts)} 个文本")
+
+        if len(knowledge_texts) == 1:
+            return knowledge_texts[0]
         
         # 尝试从缓存读取
         if self.use_cache:
@@ -324,7 +327,7 @@ class LLMSearchKnowledge:
     
 
     
-    def get_knowledge(self, question: str, cache_key: str = None) -> str:
+    def get_knowledge(self, question: str, cache_key: str = None, need_generate_query: bool = True) -> str:
         """
         主方法:根据问题获取知识文本
         
@@ -350,7 +353,10 @@ class LLMSearchKnowledge:
             logger.info(f"{'='*60}")
             
             # 步骤1: 生成多个query
-            queries = self.generate_queries(actual_cache_key)
+            if need_generate_query:
+                queries = self.generate_queries(actual_cache_key)
+            else:
+                queries = [question]
             
             # 步骤2: 对每个query搜索知识
             knowledge_texts = self.search_knowledge_batch(actual_cache_key, queries)
@@ -375,7 +381,7 @@ class LLMSearchKnowledge:
             raise
 
 
-def get_knowledge(question: str, cache_key: str = None) -> str:
+def get_knowledge(question: str, cache_key: str = None, need_generate_query: bool = True) -> str:
     """
     便捷函数:根据问题获取知识文本
     
@@ -387,7 +393,7 @@ def get_knowledge(question: str, cache_key: str = None) -> str:
         str: 最终的知识文本
     """
     agent = LLMSearchKnowledge()
-    return agent.get_knowledge(question, cache_key=cache_key)
+    return agent.get_knowledge(question, cache_key=cache_key, need_generate_query=need_generate_query)
 
 
 if __name__ == "__main__":

+ 1 - 1
knowledge_v2/multi_search_knowledge.py

@@ -186,7 +186,7 @@ class MultiSearchKnowledge:
         # 1. 获取 LLM Search 知识
         try:
             logger.info("[渠道1] 调用 LLM Search...")
-            llm_knowledge = get_llm_knowledge(question, cache_key=actual_cache_key)
+            llm_knowledge = get_llm_knowledge(question, cache_key=actual_cache_key, need_generate_query = False)
             knowledge_map["LLM Search"] = llm_knowledge
             logger.info(f"✓ LLM Search 完成 (长度: {len(llm_knowledge)})")
             logger.info(f"✓ LLM Search 完成 (长度: {len(llm_knowledge)})")