首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >还在死记硬背ArcPy函数?来跟我用不用代码搭建一个GIS AI助手

还在死记硬背ArcPy函数?来跟我用不用代码搭建一个GIS AI助手

作者头像
renhai
发布2026-03-16 17:03:14
发布2026-03-16 17:03:14
1470
举报

前言

关于什么是 RAG:

检索增强生成 (RAG) 是一种强大的技术,通过将语言模型与外部知识库相结合来增强 语言模型[1] 。RAG 解决了 模型的一个关键限制[2] :模型依赖于固定的训练数据集,这可能导致信息过时或不完整。当给定查询时,RAG 系统首先在知识库中搜索相关信息。然后,系统将检索到的信息合并到模型的提示中。该模型使用提供的上下文生成对查询的响应。通过弥合庞大的语言模型和动态、有针对性的信息检索之间的差距,RAG 是一种构建功能更强大、更可靠的人工智能系统的强大技术。

dify-and-fastgpt-for-RAG[3]文章中有简单说明,你也可以查看其他资料比如Retrieval augmented generation...[4],这里不再赘述。


ArcGIS Pro AI 助手开发日志 #2

在上一篇文章里,我们立下了一个 Flag,要从零开始打造一个专属的 ArcGIS Pro AI 助手。

别担心!今天这篇,就是专门为零基础、完全不会编程的你准备的。

我们的目标很简单:不动一行代码,只用鼠标点一点,就把那些枯燥的 ArcGIS 帮助文档,变成一个能与你对话的 AI 知识库。让你亲身体验,原来 AI 离我们这么近!

为什么我们要先玩“低代码”?

简单说,有三大好处:

  1. 快!几分钟搞定:能让你在几分钟内就看到成果,瞬间获得成就感。
  2. 省钱!几乎零成本:我们今天选的工具,基本都是免费的,你只需要有大模型的 API Key 就够了,甚至你可以在阿里百炼平台直接注册白嫖Qwen模型。
  3. 理解概念:它能帮你直观地理解一个 AI 应用是怎么工作的(上传知识 -> 处理知识 -> 对话),为你以后深入学习打下基础。

话不多说,我们来看看今天的主角:dify。

第一站:Dify - 你的开源 AI 应用

Dify 就是一套“活页本工具”,让你自由组装和定制自己的 AI 应用。最棒的是,它是开源的,你可以像我一样部署在自己的服务器上,数据安全有保障。

  • 一句话总结:一个能让你“造”出自己 AI 应用并分享出去的开源平台。
  • 优点:开源,可私有化部署,定制能力强,支持团队协作。
  • 缺点:需要自己准备一台装了Docker的电脑和OpenAI 或者 Deepseek、Qwen API Key,对完全不懂技术的小白有那么一点点初始门槛(不过你跟着我之前的文章,问题不大)。

实战步骤:

  1. 登录你的 Dify:打开你自己部署的 dify ,或者免去部署步骤,直接注册官方的云平台:dify cloud[5]。
  2. 创建知识库:在“知识库”菜单栏,点击“创建知识库”。
  3. 上传文档:在新创建的知识库里,点击“添加文档”,选择“文本文件上传”。把你的 ArcGIS 文档传上去。参考图中相关配置,Dify 会自动处理分段和嵌入。你可以看到它处理的过程。 > 默认情况下,ArcGIS Pro 的离线帮助文档可能位于安装目录下的某个子文件夹,例如: C:\Program Files\ArcGIS\Pro\Resources\Help或者C:\Users\<your_username>\AppData\Local\Programs\ArcGIS\Pro\Resources\Help 具体路径可能因安装配置而异。中文版会在zh-CN子文件夹中。

这里的嵌入模型,根据你的情况选择,国内可以使用千问的通用文本向量-v4[6]。

  1. 创建应用:回到探索界面,选择从 知识库 + 聊天机器人 创建应用程序:
  1. 关联知识库:在工作流的“知识检索”界面,,把你刚刚创建的“ArcGIS 知识库”关联进来。
  1. 编写提示词:
代码语言:javascript
复制
你是一个地理信息专家,专注于ArcGIS Pro和arcpy相关问题。

