40 lines
3.0 KiB
C#
40 lines
3.0 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的帮助文档”。" +
|
||
"有一些与分析无关的数据能够进行排除,在选择工具时不受其干扰。"));
|
||
promptServers.Add("param", new PromptServer("param",
|
||
"填写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];
|
||
}
|
||
} |