AI创想
标题:
Dify+MCP 组合拳:彻底根治 Excel 上传知识库回答数据不准的难题!
[打印本页]
作者:
jinruping
时间:
昨天 22:38
标题:
Dify+MCP 组合拳:彻底根治 Excel 上传知识库回答数据不准的难题!
作者:CSDN博客
大家可能已经对MCP有一定的了解了!
今天,带大家写一个通信方式为SSE的MCP服务器,让你的Dify拥有自主查询数据库的能力!
一、基本流程
我们通过在自然语言与AI交互,
(, 下载次数: 0)
上传
点击文件名下载附件
一、安装MySql
本步骤安装Mysql,如果电脑已经安装有Mysql或者服务器部署有Mysql,本步骤可跳过
一)下载
由于Mysql的下载安装比较繁琐,按照我的风格,我又把他做成了一键安装包,只需点击安装即可自动安装,老规矩,我把MySql一键安装包下载链接放到了同名工众号上,维信搜索工众号:阿坡RPA,回复关键字:mysql,链接自动掉落。
二)安装
解压下载好的一键安装包后,安装步骤:
① 双击根目录内的 MySql管理工具.exe
② 点击安装 按钮即可等待安装完成
③ 复制mysql账号密码
④ 在navicat内填写好账号密码(公众号内回复 navicat 获下载连接)
⑤ 点击左侧测试连接
出现成功确认框,表示成功安装了MySql,接下来即可开始后面的操作了
(, 下载次数: 0)
上传
点击文件名下载附件
二、把数据导入MySql
一)创建数据库
(, 下载次数: 0)
上传
点击文件名下载附件
二)导入数据表
注意:导入sql文件测试数据,在下载mysql的网盘内获取
(, 下载次数: 0)
上传
点击文件名下载附件
(, 下载次数: 0)
上传
点击文件名下载附件
三、安装并启动MCP服务
下载mysql-mcp-server源码,这是一个github项目的源码,原github地址是:https://github.com/mangooer/mysql-mcp-server-sse
我已经下载好放在同一个网盘里,请根据文章开头获取方式获取,下打开载好的项目源码,进入源码目录:
一)初始化源码项目为uv项目
输出指令:
# 初始化uv init
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
二)创建虚拟环境
# 创建虚拟环境uv venv
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
三)激活虚拟环境
.venv\Scripts\activate
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
四)安装项目依赖
uv pip install -r .\requirements.txt
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
五)数据库配置
在项目的env 文件内配置前面获取到的mysql账户密码及地址
(, 下载次数: 0)
上传
点击文件名下载附件
六)运行server
本项目会开启一个 SSE 通信方式的MCP服务,方便AI通过url远程调用本服务
uv run -m src.server
复制代码
可以看到,MCP服务运行在了 3000 端口,请记住该端口号,后面配置Dify工作流会用到
(, 下载次数: 0)
上传
点击文件名下载附件
四、Dify工作流调用MCP服务
一)安装插件
安装 MCP Agent策略MCP SSE 插件,以供后面使用
(, 下载次数: 0)
上传
点击文件名下载附件
二)创建对话工作流应用
(, 下载次数: 0)
上传
点击文件名下载附件
三)开始节点
开始节点什么都不用填写,默认使用输入框的内容 sys.query 作为输入参数
(, 下载次数: 0)
上传
点击文件名下载附件
四)Agent策略节点
1、选择策略工具
选择刚才下载的 MCP Agent 策略作为意图识别的工具,他会自主来决策,该选择调用工具列表中的哪个工具执行任务
(, 下载次数: 0)
上传
点击文件名下载附件
2、选择AI模型
(, 下载次数: 0)
上传
点击文件名下载附件
3、添加工具
① 点击添加工具
② 选择前面安装的插件工具
获取MCP工具列表,调用MCP工具,两个都要选择,此处仅以第一个为例,第二个操作步骤一样
③ 点击工具授权
④ 填写MCP的SSE服务配置
此处填写的信息就用到了前面启动MCP服务时我提到的端口号 3000 了
{ "mysql-server": { "url": "http://host.docker.internal:3000/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 }}
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
4、启用工具
(, 下载次数: 0)
上传
点击文件名下载附件
5、选择另一个工具
(, 下载次数: 0)
上传
点击文件名下载附件
6、填写指令提示词
你是一名水果店员工,负责调用工具列表,查询水果表数据,水果表表结构如下:CREATE TABLE `fruits` (
`id` int NOT NULL COMMENT 'ID',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '水果名称',
`price` decimal(6,2) NOT NULL COMMENT '水果价格',
`stock` int NOT NULL COMMENT '库存',
`origin` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '产地',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='水果表';
复制代码
(, 下载次数: 0)
上传
点击文件名下载附件
7、设置查询提示词
聊天输入框的值就是 sys.query
(, 下载次数: 0)
上传
点击文件名下载附件
五)直接回复节点
(, 下载次数: 0)
上传
点击文件名下载附件
六)测试效果
1、dify的返回结果
(, 下载次数: 0)
上传
点击文件名下载附件
2、可以看到MCP服务控制台的打印信息
(, 下载次数: 0)
上传
点击文件名下载附件
3、工作流的日志追踪
(, 下载次数: 0)
上传
点击文件名下载附件
七)保存工作流
(, 下载次数: 0)
上传
点击文件名下载附件
总结
MCP结合数据库的方案为Dify等知识库应用提供了高效、精准的结构化数据检索能力,显著提升了数据查询的准确性和灵活性,弥补了RAG的检索精度上的不足。
但是,这一方案也是有缺点的,与RAG每次只检索相关文本片段不同,MCP+数据库会真正执行SQL查询,若一次查询数据量过大,会消耗大量Token,甚至可能导致MCP客户端卡死。
在实际应用中,我们应该将两种技术结合使用,取长补短,灵活处理自己的业务场景。
如何零基础入门 / 学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。
不如成为「掌握AI工具的技术人」,毕竟AI时代,
谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么我作为一名热心肠的互联网老兵,
我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!
至于能学习到多少就看你的学习毅力和能力了 。
我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
(, 下载次数: 0)
上传
点击文件名下载附件
欢迎光临 AI创想 (https://www.llms-ai.com/)
Powered by Discuz! X3.4