5.9 KiB
知识库
简介
构建了ArcGIS Pro应用案例、任务规划案例、ArcGIS Pro工具调用大全、ArcGIS Pro帮助文档四个知识库。
ArcGIS Pro应用案例来源于arcgis课程库网址、任务规划案例和ArcGIS Pro帮助文档来源于Arcgis pro帮助文档、工具调用大全来源于。
- ArcGIS Pro应用案例 截至当前版本,该知识库收集整理了近200个基于ArcGIS Pro平台的应用案例,范围覆盖广,从投影到要素编辑再到制图等内容都有覆盖,也正是因为有这一拥有大量案例的知识库,使得LinkTool在调用ArcGIS Pro地理处理工具进行操作过程中具有较高的精确度和专业性。
- 任务规划案例库 收集使用ArcGIS Pro完成常见空间分析需求的步骤案例,帮助用户结合自身需求形成更合理的解决方案。在本知识库中收集整理了近千条常见应用问题的解题步骤,通过学习、调用该知识库,LinkTool可在解决用户输入问题时生成任务规划,这一任务规划可帮助LinkTool在解决问题时中有较为清晰的思路与方向,能够提高解决问题的效率以及减少走弯路情况的发生。
- ArcGIS Pro工具调用大全 包括调用ArcGIS Pro工具所需的工具名和所需参数列表等信息,方便用户快速查找和使用工具。LinkTool在使用ArcGIS Pro中的工具时需要按照工具所需输入正确的参数与数据,而本知识库中记录了ArcGIS Pro中的近1500个工具的名称以及所需参数与数据。LinkTool在调用ArcGIS Pro中的工具时可以通过查看本知识库,从而获取该工具所需参数与数据,并从数据库中寻找到对应的数据以及合适的参数输入,进一步完成用户输入的问题。
- ArcGIS Pro帮助文档 包含ArcGIS Pro各项工具的详细使用说明、参数要求和原理说明,为用户提供全面的技术支持。
知识库构建
Link Tool旨在构建一个专业的GIS工具知识库,通过自动化手段爬取Esri官方文档,进行清洗、转换、翻译和结构化处理,最终生成可用于智能体训练的结构化数据。整个系统分为网页爬虫模块和本地Markdown处理模块。
- 网页爬虫模块负责从网络上抓取Esri相关的GIS工具文档,包括链接提取、页面爬取、内容清洗、HTML转Markdown以及翻译等步骤。它通过WebCrawlerManager协调各个组件的工作,能够自动提取网页中的链接,并根据URL判断是否为工具文档,然后使用通义千问API进行英文内容翻译和任务规划生成,最终将处理后的数据保存为Markdown文件或CSV格式。模块支持多线程爬取,具有异常处理机制,能够在爬取失败时进行重试,并记录详细的日志信息。
- 本地Markdown处理模块则专注于对已有的Markdown文件进行进一步处理,主要功能包括读取本地Markdown文件、翻译英文内容、生成任务规划和问题、解析工具信息、将文档中的工具调用示例名称统一替换为程序可识别的标准调用名,并将处理结果保存为新的Markdown文件或CSV格式。该模块通过MarkdownProcessor协调各组件工作,支持批量处理指定目录下的所有Markdown文件,能够提取文件中的元数据,并利用通义千问API生成结构化数据。模块同样具备详细的日志记录功能,并支持多线程处理以提高效率。结合ArcGIS工具文档的映射表和AIPlanner模块的智能识别能力,确保文档中的工具调用名称与程序处理的标准一致。
实现方法
将整理好的四个知识库文档上传到阿里云百炼平台,采用检索增强生成(RAG)技术,根据用户输入从外部信息源检索相关信息,然后将检索到的内容整合到用户输入中,从而帮助大模型生成更准确的回答。知识库功能作为阿里云百炼的RAG能力,能有效补充私有知识并提供最新信息。
具体操作为:对知识库进行配置,开启多轮会话改写——将基于会话上下文自动调整原始输入Prompt(用户问题)以提升检索效果。使用官方向量v3(DashScope text-embedding-v3)模型,用于将原始输入Prompt和知识文本转化为数值化向量,官方向量v3模型在语种支持、输入长度和向量维度自定义化等方面,相比官方向量v2模型进行了全面升级,适用于大部分场景。选择官方排序的Rank模型,通过语义排序和文本匹配特征以确保相关性。设置20%的相似度阈值,该阈值表示允许召回的文本切片的最低相似度分数,用于筛选Rank模型返回的文本切片,即只有分数超过此数值的文本切片才会被召回。调低此阈值预期会召回更多文本切片,但可能导致召回一些相关度较低的文本切片;相反,提高此阈值会减少召回的文本切片。若设置得过高,则可能导致知识库丢弃相关的文本切片。
导入Markdown非结构化数据和工具列表结构化数据,配置数据处理策略。设置非结构化文档的元数据,比如ArcGIS Pro帮助文档的元数据为工具调用名。设置文档切分为智能切分,并将这些文本切片通过Embedding模型转换为向量。随后文本切片和向量将以键值对的形式存入向量数据库中。
知识库创建完成后进行各个知识库针对性“命中测试”,根据召回结果调整相似度阈值。
知识库构建完成后会生成专属的ID供Link Tool调用。大模型会结合提示词和用户的需求选择性调用对应的知识库。特别地,当Link Tool将执行地理信息处理工具时,程序会强制其查询Arcgis pro帮助文档知识库,确保其调用信息的准确性,提高工具执行效率。

