最近相信大家都被MCP给刷屏了,我这又是赶了个晚集。赶紧来研究研究这到底是个什么东西。
Function Call
起初,我们通过输入prompt的方式与大模型进行问答交流,慢慢的衍生成了AI类应用以及AI Agent智能体的概念,即我们通过预设prompt的方式规定AI的角色以及回答内容,后可以通过代码逻辑对回答的内容进行判断执行不同的代码逻辑。
例如一个设定prompt如下:
# 能力你具备如下能力:1 天气查询2 路线查询3 机票查询你会根据用户的输入判断应该使用哪个工具,并回复对应的编号
然后当调用它时,它就会判断出应该使用哪个工具,并进行返回,后续代码根据它的返回结果进行相关工具的调用
用户: 明天天气怎么样
(后台逻辑)
AI接收用户输入,并分析
回复 1
代码中if判断为1时,进行天气查询函数的调用,并将结果返回
大模型整合返回结果并输出给用户
(后台逻辑)
大模型:明天天气xxxx
如此一来,变相的将只会问答的大模型升级为可以使用工具的智能体应用,这个过程就叫做Function Call,其中最知名的工具库就是LangChain。
但是我们发现,在不同的场景下,我们需要不同的设定以及工具的开发,并没有复用性。
但实际上,工具是最不应该重复进行开发的,所以后面不同的智能体平台都推出了插件、工作流等这些可复用的能力,但仅仅只限于其平台中,并没有做到像代码中的第三方库一样,可被全网调用。
MCP
于是,MCP就解决了这个问题。
模型上下文协议(Model Context Protocol,MCP),顾名思义,它规定了大模型的上下文信息的传输方式。协议这个东西很好理解,就是一种规范,例如:TCP/IP协议规定了网络数据包的格式,HTTP协议规定了WEB应用的数据通信格式。而MCP就是规定了大模型上下文的传输规范。
上面这个图,我觉得就很好的展现了MCP的一个角色定位,它就好比一个万能接口转换器,适配不同大模型工具平台,提供出一个标准的全网可直接接入的一个规范,也是通过C/S的架构,进行大模型服务调用。
凡是使用MCP的工具,均可按照该协议标准直接使用,相当于中间做了一层封装,无需再考虑各个平台的接入方式,实现了大模型工具”跨平台“。
体验
接入MCP的大模型工具平台都是Server,我们如果想要使用,直接本地作为Client按照MCP协议进行调用即可。我们无需自己实现,目前已经有多个AI客户端工具具备了这些能力,这里我是用Cherry Studio这个开源工具
https://cherry-ai.com/
装好之后,打开工具
在设置中,可以找到一个MCP 服务器,如果该地方显示出现红色三角形,则代表需UV,Bun环境缺失,则自己需要点进去手动安装一下
点击左上方,有一个更多MCP,跳转到
https://mcp.so/
这里我用网页爬取的FetchMCP来举例,记住这边的Server Config
随后,新建一个MCP服务器,点击左上角编辑MCP配置
将Server Config 复制进去 保存,并打开左上角开关,代表MCP Server启动。
然后,我们需要配置一个模型,我们就用硅基流动的API(之前提到过,不过多赘述)
回到对话中,下面选中MCP Server中的刚刚创建好的fetch服务。
可以看到,配置生效了,只是因为robots.txt限制了爬取,但是MCP工具调用没问题。
好的,收工!
原文始发于微信公众号(飞羽技术工坊):最近都在传的大模型MCP到底是个啥
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论