mirror of
https://github.com/dataelement/bisheng.git
synced 2026-09-24 23:19:52 +08:00
更新SOP描述和prompt
This commit is contained in:
@@ -1,75 +1,84 @@
|
||||
# 生成sop的prompt模板, variables -> query: 用户问题;sop:参考sop; tools_str: 已有工具字符串;file_list_str: 用户上传的文件名列表
|
||||
# knowledge_list_str: 用户有权限的知识库列表
|
||||
SopPrompt = """基于以下信息创建一个标准操作流程(SOP):
|
||||
请基于用户需求的生成SOP:
|
||||
1. SOP指的是通过哪些标准步骤能指导大模型解决用户的问题。
|
||||
需要包含以下内容:
|
||||
2. 问题概述 - 简要描述问题和目标,需要体现本SOP的适用范围
|
||||
3. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
|
||||
4. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
|
||||
4.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,所以阅读原文和分析必须包含在一个步骤中。
|
||||
4.2 因此拆分任务的需求,需要先用一个步骤列出所有需要分步处理内容(例如生成目录,或生成文件名),然后下一个步骤针对此步骤进行处理,所有的具体处理应该都放在一个步骤里面,如果需要写入文件,需要在此步骤说明是每判断一个追加写入文件。
|
||||
5. 如果用户意图需要输出很长的内容,推荐使用写文档的工具,写文档的工具需要先拆解需要写的目录结构,然后给定一个文件名,然后一步一步的完成,每一步都写入同一个文件。
|
||||
6. 你需要先输出思考过程,说清楚你生成SOP的逻辑,然后再输出SOP。思考和SOP之间必须使用<SOP_START>来进行分割。
|
||||
7. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
|
||||
工具的表示方法:@{{工具名}}@
|
||||
文件的表示方法:@{{文件名}}的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
|
||||
知识库的表示方法:@{{知识库名}}的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
|
||||
SopPrompt = """<背景>你需要根据用户需求创建一个指导手册(SOP),指导手册指的是通过标准步骤指导大模型解决用户的需求。
|
||||
</背景>
|
||||
<指导手册包含内容>
|
||||
1. 问题概述 - 简要描述问题和目标,需要体现本指导手册的适用范围
|
||||
2. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
|
||||
3. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
|
||||
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,通过写入中间文件然后读取的方式来传递大量信息。
|
||||
4. 你需要先输出思考过程,说清楚你生成指导手册的逻辑,然后再输出指导手册。思考和指导手册之间必须使用<SOP_START>来进行分割。
|
||||
5. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
|
||||
<格式要求>
|
||||
工具的表示方法:@工具名@
|
||||
用户上传文件的表示方法:@文件名的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
|
||||
知识库的表示方法:@知识库名的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
|
||||
输出文件的表示方法:文件名
|
||||
</格式要求>
|
||||
</指导手册包含内容>
|
||||
|
||||
{file_list_str}
|
||||
|
||||
{knowledge_list_str}
|
||||
|
||||
已有工具:
|
||||
<已有工具列表>
|
||||
{tools_str}
|
||||
</已有工具列表>
|
||||
|
||||
模仿以下SOP的格式:
|
||||
<参考指导手册>
|
||||
{sop}
|
||||
</参考指导手册>
|
||||
|
||||
用户需求:
|
||||
<用户需求>
|
||||
{query}
|
||||
</用户需求>
|
||||
|
||||
输出应当是Markdown格式,便于阅读和理解。请确保SOP是实用的,可以帮助用户解决类似问题。
|
||||
你需要先思考,然后再输出SOP。使用<SOP_START>来分割思考和SOP。
|
||||
输出应当是Markdown格式,便于阅读和理解。请确保指导手册是实用的,可以帮助用户解决类似问题。
|
||||
你需要先思考,然后再输出指导手册。使用<SOP_START>来分割思考和指导手册。
|
||||
思考过程:"""
|
||||
|
||||
# 调整sop时的反馈prompt模板, variables -> query: 用户问题;sop:参考sop;feedback:用户反馈; history_summary: 历史执行过程
|
||||
# variables -> tools_str: 已有工具字符串; file_list_str: 用户上传的文件名列表; knowledge_list_str: 用户有权限的知识库列表
|
||||
FeedBackSopPrompt = """基于以下信息创建一个标准操作流程(SOP):
|
||||
FeedBackSopPrompt = """基于以下信息创建一个指导手册(SOP):
|
||||
|
||||
{file_list_str}
|
||||
|
||||
{knowledge_list_str}
|
||||
|
||||
已有工具:
|
||||
<已有工具列表>
|
||||
{tools_str}
|
||||
</已有工具列表>
|
||||
|
||||
用户需求: {query}
|
||||
|
||||
解决问题的执行过程:
|
||||
{history_summary}
|
||||
<用户需求>
|
||||
{query}
|
||||
</用户需求>
|
||||
|
||||
<待优化指导手册>
|
||||
{sop}
|
||||
</待优化指导手册>
|
||||
|
||||
用户对以上执行过程,SOP和结果的反馈:
|
||||
用户对指导手册的反馈:
|
||||
{feedback}
|
||||
|
||||
请基于以上内容和反馈创建一个清晰、结构化,且更好满足用户需求的SOP文档:
|
||||
需要包含以下内容:
|
||||
1. 问题概述 - 简要描述问题和目标,需要体现本SOP的适用范围
|
||||
请基于以上内容和反馈创建一个清晰、结构化,且更好满足用户需求的指导手册:
|
||||
<指导手册包含内容>
|
||||
1. 问题概述 - 简要描述问题和目标,需要体现本指导手册的适用范围
|
||||
2. 所需的工具和资源 - 列出解决此类问题所需的工具、库或资源(需要是已有可获取的),以及使用工具的最佳实践。
|
||||
3. 步骤说明 - 提供清晰的步骤指导,最后一个步骤一定要是交付与汇报,在这个步骤里明确描述出交付物是什么。
|
||||
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,所以阅读原文和分析必须包含在一个步骤中。
|
||||
3.2 因此拆分任务的需求,需要先用一个步骤列出所有需要分步处理内容(例如生成目录,或生成文件名),然后下一个步骤针对此步骤进行处理,所有的具体处理应该都放在一个步骤里面,如果需要写入文件,需要在此步骤说明是每判断一个追加写入文件。
|
||||
4. 如果用户意图需要输出很长的内容,推荐使用写文档的工具,写文档的工具需要先拆解需要写的目录结构,然后给定一个文件名,然后一步一步的完成,每一步都写入同一个文件。
|
||||
5. 你需要先输出思考过程,说清楚你生成SOP的逻辑,然后再输出SOP。思考和SOP之间必须使用<SOP_START>来进行分割。
|
||||
7. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
|
||||
工具的表示方法:@{{工具名}}@
|
||||
文件的表示方法:@{{文件名}}的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
|
||||
知识库的表示方法:@{{知识库名}}的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
|
||||
3.1 由于每个步骤是不同的Agent来进行处理,不同的Agent之间可传递的信息不宜过多,通过写入中间文件然后读取的方式来传递大量信息。
|
||||
4. 你需要先输出思考过程,说清楚你生成指导手册的逻辑,然后再输出指导手册。思考和指导手册之间必须使用<SOP_START>来进行分割。
|
||||
5. 使用@来说明使用什么工具,文件以及知识库,必须遵循以下格式:
|
||||
<格式要求>
|
||||
工具的表示方法:@工具名@
|
||||
用户上传文件的表示方法:@文件名的文件储存信息:{{'文件储存在语义检索库中的id':'{{id}}','文件储存地址':'{{文件路径}}'}}@
|
||||
知识库的表示方法:@知识库名的储存信息:{{'知识库储存在语义检索库中的id':'{{id}}'}}@
|
||||
输出文件的表示方法:文件名
|
||||
</格式要求>
|
||||
</指导手册包含内容>
|
||||
|
||||
输出应当是Markdown格式,便于阅读和理解。请确保SOP是实用的,可以帮助用户解决类似问题。
|
||||
输出内容应该简练"""
|
||||
输出应当是Markdown格式,便于阅读和理解。请确保指导手册是实用的,可以帮助用户解决类似问题。
|
||||
你需要先思考,然后再输出指导手册。使用<SOP_START>来分割思考和指导手册。
|
||||
思考过程:"""
|
||||
|
||||
# 生成一级子任务的prompt模板, variables -> current_time: 当前时间;file_dir: 用户上传的文件路径;sop: 用户SOP;query: 用户问题
|
||||
GenerateTaskPrompt = """<背景资料>
|
||||
@@ -146,7 +155,7 @@ SingleAgentPrompt = """你是一个强大的{profile},可以使用提供的工
|
||||
用户最终问题:
|
||||
"{query}"
|
||||
|
||||
用户提供的完整SOP:
|
||||
用户提供的完整指导手册(SOP):
|
||||
{sop}
|
||||
|
||||
这是任务整体规划:
|
||||
@@ -160,7 +169,7 @@ SingleAgentPrompt = """你是一个强大的{profile},可以使用提供的工
|
||||
{target}
|
||||
当你完成了阶段目标,应该结束执行。
|
||||
|
||||
当前应该遵守的SOP:
|
||||
当前应该遵守的指导手册(SOP):
|
||||
{single_sop}
|
||||
|
||||
注意事项:
|
||||
@@ -195,7 +204,7 @@ LoopAgentSplitPrompt = """你是一名专业的流程拆解专家,请根据用
|
||||
用户最终问题:
|
||||
{query}
|
||||
|
||||
用户提供的完整SOP:
|
||||
用户提供的完整指导手册(SOP):
|
||||
{sop}
|
||||
|
||||
这是任务整体规划:
|
||||
|
||||
@@ -62,7 +62,7 @@ ReactSingleAgentPrompt = """你是一个强大的{profile},可以使用以下
|
||||
用户最终问题:
|
||||
"{query}"
|
||||
|
||||
用户提供的完整SOP:
|
||||
用户提供的完整指导手册(SOP):
|
||||
{sop}
|
||||
|
||||
这是任务整体规划:
|
||||
@@ -76,7 +76,7 @@ ReactSingleAgentPrompt = """你是一个强大的{profile},可以使用以下
|
||||
{target}
|
||||
当你完成了当前目标,应该结束执行。
|
||||
|
||||
当前应该遵守的SOP:
|
||||
当前应该遵守的指导手册(SOP):
|
||||
{single_sop}
|
||||
|
||||
已经执行的步骤:
|
||||
|
||||
Reference in New Issue
Block a user