你将使用以下内容作为你所学习的知识,放在<context></context> XML标签内。

<context>

这里是上下文的变量 <<< 需要修改

</context>

请按照以下步骤完成任务:

1. 阅读用户的问题。

2. 你始终需要寻找知识库中内容来回答用户,基于这些内容用与用户相同的语言进行详细、准确的回答。

3. 如果你不知道答案,直接告诉用户你不知道。

4. 如果用户的问题比较模糊或不明确,请礼貌地要求用户澄清问题。

5. 回答时保持简明、专业,并确保输出不包含任何xml标签。
  1. 调试: 点击预览可以实时对话:

查看工作流的知识库检索情况,很明显,我们通过父子检索完整的把缓冲区的整个文档喂给了大模型:

  1. 发布与分享:你可以点击发布中的运行,在新窗口中对话,你也可以把这个链接发给你的朋友,他们也能和你做的这个 ArcGIS 问答机器人聊天了!

体验总结:Dify 的强大在于“创造”和“分享”。它让你从一个 AI 的“使用者”,变成了 AI 应用的“创造者”。对于我们这种喜欢折腾的人来说,简直是神器。


第二站:Coze (扣子) - 功能全面的“机器人商店”

Coze 就是一座设备齐全、琳琅满目的现代化“机器人生产工厂”,而且目前还是提供免费额度。

  • 一句话总结:一个免费、功能强大到不像话的,集创建、调试、发布于一体的 Bot(机器人)开发平台。
  • 优点:功能超多(数据库、插件、工作流),能一键把你的机器人发布到微信公众号、豆包、飞书等平台,也能发布微网页,有更多符合国内的助手模板。
  • 缺点:2025 年 7 月 26 号开源了,数据和应用都托管在官方平台上。

实战步骤:

整体跟 dify 差不多。

  1. 访问官网:打开 Coze 官网(国内是coze.cn,国际是coze.com),登录账号。
  2. 创建 Bot:点击“创建 Bot”,给你的机器人起个名字和介绍。
  3. 配置知识库:在左侧的“技能”模块里,找到“知识库”,点击“创建”。然后把你的 ArcGIS 文档上传。
  4. 配置提示词和调试对话:上传完毕后,右侧的“预览与调试”窗口就是你的实时聊天界面。你可以不断和它对话,同时在左侧调整“人设与回复逻辑”里的提示词(Prompt),把它调教得更符合你的要求。
  5. 发布:当你满意后,点击右上角的“发布”按钮,就可以选择把它发布到哪个平台了。比如你可以直接关联到你的个人微信公众号上,让你的粉丝都能用上这个 ArcGIS 问答机器人。

体验总结:Coze 的完成度和生态集成度高得惊人。它不仅是一个知识库工具,更是一个完整的 Bot 开发和分发平台,可玩性极高。

横向对比 & 我该怎么选?

特性

Dify

Coze (扣子)

上手难度

⭐⭐ (较低)

⭐⭐ (较低)

定制能力

⭐⭐⭐⭐ (高)

⭐⭐⭐⭐ (高)

分享与集成

⭐⭐⭐ (可分享网页)

⭐⭐⭐⭐⭐ (极强)

成本

服务器成本 + API 按量付费

每天提供免费额度

数据隐私

自己掌握

托管于平台

一句话建议

想自己掌控数据、爱折腾的开发者

想快速体验完整功能、并发布到多平台的用户

除此之外还有阿里百炼[7]、腾讯等等国内平台,也都是低代码开发平台,都很不错。

总结与下一步

我们体验了几款强大的工具,成功地在不编写代码的情况下,创建了属于我们自己的 ArcGIS 问答机器人。从 Dify、Langflow 到国内的阿里百炼,这些平台都证明了 AI 应用的门槛,远比我们想象的要低。

通过这次“快餐式”的体验,我们已经看到了 AI 知识库的巨大潜力。但你可能也发现了,这些平台虽然方便,但在处理专业的 GIS 问题时,有时会答得不够精准。

也许你会想:我们能不能在平台内部把它调得更好?当然可以!

