微信扫码
添加专属顾问
我要投稿
Dify + Oracle + MCP强强联手,教你快速搭建RAG应用与数据库智能Agent,让AI与数据库无缝交互。 核心内容: 1. RAG技术原理及其在智能问答中的应用价值 2. 使用Dify平台+Oracle 23ai构建RAG应用的完整实践 3. 通过SQLcl MCP实现AI Agent与Oracle数据库的高效交互
Dify 是一个开源的 LLM 应用开发平台,它提供了友好的图形化界面,让开发者可以快速编排和部署 AI 应用和工作流。
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 公司于 2024 年 11 月推出并开源的开放协议,旨在实现大语言模型(LLM)与外部工具、数据源的高效交互。MCP 通过标准化的接口,让 AI 系统能够实时访问和调用数据库、API 及其他服务,从而打破“数据孤岛”,提升 AI 应用的实时性、可操作性和协作能力。
Oracle SQLcl: Oracle SQLcl 是一款功能强大、灵活且免费的命令行界面工具,专为现代 Oracle 数据库专业人员设计。SQLcl 集成的 MCP 服务器搭建起了 Oracle 数据库与 AI 驱动解决方案之间的桥梁,它允许大语言模型(LLMs)以交互方式执行查询并处理结果。这一特性使 SQLcl 成为传统数据库开发与前沿 AI / 机器学习驱动应用的首选界面。
部署 Oracle Database 23ai
Oracle Database 23ai 提供了多种部署方式,例如通过 Docker、rpm安装包,数据库文件压缩包等。为了方便实验,本文将使用 Oracle Database 23ai Free Docker版来部署 Oracle Database 23ai 数据库。
注:Oracle Database 23ai Free Docker版仅适用于学习或测试场景,请不要应用于生产环境。
安装 Oracle Database 23ai Docker 数据库环境,可以参考该文档:
https://container-registry.oracle.com/ords/f?p=113:4:7872189919188:::4:P4_REPOSITORY,AI_REPOSITORY,AI_REPOSITORY_NAME,P4_REPOSITORY_NAME,P4_EULA_ID,P4_BUSINESS_AREA_ID:1863,1863,Oracle%20Database%20Free,Oracle%20Database%20Free,1,0&cs=3MLjTCLKvSyGBtELAaunHh7O9xjzqCAMM1YburVKsF4728ObWaTdZPYJgN6tydMYzB7vgj04O3NZWuFYD5OAPqw
Oracle Database 23ai docker-compose.yml 示例参考文件:
安装完成后,查看Docker 运行状态:
通过运行 sqlplus 操作和管理Oracle Database 23ai 数据库:
以上连接成功,表示 Oracle Database 23ai 安装成功。
部署 Dify
在本文中,我们将使用 Oracle Database 23ai 作为 Dify 的向量数据库,用于存储 RAG 应用所需的知识库内容。同时,Dify 还需要一个关系型数据库存储元数据。目前 Dify 官方仓库(最新版为 v1.5.1)使用 PostgreSQL 15 版本进行元数据存储和管理(若需使用外部 PostgreSQL,需修改 `.env` 中对应配置)。
启动 Dify 服务器简单的方式是通过 Docker Compose。首先,克隆 Dify 仓库,进入 Dify 的 `docker` 目录,复制一份环境变量配置文件:
然后编辑 `.env` 文件,将 `VECTOR_STORE` 设置为 `oracle`,并填入 Oracle Database 23ai 的连接信息:
修改完环境变量配置后,执行以下命令启动 Dify 服务。
可选:Dify 的 `docker-compose.yaml` 文件中包含 Oracle 容器配置,但由于我们已单独部署 Oracle Database 23ai,可将其中的 Oracle 容器配置注释掉,避免启动多余容器。
服务启动后,在浏览器输入 `http://localhost` 即可访问 Dify 的 Web 界面。第一次登录需要设置用户名和密码:
设置模型供应商
在Dify中,需要使用大语言模型和其他 embedding 模型等,可以在登录dify后点击右上角的头像,选择`设置`进入设置页面。
点击`模型供应商`,这里读者可以自行选择模型供应商。
在 `API Key` 中填入所选模型的 API Key,然后点击 `保存`。
选择默认的`系统模型`,这里主要需要设置`系统推理模型`和 `Embedding 模型`,大家可以根据自己的业务需求进行选择。
创建知识库,使用 RAG 检索
完成模型设置后,接下来可以开始索引知识库了。回到首页,点击顶端的 `知识库` 标签页,进入知识库管理界面,点击`创建知识库`。
选择`导入已有文本`,可以直接拖入文件进行索引。这里我上传了两篇关于RAG技术 ### AgenticRAG 和Graph RAG 的论文。
然后设置文本的分段规则,这里可以保留默认设置。点击`预览块`可以在右侧预览分段后的结果。确认没问题后,点击 `保存并处理`。
继续下一步,创建知识库创建成功。
以上,知识库创建完成。
创建对话应用
基于上面创建的知识库,创建一个知识库对话应用。点击`工作室`标签页,进入应用管理界面,点击`创建空白应用`。
选择`聊天助手`,并填写`应用名称`。输入完成后点击`创建`按钮。
点击文件图标,可以看到具体引用的内容。这个的这些内容就来源于我们之前上传的两份文档之中。
以上,我们基于Oracle Database 23ai 向量数据库,构建了RAG的知识库并实现了基于知识库的对话操作,实现了专业数据的知识检索,扩展了AI 的能力。
将 Dify 应用转换为 MCP Server
Dify 可作为 MCP Server,使构建的 AI 应用能被其他 MCP 客户端(如 Cursor、Windsurf、Cherry Studio 等)调用,拓展使用场景。MCP Server 插件是 Dify 社区贡献的扩展类型插件,安装后可将任意 Dify 应用转化为符合 MCP 标准的服务端点,供外部 MCP 客户端直接访问。
在 Dify 的 `Marketplace` 中选择 `MCP server` 插件进行安装:
接下来,设置 MCP Server,`App` 选择上一步发布的聊天助手应用。
按照 MCP 规范,我们需要为工具提供一个清晰的输入模式。对于聊天 Dify 应用,确保在输入模式中包含一个 `query` 字段,格式如下:
配置完 MCP Server 后,可获得一个 MCP Server 端点。Dify 提供 SSE 和 Streamable HTTP 两种端点,本文选择 `/mcp` 后缀的 Streamable HTTP 端点:
将端点 URL 复制到 MCP Client,这里我使用 Cherry Studio。注意这里的IP和端口需要和你的主机对外服务IP和端口一致。
配置完成后,在聊天界面选择配置的 Dify MCP Server。
询问一个与知识库内容相关的问题,就能从 Dify MCP Server 调用RAG检索知识库数据得到预期的回答了。
以上部分,实现了通过将 Dify 知识库应用作为服务,通过 MCP Server 调用配合知识库应用实现调用Dify RAG应用,你还可以通过该方法,实现调用 Dify 中的Workflow 应用。
使用 Dify Agent 连接 Oracle SQLcl MCP Server 实现数据库操作
首先,我们需要在 Dify 的 `Marketplace` 中添加支持 MCP 工具的 Agent ,使用Agent 方式实现MCP Server的对接。
我们也需要安装 mcp-proxy 和 Oracle SQLcl ,作为MCP server实现数据访问。
pip install mcp-proxy
下载 Oracle SQLcl 25.2
https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-25.2.1.195.1751.zip
解压并配置 Linux 路径,设置 Oracle SQLcl MCP Server 连接数据库信息(备注:运行 Oracle 需要 Java 17 及以上版本,本文省略 Java 环境安装步骤,请自行安装)。
操作命令如下:
输出如下:
启动 mcp-proxy 配置 SSE 端口,调用 Oracle SQLcl 实现 stdio 转 SSE 服务:
在 Dify 中添加 MCP 工具
创建 Dify Workflow,添加 Agent 并配置 MCP 工具,通过 HTTP SSE 方式访问 mcp-proxy 开启的 MCP Server 服务,同时配置相关大模型和提示词等:
开始运行 Agent,测试使用 Oracle SQLcl MCP server 进行数据操作测试,测试各种数据查询与操作。
总结
本文详细介绍了如何结合 Dify、Oracle Database 23ai 和 MCP 从零开始构建功能完备的 RAG 应用,同时构建了基于 Oracle SQLcl 的 MCP Server,实现了 Agent 联合 MCP Server 进行数据操作的能力。教程涵盖部署环境、创建知识库、构建聊天助手及调试的全过程,还演示了如何将 Dify 应用转化为标准 MCP Server 供外部客户端调用,以及 Dify Agent 与 Oracle SQLcl MCP Server 的集成配置,从而极大扩展了 AI 应用的集成与协作能力。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-09-11
做好 RAG 落地最后环节 —— 评估 RAG 应用
2025-09-10
企业级RAG系统实战心得:来自10多个项目的深度总结
2025-09-10
您应该为您的 RAG 系统使用哪种分块技术?
2025-09-10
关于多模态应用的几个疑问,以及多模态应该怎么应用于RAG?
2025-09-10
MiniMax RAG 技术:从推理、记忆到多模态的演进与优化
2025-09-09
告别新手级RAG!一文掌握专业级后检索优化流水线
2025-09-09
切块、清洗、烹饪:RAG知识库构建的三步曲
2025-09-09
终结 “闭卷考试”:RAG 如何从根源上构建可信的AI应用
2025-06-20
2025-06-20
2025-07-15
2025-06-24
2025-06-24
2025-07-16
2025-06-23
2025-07-09
2025-06-15
2025-06-20
2025-09-10
2025-09-10
2025-09-03
2025-08-28
2025-08-25
2025-08-20
2025-08-11
2025-08-05