10分钟让你用SpringAI接入百度地图MCP服务

10分钟让你用SpringAI接入百度地图MCP服务

在之前的文章中SpringAI MCP技术初探 我介绍了使用SpringAI 1.0.0-M6 自建Mcp-Client和Mcp-Server的案例,本文带着各位读者在前文的基础上10分钟完成百千问 Qwen 教程度地图MCP服务对接,让自己的大模型具备地理位置分析和算路能力。最终实现效果如下(请忽略丑陋的界面设计,毕竟这个界面也是大模型生成的HTML代码)

10分钟让你用SpringAI接入百度地图MCP服务

我们查看 lbs.baidu.com/faq/api?tit… 中的文档,按照步骤先启动百度地图的MCP-Server服务端,百度地图的MCP服务端目前提供了python和NodeJS两种实现。笔者这次使用的是Python版本的代码实现,一步步按照官方教程进行设置即可。

最终执行下述命令:


10分钟让你用SpringAI接入百度地图MCP服务

像上图这样无任何异常出现则说明百度地图mcp-server正常运行(本文在末尾会简单分析下map.py的代码内容),然后你需要去lbsyun.baidu.com/apiconsole/… 申请一个AK,这在后面我们编写MCP-client程序的时候会用到。

依赖清单可以直接参考SpringAI MCP技术初探 文中提到的github地址中的pom文件,重点依赖有两个


如果依赖下载有问题可以参考SpringAI 官方demo 设置好repository 地址。

然后直接修改项目中的 mcp-server.json 如下所示(请按照你的实际路径配置,mac系统无需填写绝对路径)


用过Claude或者cursor对这样的配置肯定不陌生,只不过不同的是我们这次是自己写代码,用qwen大模型来和这些mcp-server对接。然后打开工程中的application.yaml 文件修改如下,利用SpringAI 的自动装配能力吗,为我们自动注入McpClient



读过笔者上一篇文章的对这些代码应该不陌生,几乎无任何改动。

直接启动应用,笔者代码里面存在一个index.html,借助SpringBoot的thymeleaf实现了一个简单的界面,启动之后直接提问地图问题:

10分钟让你用SpringAI接入百度地图MCP服务

返回的格式是markdown的格式,观察对话响应内容可以发现其使用到了百度地图的MCP服务

1、大模型是怎么知道百度地图的mcp服务能提供哪些能力呢?

我们在ChatClient创建的位置打上断点即可发现:

10分钟让你用SpringAI接入百度地图MCP服务

这里定义了8个工具,如果读者细心看下百度地图map.py的代码内容的话,你就会发现其正好使用了8个@mcp.tool() 注解,使用的是Python的 FastMCP 技术方案,代码的大致内容还是去调用百度地图提供的http web服务API。

2、“黑盒”一般的大模型

仔细体验发现目前我们虽然可以做到和任何McpServer对接但是还有几个不容忽视的问题:

  • 无法追溯工具链调用细节,上面的案例中我们无法得知大模型和MCP-Server的沟通细节,无明显的数据交互日志,熟悉langChain开发的都知道,在python开发领域观察大模型调用有一个观测平台叫做langfuse(langfuse.com/docs) 目前SpringAI 暂时还不能很直观的获取大模型与McpServer的沟通细节,也不能获取大模型的调用细节,这点还得等待相关工具完善
  • 我们无法去评估大模型生成内容的准确性,简单来说我们不好评估大模型生成效果,评估大模型的生成效果是一门技术,目前SpringAI提供了Evaluator 它的思路是用另一个大模型来评估目标模型的生成效果。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:Ai探索者,转载请注明出处:https://javaforall.net/263100.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 下午10:00
下一篇 2026年3月12日 下午10:01


相关推荐

关注全栈程序员社区公众号