Model Context Protocol Advanced Topics
← 所有课程
课程 02Model Context Protocol Advanced Topics

Sampling

摘要音频

本节课没有语音摘要。

学习笔记

📝 学习笔记:采样 (Sampling) 机制

一、核心概念

  • 采样 (Sampling) 定义: 一种机制,允许 MCP 服务器通过客户端(Client)来调用大型语言模型(如 Claude)生成文本。
  • 核心思想: 将调用 LLM 的责任从服务器端转移到客户端。
  • 服务器端 → 客户端 (执行 LLM 调用)
  • 客户端 → 服务器端 (返回生成结果)

二、工作流程概述

  • 用户请求: 用户向应用提出查询(例如:“研究考古学”)。
  • 模型决策: Claude 决定使用预先提供的工具(如“研究工具”)。
  • 工具调用: MCP 客户端将此决策转化为工具调用请求 → 发送至 MCP 服务器。
  • 工具执行: MCP 服务器上的研究工具运行(例如:向维基百科发起请求)。
  • 结果合成: 工具获取原始数据后,需要将其合成最终报告。

三、文本生成方案对比

| 方案 | 描述 | 优点 | 缺点 | | :--- | :--- | :--- | :--- | | 方案一:直接访问 | MCP 服务器直接调用 Claude/LLM 进行总结。 | 逻辑直接。 | 增加 MCP 服务器的复杂性;需要 API 密钥;增加服务器的计算负担/成本。 | | 方案二:采样 (Sampling) | MCP 服务器请求客户端代为运行提示(Prompt)并调用 LLM。 | 复杂度转移到客户端;客户端已具备 LLM 连接;服务器无需 API 密钥;适用于公共服务器。 | 需要在服务器和客户端都进行特定代码设置。 |

四、采样机制的实现步骤

  • 服务器端(在工具函数内):
  • 调用 create message 函数。
  • 传入需要交给 Claude 处理的消息列表。
  • 该列表被转化为发送给客户端的请求。
  • 客户端端:
  • 必须编写一个特定的 sampling callback(采样回调函数)。
  • 该回调函数接收服务器发送的消息。
  • 在回调内部,调用 LLM(如 Claude)生成文本。
  • 返回一个 create message 的结果给服务器。

五、应用场景

  • 主要用途: 当构建公共可访问的 MCP 服务器时,强烈推荐使用采样技术。
  • 目的: 避免公共服务器直接允许任何人调用 LLM 生成文本,从而控制成本和访问权限。

Takeaways

  • 采样机制的核心思想是将调用大型语言模型(LLM)的责任从服务器端转移到客户端。
  • 相比直接访问,采样机制能有效降低服务器的复杂性,避免暴露 API 密钥,适用于构建公共服务器。
  • 实现流程是:服务器端调用 create message 函数请求,客户端通过特定的 sampling callback 执行 LLM 调用并返回结果。
抽认卡 8 张卡片
问题
点击显示 · ←/→
答案
点击翻回
导出到 Anki (.tsv) ↓
知识检测 0 题

No quiz for this lesson yet.