diff --git a/src/plugins/PFC/action_planner.py b/src/plugins/PFC/action_planner.py index 78f419360..23de9f0d3 100644 --- a/src/plugins/PFC/action_planner.py +++ b/src/plugins/PFC/action_planner.py @@ -231,15 +231,15 @@ class ActionPlanner: try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: - # 最多只显示最近的 3 条知识,防止 Prompt 过长 - recent_knowledge = conversation_info.knowledge_list[-3:] + # 最多只显示最近的 5 条知识,防止 Prompt 过长 + recent_knowledge = conversation_info.knowledge_list[-5:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): query = knowledge_item.get("query", "未知查询") knowledge = knowledge_item.get("knowledge", "无知识内容") source = knowledge_item.get("source", "未知来源") # 只取知识内容的前 2000 个字,避免太长 - knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 200 else knowledge + knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge knowledge_info_str += ( f"{i + 1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n" ) diff --git a/src/plugins/PFC/pfc_KnowledgeFetcher.py b/src/plugins/PFC/pfc_KnowledgeFetcher.py index 171ba7050..0989339df 100644 --- a/src/plugins/PFC/pfc_KnowledgeFetcher.py +++ b/src/plugins/PFC/pfc_KnowledgeFetcher.py @@ -78,8 +78,8 @@ class KnowledgeFetcher: knowledge_text = knowledge_text.strip() sources_text = ",".join(sources) - knowledge_text += "现在有以下**知识**可供参考:\n " + knowledge_text += "\n现在有以下**知识**可供参考:\n " knowledge_text += self._lpmm_get_knowledge(query) - knowledge_text += "请记住这些**知识**,并根据**知识**回答问题。\n" + knowledge_text += "\n请记住这些**知识**,并根据**知识**回答问题。\n" return knowledge_text or "未找到相关知识", sources_text or "无记忆匹配" diff --git a/src/plugins/PFC/reply_generator.py b/src/plugins/PFC/reply_generator.py index 134b2740d..b577872f6 100644 --- a/src/plugins/PFC/reply_generator.py +++ b/src/plugins/PFC/reply_generator.py @@ -142,18 +142,16 @@ class ReplyGenerator: try: # 检查 conversation_info 是否有 knowledge_list 并且不为空 if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list: - # 最多只显示最近的 3 条知识 - recent_knowledge = conversation_info.knowledge_list[-3:] + # 最多只显示最近的 5 条知识 + recent_knowledge = conversation_info.knowledge_list[-5:] for i, knowledge_item in enumerate(recent_knowledge): if isinstance(knowledge_item, dict): query = knowledge_item.get("query", "未知查询") knowledge = knowledge_item.get("knowledge", "无知识内容") source = knowledge_item.get("source", "未知来源") - # 只取知识内容的前 150 个字 - knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge - knowledge_info_str += ( - f"{i + 1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 - ) + # 只取知识内容的前 2000 个字 + knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge + knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁 else: knowledge_info_str += f"{i + 1}. 发现一条格式不正确的知识记录。\n"