找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4739

积分

0

好友

649

主题
发表于 1 小时前 | 查看: 3| 回复: 0

前言

关于什么是 RAG

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

RAG问答系统架构流程图

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


ArcGIS Pro AI 助手开发日志 #2

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

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

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

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

简单说,有三大好处:

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

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

Dify平台工作流配置界面

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

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

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

实战步骤:

  1. 登录你的 Dify:打开你自己部署的 Dify ,或者免去部署步骤,直接注册官方的云平台:dify cloud

  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

  4. 创建应用:回到探索界面,选择从 知识库 + 聊天机器人 创建应用程序:
    从模板创建应用界面

  5. 关联知识库:在工作流的“知识检索”界面,,把你刚刚创建的“ArcGIS 知识库”关联进来。
    工作流中关联知识库的界面

  6. 编写提示词
    LLM节点提示词配置界面

你是一个地理信息专家,专注于ArcGIS Pro和arcpy相关问题。

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

<context>

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

</context>

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

1. 阅读用户的问题。

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

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

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

5. 回答时保持简明、专业,并确保输出不包含任何xml标签。
  1. 调试: 点击预览可以实时对话:
    AI助手回答缓冲区分析问题的对话界面
    AI助手回答缓冲区分析问题的技术文档预览界面

    查看工作流的知识库检索情况,很明显,我们通过父子检索完整的把缓冲区的整个文档喂给了大模型:
    工作流中知识检索步骤的输出结果(JSON格式)

  2. 发布与分享:你可以点击发布中的运行,在新窗口中对话,你也可以把这个链接发给你的朋友,他们也能和你做的这个 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 按量付费 每天提供免费额度
数据隐私 自己掌握 托管于平台
一句话建议 想自己掌控数据、爱折腾的开发者 想快速体验完整功能、并发布到多平台的用户

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

总结与下一步

我们体验了几款强大的工具,成功地在不编写代码的情况下,创建了属于我们自己的 ArcGIS 问答机器人。从 Dify 到国内的阿里百炼,这些平台都证明了 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 助手装上那双至关重要的“手”。如果你想学习更多关于Python和AI应用开发的知识,欢迎来云栈社区交流探讨。




上一篇:Nano banana爆火玩法盘点:从人物编辑到游戏封面,附项目与官方地址汇总
下一篇:ALB与NAT网关协同架构实践:隐藏后端服务的网络隐身术
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-11 09:06 , Processed in 0.618944 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表