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

模型上下文协议(MCP)

了解模型上下文协议(MCP)如何规范人工智能与数据及工具的连接。探索如何Ultralytics 与MCP集成,实现更智能的工作流程。

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

MCP的工作原理

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

该架构支持三项主要功能:

  • 资源:这些资源使模型能够读取数据,例如日志、代码文件或业务文档, 为检索增强生成(RAG)提供必要的支撑。
  • 提示:预定义模板,帮助用户或模型高效与服务器交互, 优化提示工程工作流程。
  • 工具:可执行函数,使模型能够采取行动,例如编辑文件、运行脚本或与计算机视觉管道交互。

实际应用

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

  1. 统一开发环境:在软件工程中,开发人员常需在集成开发环境(IDE)、终端和文档之间切换。 具备MCP功能的编码助手可同时连接GitHub仓库、本地文件系统和缺陷追踪数据库。当开发者询问"为何登录失败?"时,AI能调用MCP服务器提取最新错误日志、读取相关认证代码并核查待处理问题,将这些多模态数据整合为解决方案——用户无需手动复制粘贴上下文信息。

  2. 情境感知视觉检测:在工业环境中,标准视觉模型虽能检测缺陷,却缺乏历史背景信息。 通过采用MCP技术,Ultralytics 系统可与库存数据库联动。当模型检测到"损坏部件"时,将触发MCP工具查询数据库的替换件可用性,并自动生成维护工单。这将简单的物体检测任务转化为完整的自动化工作流。

区分相关术语

区分MCP与人工智能生态系统中的类似概念很有帮助:

  • MCP 与 API 的区别:应用程序接口(API)是一套特定规则,用于实现软件组件间的通信。而 MCP 是一种协议,它标准化了任何人工智能模型与任何API 或数据源的交互方式。你可以构建一个 MCP 服务器来封装特定的 API,使其能够被所有符合 MCP 标准的客户端普遍访问。
  • MCP 与 RAG: 检索增强生成(RAG) 是一种向模型输入外部数据的技术。MCP 是实现该功能的基础架构。RAG 是"获取数据"的手段,而 MCP 是"实现该功能"的标准连接管道。
  • MCP 与函数调用:许多模型(包括OpenAI GPT-4)原生支持函数调用。MCP 提供了一种标准化的方式来定义和暴露这些函数(工具),从而避免每次都将它们硬编码到模型的系统提示符中。

与计算机视觉集成

虽然最初因文本型大型语言模型而广受欢迎,MCP如今在以视觉为核心的工作流程中也日益重要。开发者可创建MCP服务器,将计算机视觉能力作为工具对外开放。例如,作为中央控制器的语言模型可通过本地Python (以MCP工具形式暴露)将视觉任务委托给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)

人工智能互联的未来

模型上下文协议的引入标志着人工智能系统正向模块化、互操作的 智能体人工智能 方向转变。通过标准化连接方式,行业正摆脱孤岛式聊天机器人, 转向能够在企业现有基础设施中开展实质性工作的集成式助手。 随着Ultralytics 等工具持续进化, MCP这类标准协议将在定制训练模型 如何部署于大型企业工作流中发挥关键作用。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入