MCP 和 Function Calling:概念

随着人工智能的快速发展,大型语言模型(LLMs)逐渐深入到我们生活与工作的各个方面。然而,尽管模型强大,但其能力仍存在局限性,比如在实时信息获取和复杂任务执行方面仍有不足。

RAG(检索增强生成)现在在企业的 AI 应用中使用很广泛,就是为了解决模型的信息不够实时,且没有垂直领域知识的问题。

RAG 虽然厉害,但主要还是应用在智能知识问答领域,大模型想要有更强的能力,就需要有效、安全地与外界进行互动,这就诞生了 Function Calling 和 MCP 。

Function Calling 依赖大模型的能力,MCP 是一种通用协议。

本文从概念层面谈谈 Function Calling 和 MCP ,下一篇写几个代码例子。

Function Calling(函数调用)介绍

概念

Function Calling 是特定大模型(如 OpenAI 的 GPT-4、Qwen2 等)提供的一种机制,使模型能够主动生成结构化输出,以调用外部系统中预定义的函数或 API。

执行流程

通常我们说大模型调用 API,但这种说法并不完全准确,执行过程如下图:

img

0、Agent 程序是我们开发的 AI 程序,在程序中会预先向大模型注册外部函数接口(建议不超过 20 个)。

1、用户通过自然语言发起请求,Agent 接收到请求。

2、Agent 程序将用户请求提交给大模型,模型首先解析语义并评估是否需要调用外部工具。

3、模型如果判断需要调用函数,将生成包含工具 ID 和输入参数的调用指令,并返回给 Agent 程序。

4、Agent 程序接收到模型返回的调用指令后,执行对工具函数的调用。

5、工具函数执行后将结果返回给 Agent 程序。

6、Agent 程序将函数返回的结果和自定义提示词一起反馈给大模型。

7、大模型融合工具返回的数据与原始上下文,生成最终结果,并返回给 Agent 。

8、Agent 程序将结果输出呈现给终端用户。

特点

1、主动调用:模型能够识别用户的自然语言意图,决定是否调用工具,并生成调用指令。

2、实时反馈:模型生成的函数调用指令,由 Agent 程序执行后,再次反馈给模型,使模型生成实时和精准的回应。

3、具体实现灵活:没有严格的标准通信协议要求,通信格式取决于具体模型厂商。这是个特点,也是个弊端。

MCP(Model Context Protocol)介绍

概念

MCP(Model Context Protocol,模型上下文协议)是 Anthropic 公司在 2024 年 11 月推出的一种标准协议。它的目的是给 AI 模型(如大语言模型)和外部数据源或工具之间建立起统一的通信接口。

可以简单类比为 AI 的 USB 接口,无论是 AI 模型还是外部工具,只要符合 MCP 标准,就可以实现快速“即插即用”的连接,不需要为每个工具单独编写接口程序。也没有变成语言的限制,就像前后端分离后,基于 WebAPI 的规范就可以,什么语言都能写接口。

现在 OpenAI 也支持了 MCP 。

img

特点

1、开放性:MCP 是开放标准,任何开发者或服务商均可基于此协议开发 API,避免重复造轮子,推动生态共建,目前已有大量 MCP 集合站(如:https://mcp.so)。

2、标准化:采用 JSON-RPC 2.0 标准通信,确保交互统一、高效。

3、AI 增强:MCP 可将 AI 应用从简单问答升级为可执行复杂任务的工具,如管理代码、处理文件、连接外部系统。例如,Claude 通过 MCP 接入 GitHub 后,可完成项目创建、提交代码请求等复杂操作。

4、安全性:MCP 数据交互基于标准协议,便于控制数据流、防止泄露。服务器内置安全机制,可保护 API 密钥不泄露给大模型提供商,主机可授权客户端连接,确保连接安全可控。

5、兼容性:MCP 支持文件内容、数据库记录、API 响应、实时数据、截图图像、日志文件等几乎所有数据格式,适用于多样的数据交互场景。

6、扩展性:MCP 提供提示词模板(Prompts)、工具(Tools)、采样(Sampling)等功能,可灵活扩展 AI 应用与数据源交互能力。开发者可根据需求定制提示模板或使用工具扩展数据处理功能。

核心架构

MCP 采用客户端-服务器(Client-Server)架构,包括以下组件:

1、MCP Host:发起请求的 AI 应用程序或工具,如 Claude Desktop、Cursor、Windsurf 等。

2、MCP Client:位于 Host 内部,保持与 MCP Server 的一对一连接,负责消息路由、能力管理和协议协商。

3、MCP Server:提供上下文数据、工具和提示词模板的服务端组件,负责响应客户端请求,提供外部资源访问。

4、资源与工具:包括本地或远程的数据资源(如文件、数据库)及可被模型调用的功能(工具),支持 AI 模型实时获取外部信息并执行任务。

img

调用步骤

1、宿主程序(客户端)中配置相关的 MCP Server ,并建立与 MCP Server 的连接。

2、用户使用自然语言进行提问,宿主程序将提示词(整合了用户问题)和 MCP Server 提供的工具,一起给大模型。

3、大模型理解后产生调用指令,宿主程序将调用指令通过 Client 发送给 MCP Server 。

4、MCP Server 收到请求后,解析请求内容,执行相应操作(如搜索网络信息、记录笔记等),然后将处理结果封装成响应消息,发送回客户端。

img

MCP 与 Function Calling 的关系和区别

关系

大模型就像是一个大脑,MCP 与 Function Calling 都是为了让大模型能开口说话,动手做事。Function Calling 可视为 MCP 生态下的一种具体功能实现形式,尤其是在工具调用(Tools)这一概念上,两者高度相似。

区别

1、交互模式

  • MCP:支持交互式、持续性的上下文管理,AI 可以与外部资源多轮互动。
  • Function Calling:简单的请求-响应模式,单次调用执行特定任务,无交互延续性。

2、定位:

  • MCP:一种开放的标准协议,定义通用通信架构和数据格式(类似于 USB 标准)。
  • Function Calling:特定模型厂商提供的扩展能力。

3、通信协议标准化:

  • MCP:严格遵守 JSON-RPC 2.0,具备高度标准化和互操作性。
  • Function Calling:无统一标准,协议依赖具体模型厂商实现。

4、生态开放程度:

  • MCP:生态开放,社区共建为主,任意开发者或服务商可自由接入。
  • Function Calling:生态相对封闭,依赖特定模型厂商支持。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值