摘要音频
本节课没有语音摘要。
学习笔记
📝 学习笔记:采样 (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 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.