From 9703f7cc10b942dd7d3b4e758c1ae7a3241c764b Mon Sep 17 00:00:00 2001 From: huangfu <3045324663@qq.com> Date: Sun, 14 Sep 2025 21:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8D=95=E6=A8=A1=E5=BC=8F=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend_service/src/py_tree_generator.py | 28 +++++++++++------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/backend_service/src/py_tree_generator.py b/backend_service/src/py_tree_generator.py index f0baf086..263121db 100644 --- a/backend_service/src/py_tree_generator.py +++ b/backend_service/src/py_tree_generator.py @@ -636,27 +636,25 @@ class PyTreeGenerator: except Exception as e: logging.warning(f"分类失败,默认按复杂指令处理: {e}") - # 第二步:根据模式准备提示词与上下文 + # 第二步:根据模式准备提示词与上下文(简单与复杂都执行检索增强) # 基于模式选择提示词;复杂模式追加一条强制规则,避免模型误输出简单结构 use_prompt = self.simple_prompt if mode == "simple" else ( (self.complex_prompt or "") + "\n\n【强制规则】仅生成包含root的复杂行为树JSON,不得输出简单模式(不得包含mode字段或仅有action节点)。" ) final_user_prompt = user_prompt - retrieved_context = None - if mode == "complex": - retrieved_context = self._retrieve_context(user_prompt) - if retrieved_context: - augmentation = ( - "\n\n---\n" - "参考知识:\n" - "以下是从知识库中检索到的、与当前任务最相关的信息,请优先参考这些信息来生成行为树:\n" - f"{retrieved_context}" - "\n---" - ) - final_user_prompt += augmentation - else: - logging.warning("未检索到上下文或检索失败,将使用原始用户提示词。") + retrieved_context = self._retrieve_context(user_prompt) + if retrieved_context: + augmentation = ( + "\n\n---\n" + "参考知识:\n" + "以下是从知识库中检索到的、与当前任务最相关的信息,请优先参考这些信息来生成结果:\n" + f"{retrieved_context}" + "\n---" + ) + final_user_prompt += augmentation + else: + logging.warning("未检索到上下文或检索失败,将使用原始用户提示词。") for attempt in range(3): logging.info(f"--- 第 {attempt + 1}/3 次尝试生成Pytree ---") try: