AI 学习笔记:【失败案例】本地deepseek+dify+调用各家地图的 MCP 规划服务
本地 deepseek+dify 环境,接入地图MCP 实现旅行行程规划,结论是不成功,但过程上没有报错异常,结果完全不可控,欢迎大佬指导纠正
失败案例记录:本地 deepseek+dify 环境,接入地图MCP 实现旅行行程规划,结论是不成功,但过程上没有报错异常,就是预期结果完全不可控,欢迎大佬指导纠正。
一、起因:本地部署大模型后,除了和它扯些闲蛋,好像也没什么用,前两天看到豆包能规划行程,虽然最终给出的行程规划也不会照章执行,但感觉好玩(想起多年前做 GIS 开发的时候,要实现这么一个功能,那个痛苦,从点位图层到路网数据,再加上各种空间计算,一个月都整不出这么个效果),于是在本地也实现一下,尽量少用各种集成化的工具,网上有很多用 VSCODE 的方式,但懒得再下载配置环境了,直接用上次部署好的 dify 环境,本次绝大多数时间都是在 dify 界面上操作,涉及到 dify 的部署,请参考我上篇文章《MAC 上搭建本地知识库,喂饭教程_mac本地搭建deepseek-CSDN博客》
二、目标:
1、让本地部署的 deepseek 能更“聪明”一些,能帮我规划出行计划。
2、间接感受一下MCP 到底是个啥。
尝试理解:
对于程序员来说:MCP 就是一个协议标准,模型和工具间通过这个协议可以一起协作。
对于小白来说:MCP 可以理解为一个 USB,只要有 USB 接口,U 盘插谁的电脑都能用。
涉及到的软件:本地安装的 deepseek(含 ollama)、chatbox、百度高德腾讯三家的地图MCP服务
三、满怀信心的开始试验:
1)、在 dify 的工具中搜索一下 MCP,找到 MCP SSE工具(MCP 提供 SSE 和 STDIO 两种协议,目前 dify 也只支持 SSE 协议),安装它:
2)注册一个高德地图的个人开发者,免费额度够用了,在这里注册及认证
高德注册完成后,添加一个应用,取得 AK,应用名称随意取,应用类型也可以随意,新建:
新建成功后,找到刚才新建的应用,点击右边的“添加 key”,名字再随意取,服务平台选“web 服务”,正面的 IP 白名单默认可以不填,勾选协议
建完之后,可以看到刚才生成的 KEY,把这段复制出来
3)、切回到dify的 MCP SSE 配置页面,先把这块全部给复制出来:
原始:{ "server_name": { "url": "http://127.0.0.1:8000/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 }}
改成:{ "server_name": { "url": " https://mcp.amap.com/sse?key=tz6me9VgZp3UjE4E6nbo2aCccccccccccc", "headers": {}, "timeout": 60, "sse_read_timeout": 300 }},绿色字体部分是可以直接照搬过来,红色字体部分则要改成你自己的key,其它都不变,点保存,如果一切正确,会自动回到这个界面,并且这块有个小绿灯:
4)、好,走到建 agent 的步骤,新建一个空白的 agent 应用
5)、创建后,这两块都是需要设置的,先设置右侧的大模型,选本机部署的deepseek(本机如何部署 deepseek,及相关配置,可以参考上一篇),当然,有钱可以直接用官网的 deepseek.
模型添加完成后,把这个开关打开,要不然选不了(如果还没有,刷新一页网页)
6)、模型设置完成后,再点一下左边的 Agent 设置,确保是 React 模式就行,直接保存。
7)、然后把 MCP 和这个 agent 关联起来,点下面“工具”这的添加,选择”通过 SSE 发现和调用 MCP 工具。
8)、好,这个时候该做的都做完了,理论上就可以使用工具了,但,奇怪的事情发生了,我设定好了提示词,工具关联上了,规划需求发了,看 deepseek 的思考过程也合情理
但这么一通思考后,给出的最终结果却有点让人莫名其妙
四、开启各种姿势解决
尝试解决:同样的问题我再问一次,这次直接无结果
尝试解决:我要求把规划更详细点,结果是它的思考过程还可以,第一天从哪出发,怎么走,在哪停,在哪吃饭都有了,但只停留在思考过程上,准确来说是一直在思考,思考了 10 分钟我给停了,没有正式的结果输出。
尝试解决:在提示词中,明确要求必须调用 MCP 工具来协助,但从思考的过程来看,它完全无视我的这个要求,没有提到要调用工具的事,结果也是无任何意义。
尝试解决:不要提示词了,把 MCP 工具关掉,同样的问题再问,神奇的事情发生了,本地的这个 deepseek 开始调用不知道哪来的各种工具,还是循环调用,只是最后还是一通操作猛如虎,一看结果二百五,输出个半载字,然后就没了,刚开始我还以为是我 7b的小模型太小,多给他点时间,但给了十分钟以上,还是一样,
尝试解决:从高德开发者平台看 key 的调用次数为0,本着“我肯定没有问题,肯定是高德有问题”的精神,放弃高德,用腾讯地图,一通注册获取 KEY 之后,重新配置 SSE 工具,小绿灯亮了,但最终的表现和高德一样,放弃腾讯,改用百度地图,注册获取 AK 后,在 MCP SSE中以各种姿势去做配置,都是点保存后转圈,然后就又回到保存,不知道哪里错了,重启 dify,重启 docker、重新生成百度地图应用获取新的 AK………,都试了,不好用,折腾了两个多小时最终放弃。
至此,陷入茫然,该做的做了,无任何错误提示,从 AGENT 的表现来看也无任何规律可言,所以,问题出在哪里呢。
更多推荐
所有评论(0)