LinkToolDocs/agent/dev/knowledge.md
2025-07-17 15:52:42 +08:00

37 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 知识库
## 简介
构建了ArcGIS Pro应用案例、任务规划案例、ArcGIS Pro工具调用大全、ArcGIS Pro帮助文档四个知识库。
ArcGIS Pro应用案例来源于[arcgis课程库网址](https://learn.arcgis.com/zh-cn/gallery/)、任务规划案例和ArcGIS Pro帮助文档来源于[Arcgis pro帮助文档](https://pro.arcgis.com/zh-cn/pro-app/latest/help/main/welcome-to-the-arcgis-pro-app-help.htm)、工具调用大全来源于。
- 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用户问题以提升检索效果。使用官方向量v3DashScope text-embedding-v3模型用于将原始输入Prompt和知识文本转化为数值化向量官方向量v3模型在语种支持、输入长度和向量维度自定义化等方面相比官方向量v2模型进行了全面升级适用于大部分场景。选择官方排序的Rank模型通过语义排序和文本匹配特征以确保相关性。设置20%的相似度阈值该阈值表示允许召回的文本切片的最低相似度分数用于筛选Rank模型返回的文本切片即只有分数超过此数值的文本切片才会被召回。调低此阈值预期会召回更多文本切片但可能导致召回一些相关度较低的文本切片相反提高此阈值会减少召回的文本切片。若设置得过高则可能导致知识库丢弃相关的文本切片。
![](../../assets/2025-07-17-09-25-44.png)
导入Markdown非结构化数据和工具列表结构化数据配置数据处理策略。设置非结构化文档的元数据比如ArcGIS Pro帮助文档的元数据为工具调用名。设置文档切分为智能切分并将这些文本切片通过Embedding模型转换为向量。随后文本切片和向量将以键值对的形式存入向量数据库中。
知识库创建完成后进行各个知识库针对性“命中测试”,根据召回结果调整相似度阈值。
![](../../assets/2025-07-17-10-05-23.png)
知识库构建完成后会生成专属的ID供Link Tool调用。大模型会结合提示词和用户的需求选择性调用对应的知识库。特别地当Link Tool将执行地理信息处理工具时程序会强制其查询Arcgis pro帮助文档知识库确保其调用信息的准确性提高工具执行效率。