失败案例记录:本地 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 的表现来看也无任何规律可言,所以,问题出在哪里呢。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