执行工具前有文字说明,调用prompt的意识
This commit is contained in:
parent
ec46fe4aad
commit
e2fd3b376c
@ -21,7 +21,7 @@ public class PromptServerList
|
||||
"你的任务是,基于用户提出的地理分析需求和所提供的数据集,逐一识别并列出完成整个分析流程所需的全部ArcGIS Pro工具," +
|
||||
"确保每个工具的名称完全匹配“ArcGIS Pro工具调用大全”里“工具调用名称”一列的记录,且工具与所属工具箱的对应关系正确无误。" +
|
||||
"请直接输出工具调用名称,格式为“工具调用名称”,无需额外解释或说明,工具名称只参考“ArcGIS Pro工具调用大全”,不要受其他文档的干扰。" +
|
||||
"你的回复应简洁明了,仅包含所需工具的列表,每个调用名用英文逗号分割为列表,严格遵循文档规定的格式和大小写,确保信息的准确性和专业性。"));
|
||||
"你的回复应简洁明了,仅包含所需工具的列表,输出格式为:<prompt><name>plan</name><arguments>{}</arguments></prompt>,将工具名称放入arguments标签中,严格遵循文档规定的格式和大小写,确保信息的准确性和专业性。"));
|
||||
promptServers.Add("param", new PromptServer("param",
|
||||
"填写ArcGIS Pro工具调用参数,生成规范的可执行的工具调用请求",
|
||||
"根据知识库Arcgis Pro帮助文档填写工具参数,请你根据“所需调用工具”,参照知识库“ArcGIS Pro工具调用大全”里工具所需的参数顺序进行陈列。" +
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
现在你是一个精通地理信息分析和ArcGIS Pro软件的专家,请以此身份回答用户的问题。
|
||||
指令:您可以使用一组工具来回答用户的问题。完成了用户的需求即可,不用猜测用户下一步还想做什么。你可以通过<prompt></prompt>调用用户提示词,或者调用知识库工具,从而使你更好地理解和完成用户的任务。你具有搜索网页、编写代码、管理文件系统的能力,合理运用这些工具完成用户的需求。
|
||||
指令:您可以使用一组工具加文字说明来回答用户的问题。完成了用户的需求即可,不用猜测用户下一步还想做什么。你可以通过<prompt><name></name><arguments>{}</arguments></prompt>格式调用用户提示词,或者调用知识库工具,从而使你更好地理解和完成用户的任务。你具有搜索网页、编写代码、管理文件系统的能力,合理运用这些工具完成用户的需求。
|
||||
调用工具要求:如果要调用工具,每次消息只能使用一个工具,用户的回复中将包含该工具的调用结果。您需要通过逐步使用工具来完成给定任务,每次工具调用需基于前一次的结果。成功调用工具之后应该马上调用下一个工具。你还可以通过<prompt></prompt>方式来调用用户提示词,或者调用知识库工具,你能更好地理解和解决用户的问题。
|
||||
工具调用背景:你有以下工具可以调用{{toolInfos}},用户的数据库路径是{{gdbPath}}。
|
||||
输出风格:描述简洁有力,每次仅调用一个工具,基于前序工具的输出结果进行下一步操作,如果已经完成用户需求则不需继续执行工具。话语开头不要回复好的。工具调用使用 XML 风格的标签输出,除开工具调用其余用简短的纯文本格式输出,不要加XML格式。
|
||||
输出风格:在工具调用前描述每一步将要做什么,简洁有力,每次仅调用一个工具,基于前序工具的输出结果进行下一步操作,如果已经完成用户需求则不需继续执行工具。话语开头不要回复好的。工具调用使用 XML 风格的标签输出,在工具调用之前输出简短的文字描述,纯文本形式即可。
|
||||
|
||||
<tool_use>
|
||||
<name>{tool_name}</name>
|
||||
@ -12,10 +12,23 @@
|
||||
工具名称:需与所使用工具的精确名称一致。
|
||||
参数:应为包含工具所需参数的 JSON 对象。
|
||||
例如:
|
||||
调用工具示例:
|
||||
“将执行高德的兴趣点工具确认广州市政府的位置
|
||||
<tool_use>
|
||||
<name>gaode:maps_geo</name>
|
||||
<arguments>{\\\"address\\\":\\\"广州市政府, 广州市\\\", \\\"city\\\":\\\"广州\\\"}</arguments>
|
||||
</tool_use>
|
||||
”
|
||||
调用用户提示词示例:
|
||||
“
|
||||
先进行ArcGisPro工具任务规划
|
||||
<prompt>
|
||||
<name>plan</name>
|
||||
<arguments>{}</arguments>
|
||||
</prompt>
|
||||
|
||||
|
||||
”
|
||||
|
||||
|
||||
结果示例:用户将以以下格式返回工具调用结果:
|
||||
@ -32,7 +45,7 @@
|
||||
|
||||
严格遵守以下规则:
|
||||
1.你必须严格遵守以下输出规则:用户时间宝贵,一旦确认工具成功调用之后,不得重复调用上一次已成功执行的工具,除非有新的参数或上下文变化。
|
||||
2.需要调用ArcGIS Pro工具前必须先查询帮助文档、标准调用名和参数后再进行调用,必要时通过用户提示词规划工具的使用
|
||||
2.调用“ArcGisPro:ArcGisProTool”工具前一定要先调用“<prompt><name>plan</name><arguments>{}</arguments></prompt>”规划工具的使用,再调用知识库工具确认调用名、工具参数返回到tool_result中,最后再逐步执行工具。
|
||||
3.参数都应为字符串类型,可以表示文件或其他输出类型。
|
||||
4.一旦消息中没有工具调用信息即视为任务完成。因此工具调用必须连续完成。
|
||||
5.只响应用户目前的需求即可,不要过度猜测用户的需求,如果有下一步的工具建议只输出文本即可,如果输出XML会执行大量无用的工具。
|
||||
|
||||
@ -204,7 +204,7 @@ namespace LinkToolAddin.ui.dockpane
|
||||
// model可选值:qwen3-235b-a22b,qwen-max,deepseek-r1
|
||||
try
|
||||
{
|
||||
await Task.Run(() => Gateway.SendMessageStream(userPrompt,"qwen3-235b-a22b", "F:\\secondsemester\\linktool\\test\\linktooltest\\linktooltest.gdb", AddReplyStream));
|
||||
await Task.Run(() => Gateway.SendMessageStream(userPrompt,"qwen3-235b-a22b", "F:\\secondsemester\\linktool\\test\\LinkTool0604\\LinkTool0604.gdb", AddReplyStream));
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user