47 lines
4.4 KiB
C#
47 lines
4.4 KiB
C#
using System.Collections.Generic;
|
||
using LinkToolAddin.host.prompt;
|
||
|
||
namespace LinkToolAddin.host;
|
||
|
||
public class PromptServerList
|
||
{
|
||
Dictionary<string, PromptServer> promptServers = new Dictionary<string, PromptServer>();
|
||
|
||
public PromptServerList()
|
||
{
|
||
promptServers.Add("plan", new PromptServer("plan",
|
||
"根据用户描述的问题推断出需要使用的ArcGIS Pro工具调用名称列表",
|
||
//"请根据用户所提问题进行工具规划,输出格式为'1.工具2.工具’,如果是ArcGIS Pro的工具,根据用户的具体需求和提供的数据类型," +
|
||
// "判断并列出所有必要的分析步骤和工具,同时严格遵守知识库中“ArcGIS Pro工具调用大全”里“工具调用名称”一列的工具命名规则(例如:analysis.Erase)," +
|
||
// "确保工具名的准确无误,工具与所属工具箱的对应关系正确无误,严格遵循文档规定的格式和大小写。工具的组合顺序优先参考知识库中“ArcGIS Pro的帮助文档”。" +
|
||
// "有一些与分析无关的数据能够进行排除,在选择工具时不受其干扰。"
|
||
"你对ArcGIS Pro的工具箱及其功能了如指掌,能够根据用户的具体需求和提供的数据类型,迅速判断并列出所有必要的分析步骤和工具," +
|
||
"同时严格遵守知识库中“ArcGIS Pro工具调用大全”里“工具调用名称”一列的工具命名规则(例如:analysis.Erase),确保工具名的准确无误。" +
|
||
"工具的组合顺序优先参考知识库中“ArcGIS Pro的帮助文档”。有一些与分析无关的数据能够进行排除,在选择工具时不受其干扰。" +
|
||
"你的任务是,基于用户提出的地理分析需求和所提供的数据集,逐一识别并列出完成整个分析流程所需的全部ArcGIS Pro工具," +
|
||
"确保每个工具的名称完全匹配“ArcGIS Pro工具调用大全”里“工具调用名称”一列的记录,且工具与所属工具箱的对应关系正确无误。" +
|
||
"请直接输出工具调用名称,格式为“工具调用名称”,无需额外解释或说明,工具名称只参考“ArcGIS Pro工具调用大全”,不要受其他文档的干扰。" +
|
||
"你的回复应简洁明了,仅包含所需工具的列表,每个调用名用英文逗号分割为列表,严格遵循文档规定的格式和大小写,确保信息的准确性和专业性。"));
|
||
promptServers.Add("param", new PromptServer("param",
|
||
"填写ArcGIS Pro工具调用参数,生成规范的可执行的工具调用请求",
|
||
"根据知识库Arcgis Pro帮助文档填写工具参数,请你根据“所需调用工具”,参照知识库“ArcGIS Pro工具调用大全”里工具所需的参数顺序进行陈列。" +
|
||
"列出所需调用工具的名称及其按照“ArcGIS Pro工具调用大全”里“的该工具所需的参数顺序陈列对应的参数。如果跳过了可选参数需要用空字符表示。" +
|
||
"不能更改所需调用工具的名称。例如:arcpy.analysis.Buffer,不能只写成Buffer。确保格式、参数的完整性和准确性,避免任何遗漏或错误。" +
|
||
"特别注意,所有参数均应视为字符串类型,即使它们可能代表数字或文件路径。例如问题为:使用地理处理中的\"擦除分析\"工具(Erase),将圆形要素(circle.shp)与方形要素(square.shp)进行空间叠加运算。" +
|
||
"输出: \"in_features\":\"circle.shp\",\r\n \"erase_features\":\"sqaure.shp\",\r\n \"out_feature_class\":\"res.shp\",\r\n \"cluster_tolerance\":\"1\""));
|
||
promptServers.Add("code", new PromptServer("code",
|
||
"生成可运行的arcpy代码",
|
||
"根据你在多种编程语言、框架、设计模式和最佳实践方面拥有的广泛知识。现在需要根据用户需求生成高质量的代码,并确保语法正确。" +
|
||
"编写Arcpy代码时必须符合ArcGIS官方文档要求。参考官方文档的方法参数,确保编写正确。"));
|
||
}
|
||
|
||
public Dictionary<string, PromptServer> GetPromptsDict()
|
||
{
|
||
return promptServers;
|
||
}
|
||
|
||
public PromptServer GetPromptServer(string key)
|
||
{
|
||
return promptServers[key];
|
||
}
|
||
} |