深圳Yolo 视觉
深圳
立即加入
词汇表

模型上下文协议 (MCP)

了解模型上下文协议 (MCP) 如何标准化AI与数据和工具的连接。探索如何将Ultralytics YOLO26与MCP集成,实现更智能的工作流。

模型上下文协议 (MCP) 是一种开放标准,旨在规范 AI 模型与外部数据、工具和环境的交互方式。过去,将 大型语言模型 (LLM) 或计算机视觉系统连接到真实世界的数据源(例如本地文件、数据库或 API 端点)需要为每个工具构建定制集成。MCP 通过提供一种通用协议来解决这种碎片化问题,该协议类似于 AI 应用程序的 USB 端口。这使得开发人员可以构建一次连接器,并在多个 AI 客户端上使用,从而显著降低了创建 上下文感知型客户支持 代理和智能助手的复杂性。

MCP 的工作原理

MCP 的核心是通过客户端-主机-服务器架构运行。“客户端”是发起请求的 AI 应用程序(例如编程助手或聊天机器人界面)。“主机”提供运行时环境,“服务器”是连接特定数据或工具的桥梁。当 AI 代理 需要访问文件或查询数据库时,它会通过协议发送请求。MCP 服务器处理此请求,检索必要的上下文,并以结构化方式将其格式化回模型。

这种架构支持三种主要功能:

  • 资源: 它们允许模型读取日志、代码文件或业务文档等数据,为 检索增强生成(RAG) 提供必要的依据。
  • 提示: 预定义模板,帮助用户或模型有效地与服务器交互,从而简化 提示工程 工作流程。
  • 工具: 可执行函数,允许模型执行操作,例如编辑文件、运行脚本或与 计算机视觉 流水线交互。

实际应用

MCP 正在迅速普及,因为它将模型与集成逻辑解耦。以下是其应用的两个具体示例:

  1. 统一开发环境: 在软件工程中,开发者经常在 IDE、终端和文档之间切换。一个支持 MCP 的编程助手可以同时连接到 GitHub 仓库、本地文件系统和错误跟踪数据库。如果开发者询问“为什么登录失败?”,AI 可以使用 MCP 服务器拉取最新的错误日志,读取相关的认证代码,并检查未解决的问题,将这些 多模态数据 综合成一个解决方案,而无需用户复制粘贴上下文。

  2. 上下文感知视觉检测:在工业环境中,标准的视觉模型可以detect缺陷,但缺乏历史上下文。通过使用MCP,一个 Ultralytics YOLO26检测系统可以与库存数据库关联。当模型detect到“损坏部件”时,它会触发MCP工具查询数据库以获取替换件可用性,并自动起草维护工单。这会将一个简单的 目标检测任务转化为一个完整的自动化工作流。

区分相关术语

将 MCP 与 AI 生态系统中类似概念区分开来是有帮助的:

  • MCP 与 API:应用程序编程接口(API)是一套特定的规则,用于一个软件与另一个软件进行通信。MCP 是一种协议,它标准化了任何 AI 模型与任何 API 或数据源的交互方式。您可以构建一个封装特定 API 的 MCP 服务器,使其对符合 MCP 标准的客户端普遍可访问。
  • MCP 与 RAG: 检索增强生成是一种向模型提供外部数据的技术。MCP 是促进这一过程的基础设施。RAG 是“什么”(获取数据),而 MCP 是“如何”(标准连接管道)。
  • MCP 与函数调用:许多模型,包括 OpenAI GPT-4,都原生支持函数调用。MCP 创建了一种定义和暴露这些函数(工具)的标准方式,这样就不必每次都将它们硬编码到模型的系统提示中。

与计算机视觉集成

尽管MCP最初因基于文本的LLM而普及,但它在以视觉为中心的工作流中正变得越来越重要。开发者可以创建MCP服务器,将计算机视觉能力作为工具暴露出来。例如,一个充当中央控制器的LLM可以通过一个作为MCP工具暴露的本地python脚本,将视觉任务委托给Ultralytics模型。

以下 Python 代码片段演示了一个概念性工作流,其中脚本使用视觉模型生成上下文,然后可以通过 MCP 兼容的端点提供该上下文:

from ultralytics import YOLO

# Load the YOLO26 model (efficient, end-to-end detection)
model = YOLO("yolo26n.pt")

# Perform inference to get visual context from an image
results = model("https://ultralytics.com/images/bus.jpg")

# Extract detection data to be passed as context
detections = []
for r in results:
    for box in r.boxes:
        cls_name = model.names[int(box.cls)]
        detections.append(f"{cls_name} (conf: {box.conf.item():.2f})")

# This string serves as the 'context' a downstream agent might request
context_string = f"Visual Analysis: Found {', '.join(detections)}"
print(context_string)

AI 连接的未来

模型上下文协议的引入标志着向模块化、可互操作的 智能体 AI 系统转变。通过标准化连接,行业正从孤立的聊天机器人转向能够在组织现有基础设施内完成有意义工作的集成助手。随着 Ultralytics 平台 等工具的不断发展,MCP 等标准协议很可能在 定制训练模型 如何部署和应用于大型企业工作流中发挥关键作用。

让我们一起共建AI的未来!

开启您的机器学习未来之旅