比如在 Dify 中,我们完全可以构建一个更复杂的工作流:可以利用ReAct Agent让 AI 对自己的回答进行反思和修正;也可以在知识检索前加入一个查询优化节点;甚至可以让工作流针对一个问题,生成多个子问题去并行检索,最后再汇总信息进行回答。也可以维护知识库文档的元数据,检索的时候用来过滤文档。dify 也可以做很复杂的工作流:

对于 90%的用户和场景,Dify 这类低代码平台就是最佳解决方案。

它的上限远比看起来要高。通过精细化的知识运营和高级的工作流编排,其性能足以满足绝大多数专业需求。对结果导向的人来说,这应是首选工具。

所以,Dify 这类低代码平台能走多远?它能帮我们复刻出官方的 AI 助手吗?

答案是:能,但只能完成一半。

让我们回顾一下官方 AI 助手的核心能力:

  1. 智能问答 (Help) :基于文档回答问题。
  2. 数据查询 (Query) :将自然语言翻译成 SQL。
  3. 意图驱动操作 (Intent-Driven Actions) :将自然语言翻译成可执行的 ArcGIS 操作。

通过精心设计 Dify 工作流,我们可以非常出色地实现前两个目标。让它成为一个博学的 ArcGIS 专家和数据查询大师,是完全可行的。对于许多用户来说,这已经是一个能极大提升生产力的工具了。

我们项目的终极目标,是实现意图驱动操作 (Intent-Driven Actions)

我们希望 AI 能听懂“对学校做 500 米缓冲”这样的话,然后亲自动手去操作软件。这意味着,AI 必须能执行ArcPy代码

也许你会想到 Dify 强大的代码节点功能。没错,它可以在云端沙箱里执行 Python,但那个沙箱访问到你本地 ArcGIS Pro 很困难,虽然可以修改源码实现安装arcpy,但是已经偏离低代码的初衷了,操作起来比纯代码**还要痛苦一百倍**。

要让 AI 拥有能操作本地软件的“双手”,唯一的办法就是把 AI 的“指挥中心”建在本地。

这就是我们必须转向LangChain的原因。作为一个代码库,它允许我们在自己的电脑上构建和运行 AI 应用。只有在这里,我们的程序才能跨过云与本地的鸿沟,真正地调用ArcPy,将用户的意图,转化为对 ArcGIS Pro 的实际操作。

在下一篇文章中,我们将着手搭建这座连接 AI 与 ArcGIS Pro 的桥梁,为我们的 AI 助手装上那双至关重要的“手”。


欢迎在评论区里疯狂吐槽你在 ArcGIS 里遇到的烦心事,或者聊聊你对这个系列、对哪个技术方向最感兴趣。你们的反馈会直接影响我后续内容的侧重点!

参考资料

[1]

语言模型: https://python.langchain.com/docs/concepts/chat_models/

[2]

模型的一个关键限制: https://www.glean.com/blog/how-to-build-an-ai-assistant-for-the-enterprise

[3]

dify-and-fastgpt-for-RAG: /blog/ai/dify-and-fastgpt-for-RAG

[4]

Retrieval augmented generation...: https://python.langchain.com/docs/concepts/rag/

[5]

dify cloud: https://cloud.dify.ai/explore/apps

[6]

千问的通用文本向量-v4: https://bailian.console.aliyun.com/?tab=model#/model-market/detail/text-embedding-v4

[7]

阿里百炼: https://bailian.console.aliyun.com/?tab=home#/home

[8]

个人网站: https://www.renhai.online/

[9]

我的知乎: https://www.zhihu.com/people/Ing_ideas

[10]

我的博客: https://www.renhai.online/blog

[11]

我的 GITHUB: https://github.com/renhai-lab

[12]

我的 GITEE: https://gitee.com/renhai-lab

[13]

RSS: https://www.renhai.online/rss.xml

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 renhailab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 关于什么是 RAG:
  • 为什么我们要先玩“低代码”?
  • 第一站:Dify - 你的开源 AI 应用
    • 实战步骤:
  • 第二站:Coze (扣子) - 功能全面的“机器人商店”
    • 实战步骤:
  • 横向对比 & 我该怎么选?
  • 总结与下一步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档