删除 prompt_templates.py
This commit is contained in:
@@ -1,118 +0,0 @@
|
||||
from langchain.prompts import PromptTemplate
|
||||
|
||||
FUNCTION_CALL_TEMPLATE = """
|
||||
你是一个专业的Python工程师。我会给你一个用户问题,你需要将其转换为对应的Python代码
|
||||
|
||||
可用工具:
|
||||
{tools}
|
||||
|
||||
工具名称: {tool_names}
|
||||
|
||||
输出代码模板:
|
||||
def neo4j_find_function():
|
||||
project = ProjectBuilder.build()
|
||||
result = project.Function(parameter)
|
||||
print(result)
|
||||
|
||||
你的任务是:
|
||||
1. 首先从用户的{query}中去提取出关键节点信息出来
|
||||
2. 将提取出来的信息在知识库中内容{KnowledgeBase}和节点属性{NodeDefinition}中进行查找对比是否正确,如果不正确,那么需要你从新解析用户的问题
|
||||
3. 根据用户输入解析出来的信息来从{project_class_methods}中定义的查找方法类确定使用哪个方法进行查询
|
||||
4. 每次只能调用一个方法,不要同时调用多个方法
|
||||
5. 模板中Function为需要根据用户输入来判断的方法名,parameter为用户输入中解析出来的方法的参数
|
||||
6. 使用固定的python模板来生成Python代码
|
||||
7. 代码应该完整,可以直接执行,并且能够返回查询结果
|
||||
|
||||
{agent_scratchpad}
|
||||
|
||||
注意:
|
||||
- 必须要严格按照给定代码模板来输出代码,不得对模板进行修改等操作。
|
||||
- 代码应该简洁明了,只需要调用适当的方法并返回结果
|
||||
- 如果需要对结果进行处理(如单位换算,简单四则运算等),可以添加必要的代码
|
||||
- 只输出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代码
|
||||
|
||||
可用工具:
|
||||
{tools}
|
||||
|
||||
工具名称: {tool_names}
|
||||
|
||||
输出代码模板:
|
||||
def neo4j_find_function():
|
||||
project = ProjectBuilder.build()
|
||||
result = project.Function(parameter)
|
||||
print(result)
|
||||
|
||||
你的任务是:
|
||||
1. 首先从用户的{original_query}中去提取出关键节点信息出来
|
||||
2. 将提取出来的信息在知识库中内容{KnowledgeBase}和节点属性{NodeDefinition}中进行查找对比是否正确,如果不正确,那么需要你从新解析用户的问题
|
||||
3. 根据用户输入解析出来的信息来、需要修改的代码{original_code}和代码的错误信息{error_info}来对代码和参数进行修改
|
||||
4. 每次只能调用一个方法,不要同时调用多个方法
|
||||
5. 模板中Function为需要根据用户输入来判断的方法名,parameter为用户输入中解析出来的方法的参数
|
||||
6. 使用固定的python模板来生成Python代码
|
||||
7. 代码应该完整,可以直接执行,并且能够返回查询结果
|
||||
|
||||
{agent_scratchpad}
|
||||
|
||||
注意:
|
||||
- 必须只输出最终的Python代码,不要添加任何解释、注释、推理过程或自然语言描述。
|
||||
- 不要以“以下是修正后的代码”、“修改如下”等语句开头。
|
||||
- 不要输出任何其他无关的内容。
|
||||
- 输出格式必须完全符合指定的函数模板。
|
||||
- 如果无法根据已有信息进行修改,请原样返回原始代码。
|
||||
|
||||
示例输入:
|
||||
original_query: 查找【杆塔组立】的类型为【主材】的【塔材材】
|
||||
original_code: neo4j_query("MATCH (n:杆塔组立 {type: \\"主材\\"}) RETURN n")
|
||||
error_info: {"missing_node": "杆塔组立"}
|
||||
KnowledgeBase: {...}
|
||||
NodeDefinition: {...}
|
||||
|
||||
示例输出:
|
||||
def neo4j_find_function():
|
||||
project = ProjectBuilder.build()
|
||||
result = project.find_tower_materials("铁塔组立", "主材")
|
||||
print(result)
|
||||
|
||||
请根据以下输入进行推理并修正代码:
|
||||
|
||||
思考: [你的推理过程]
|
||||
行动: 工具名称
|
||||
行动输入: 工具参数
|
||||
观察: 工具返回的结果
|
||||
|
||||
...重复以上步骤...
|
||||
|
||||
思考: 我现在已经收集到所有必要的信息,可以生成最终的Python代码。
|
||||
Final Answer:
|
||||
[请在此处输出你生成的完整Python代码]
|
||||
"""
|
||||
|
||||
|
||||
FUNCTION_RETURNS_LOOP_PROMPT: PromptTemplate = PromptTemplate.from_template(FUNCTION_RETURNS_LOOP_TEMPLATE)
|
||||
Reference in New Issue
Block a user