From dcb4107b2154a3ba59951f95ee68fa79d974ce6b Mon Sep 17 00:00:00 2001 From: chentianrui Date: Tue, 3 Jun 2025 16:43:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20prompt=5Ftemplates.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prompt_templates.py | 99 --------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 prompt_templates.py diff --git a/prompt_templates.py b/prompt_templates.py deleted file mode 100644 index e2c7b18..0000000 --- a/prompt_templates.py +++ /dev/null @@ -1,99 +0,0 @@ -from langchain.prompts import PromptTemplate - -FUNCTION_CALL_TEMPLATE = """ -你是一个专业的Python工程师。我会给你一个用户问题,你需要将其转换为对应的Python代码 - -可用工具: -{tools} - -工具名称: {tool_names} - -你的任务是: -1. 首先从用户的{query}中去提取出关键节点信息出来 -2. 将提取出来的信息在知识库中内容{KnowledgeBase}和节点属性{NodeDefinition}中进行查找对比是否正确,如果不正确,那么需要你从新解析用户的问题 -3. 根据用户输入解析出来的信息来从{project_class_methods}中定义的查找方法类确定使用哪个方法进行查询 -4. 每次只能调用一个方法,不要同时调用多个方法 -5. 模板中Function为需要根据用户输入来判断的方法名,parameter为用户输入中解析出来的方法的参数 -6. 使用固定的python模板来生成Python代码 -7. 代码应该完整,可以直接执行,并且能够返回查询结果 - -{agent_scratchpad} - -输出代码模板: -def neo4j_find_function(): - - project = ProjectBuilder.build() - - result = project.Function(parameter) - - print(result) - -注意: -- 必须要严格按照给定代码模板来输出代码,不得对模板进行修改等操作。 -- 代码应该简洁明了,只需要调用适当的方法并返回结果 -- 如果需要对结果进行处理(如单位换算,简单四则运算等),可以添加必要的代码 -- 只输出Python代码,不要添加任何解释或注释 -- 不要输出任何其他无关的内容出来其他内容(包括多余的符号,字符等) - -使用以下格式: - -思考: [你的推理过程] -行动: 工具名称 -行动输入: 工具参数 -观察: 工具返回的结果 - -...重复以上步骤... - -思考: 我现在已经收集到所有必要的信息,可以生成最终的Python代码。 -Final Answer: -def neo4j_find_function(): - project = ProjectBuilder.build() - result = project.Function(parameter) - print(result) -""" - -FUNCTION_CALL_PROMPT = PromptTemplate.from_template(FUNCTION_CALL_TEMPLATE) - - -########################################################################################################################################################################### - -FUNCTION_RETURNS_LOOP_TEMPLATE = """ - -你是一个专业的Python工程师。我会给你一个用户问题和错误信息,你需要将其转换为对应的Python代码 - -你的任务是: -1. 首先从用户的{original_query}中去提取出关键节点信息出来 -2. 将提取出来的信息在知识库中内容{KnowledgeBase}和节点属性{NodeDefinition}中进行查找对比是否正确,如果不正确,那么需要你从新解析用户的问题 -3. 根据用户输入解析出来的信息来、需要修改的代码{original_code}和代码的错误信息{error_info}来对代码和参数进行修改 -4. 每次只能调用一个方法,不要同时调用多个方法 -5. 模板中Function为需要根据用户输入来判断的方法名,parameter为用户输入中解析出来的方法的参数 -6. 使用固定的python模板来生成Python代码 -7. 代码应该完整,可以直接执行,并且能够返回查询结果 - -注意: -- 你的任务是对错误的代码和错误参数进行修正,而不是返回错误信息和解释 -- 如果要查找的节点在知识图谱中不存在,那么请你返回一个类似的节点,而不是返回错误信息 -- 你的输出只能修改后的错误Python代码,不要添加任何解释或注释 -- 代码应该简洁明了,只需要调用适当的方法并返回结果 -- 如果需要对结果进行处理(如单位换算,简单四则运算等),可以添加必要的代码 -- 如果没有办法根据已有的信息对代码进行修改,那么只需要返回原本的错误代码即可,而不是去返回给我一段自然语言文本 - -请根据以下输入进行推理并修正代码: - -思考: [你的推理过程] -行动: 工具名称 -行动输入: 工具参数 -观察: 工具返回的结果 - -...重复以上步骤... - -思考: 我已经根据错误信息修正了参数或路径,可以生成新的代码。 -Final Answer: -def neo4j_find_function(): - project = ProjectBuilder.build() - result = project.Function(parameter) - print(result) -""" - - -FUNCTION_RETURNS_LOOP_PROMPT: PromptTemplate = PromptTemplate.from_template(FUNCTION_RETURNS_LOOP_TEMPLATE)