Sampling – Model Context Protocol Specification

網頁鏈接

  • https://spec.modelcontextprotocol.io/specification/draft/client/sampling/

主要內容概述

該網頁詳細介紹了Model Context Protocol (MCP) 中的“Sampling”功能。Sampling允許服務器通過客戶端請求語言模型(LLM)生成文本、音頻或圖像內容,而無需服務器直接使用API密鑰訪問模型。客戶端在模型訪問、選擇和權限方面保持控制權,同時為服務器提供AI能力。

核心內容筆記

1. 用戶交互模型 (User Interaction Model)
  • Sampling允許服務器實現代理行為,通過在其他MCP服務器功能中嵌套LLM調用。
  • 協議本身不強制規定具體的用戶交互模式,但建議:
    • 提供易于使用的界面,方便用戶審查Sampling請求。
    • 允許用戶在發送前查看和編輯提示。
    • 在交付前讓用戶審查生成的響應。
2. 功能聲明 (Capabilities)
  • 支持Sampling的客戶端必須在初始化時聲明sampling能力:
    {"capabilities": {"sampling": {}}
    }
    
3. 協議消息 (Protocol Messages)
  • 創建消息 (Creating Messages)
    • 服務器通過發送sampling/createMessage請求來請求語言模型生成內容。
    • 請求示例:
      {"jsonrpc": "2.0","id": 1,"method": "sampling/createMessage","params": {"messages": [{"role": "user","content": {"type": "text","text": "What is the capital of France?"}}],"modelPreferences": {"hints": [{"name": "claude-3-sonnet"}],"intelligencePriority": 0.8,"speedPriority": 0.5},"systemPrompt": "You are a helpful assistant.","maxTokens": 100}
      }
      
    • 響應示例:
      {"jsonrpc": "2.0","id": 1,"result": {"role": "assistant","content": {"type": "text","text": "The capital of France is Paris."},"model": "claude-3-sonnet-20240307","stopReason": "endTurn"}
      }
      
4. 消息流 (Message Flow)
  • 服務器發起Sampling請求,用戶在客戶端審查并批準請求,客戶端與模型交互并返回生成結果。
  • 流程圖:
    LLMUserClientServerLLMUserClientServer
    Server initiates sampling
    Human-in-the-loop review
    Model interaction
    Response review
    Complete request
    sampling/createMessage
    Present request for approval
    Review and approve/modify
    Forward approved request
    Return generation
    Present response for approval
    Review and approve/modify
    Return approved response
    
5. 數據類型 (Data Types)
  • 消息 (Messages)
    • Sampling消息可以包含以下內容類型:
      • 文本內容 (Text Content)
        {"type": "text","text": "The message content"
        }
        
      • 圖像內容 (Image Content)
        {"type": "image","data": "base64-encoded-image-data","mimeType": "image/jpeg"
        }
        
      • 音頻內容 (Audio Content)
        {"type": "audio","data": "base64-encoded-audio-data","mimeType": "audio/wav"
        }
        
6. 模型偏好 (Model Preferences)
  • 由于服務器和客戶端可能使用不同的AI提供商,MCP通過偏好系統抽象化模型選擇。
    • 能力優先級 (Capability Priorities)
      • 服務器通過以下三個歸一化優先級值(0-1)表達需求:
        • costPriority:成本優先級,值越高表示越偏好低成本模型。
        • speedPriority:速度優先級,值越高表示越偏好低延遲模型。
        • intelligencePriority:智能優先級,值越高表示越偏好高級功能模型。
    • 模型提示 (Model Hints)
      • 提示允許服務器建議特定模型或模型家族:
        • 提示被視為模型名稱的子字符串,可以靈活匹配。
        • 客戶端可以根據提示將請求映射到其他提供商的等效模型。
        • 示例:
          {"hints": [{"name": "claude-3-sonnet"},{"name": "claude"}],"costPriority": 0.3,"speedPriority": 0.8,"intelligencePriority": 0.5
          }
          
7. 錯誤處理 (Error Handling)
  • 客戶端應為常見失敗情況返回錯誤。
  • 示例錯誤:
    {"jsonrpc": "2.0","id": 1,"error": {"code": -1,"message": "User rejected sampling request"}
    }
    
8. 安全考慮 (Security Considerations)
  • 客戶端應實現用戶審批控制。
  • 雙方應驗證消息內容。
  • 客戶端應尊重模型偏好提示。
  • 客戶端應實現速率限制。
  • 雙方必須妥善處理敏感數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/73952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/73952.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/73952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32-匯編2、外設

1.異常處理 reserved保留 ;將所有異常都初始化成一個函數 2.nop 空指令,什么不干&#xf…

匯能感知高品質的多光譜相機VSC02UA

VSC02UA概要 VSC02UA是一款高品質的200萬像素的光譜相機,適用于工業檢測、農業、醫療等領域。VSC02UA 包含 1600 行1200 列有源像素陣列、片上 10 位 ADC 和圖像信號處理器。它帶有 USB2.0 接口,配合專門的電腦上位機軟件使用,可進行圖像采集…

在C語言基礎上學Java【Java】【一】

眾所周知,Java是C風格的語言,對于學過C語言的人學Java可以快速適應。 廢話不多說,直接邊看代碼邊學。 數據類型,輸入和輸出 import java.util.Scanner;//為了使用Scanner public class a1 {//a1是類名,就是文件名&am…

Spring組件初始化擴展點:BeanPostProcessor

目錄 一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessBeforeInitialization2、postProcessAfterInitialization 四、實戰案例案例1:實現簡單的屬性打印案例2:動態代理增強(模擬AOP) 五、常見應用場景六、注意…

多模態RAG框架(二)OmniSearch (Self-adaptive Planning Agent) and Dynamic VQA Dataset

OmniSearch:Benchmarking Multimodal RAG with Dynamic VQA Dataset and Self-adaptive Planning Agent 文章鏈接:2411.02937 Github鏈接:Alibaba-NLP/OmniSearch: Repo for Benchmarking Multimodal Retrieval Augmented Generation with …

Multisim學習-04 示波器的使用

我們選擇一個信號源來說明示波器的使用。 模擬電路中平常一般用ac,am,fm,clock就可以演示了。 截圖說明: 1)波的周期時長,首先應該調整這個參數,它的倒數就是頻率。這個參數如果不適合&#xf…

2025年03月16日Github流行趨勢

項目名稱:glance 項目地址url:https://github.com/glanceapp/glance項目語言:Go歷史star數:13768今日star數:889項目維護者:svilenmarkov, c0smicdev, wfg, DVDAndroid, jonasknobloch項目簡介:…

aws訓練快速入門教程

AWS 相關核心概念 簡潔地介紹一下AWS訓練云服務的核心關聯概念: AWS核心服務層: 基礎設施層: EC2(計算), S3(存儲), RDS(數據庫)等人工智能層: SageMaker(訓練平臺), AI服務等 機器學習服務分級: 高層: 預構建AI服務(開箱即用)中層: SageMaker(主要訓練平臺)底層: 框架和基…

對接股票金融數據源API

StockTV 股票市場API StockTV 提供全面的實時和歷史股市數據 API,涵蓋全球股票、外匯、期貨及市場新聞數據,助力投資者精準把握市場動態。 主要功能 實時和歷史股市數據 API 獲取全球股票市場的實時行情、歷史數據及深度分析,支持多語言查詢…

HTML圖像標簽的詳細介紹

1. 常用圖像格式 格式特點適用場景JPEG有損壓縮,文件小,不支持透明適合照片、復雜圖像PNG無損壓縮,支持透明(Alpha通道)適合圖標、需要透明背景的圖片GIF支持動畫,最多256色簡單動畫、低色彩圖標WebP谷歌開…

Bilve 搭建手冊

從零搭建 Bilive 需要提前安裝docker bilive 第一步 docker cli to docker compose # https://www.mklab.cn/utils/docker sudo docker run \-itd \--name bilive_docker \-p 22333:2233 \ghcr.io/timerring/bilive:0.2.10version: 3.1 services:bilive_docker:image: ghcr…

內存高級話題

面試涼經,代碼最近寫的太少了,被面試官屠殺。 痛定思痛,對C新經典中的內存話題進行復現。 new A 與 new A() 的差別 (1)如果是一個空類,這兩行代碼沒什么區別。當然現實中也沒有程序員會寫一個空類。 &am…

2025最全Xshell配置手冊:從零開始下載安裝搭建遠程連接環境

🌈 軟件介紹 Xshell 7 是由韓國 NetSarang 公司開發的一款功能強大的終端模擬器。它專為 Windows 操作系統設計,廣泛應用于遠程連接管理和服務器管理。 📥 軟件下載與準備 1. 官方下載渠道(直接下載,安全無捆綁&…

算法模型從入門到起飛系列——廣度優先遍歷(BFS)

文章目錄 前言一、廣度優先遍歷(BFS)簡介1.1 廣度優先遍歷(BFS)的特點1.2 廣度優先遍歷(BFS)的要素 二、廣度優先遍歷(BFS)& 深度優先遍歷(DFS)2.1 廣度優…

CPP從入門到入土之類和對象Ⅱ

一、六大默認成員函數 默認成員函數是用戶沒有顯式實現,編譯器自動生成的成員函數。 一個類,我們在不寫的情況下,編譯器會默認生成六個默認成員函數 本文詳細介紹構造函數和析構函數 二、構造函數 構造函數雖名為構造函數,但是…

【華三】路由器交換機忘記登入密碼或super密碼的重啟操作

【華三】路由器交換機忘記登入密碼或super密碼的重啟操作 背景步驟跳過認證設備:路由器重啟設備翻譯說明具體操作 跳過當前系統配置重啟設備具體操作 背景 當console口的密碼忘記,或者說本地用戶的密碼忘記,其實這時候是登入不了路由器的&am…

視圖窗口的客戶區

書籍:《Visual C 2017從入門到精通》的2.4.2 MFC應用程序類型 環境:visual studio 2022 內容:【例2.38】視圖窗口的客戶區 說明:以下內容大部分來自騰訊元寶。 1.創建一個單文檔程序 一個簡單的單文檔程序-CSDN博客https://bl…

MySQL原理:邏輯架構

目的:了解 SQL執行流程 以及 MySQL 內部架構,每個零件具體負責做什么 理解整體架構分別有什么模塊每個模塊具體做什么 目錄 1 服務器處理客戶端請求 1.1 MySQL 服務器端邏輯架構說明 2 Connectors 3 第一層:連接層 3.1 數據庫連接池(Conn…

慕慕手記項目日記 首頁數據的渲染,使用js 2025-3-16

慕慕手記項目日記 首頁數據的渲染,使用js 2025-3-16 到這部分我們先測試能不能使用js的方式來動態數據,先寫出一個簡短的demo出來 console.log("index.js文件引入了")var ClientHeight document.documentElement.clientHeight; // 可視區域…

當前企業使用VPN面臨的不足和挑戰

VPN的防護理念無法滿足數字化轉型的需求 古人云:知己知彼,百戰不殆,既然要替換VPN,就要先了解VPN。VPN于1996年起源,98年首次在我國出現,歷經25年的持續演進,直到現在依然廣泛流行。VPN的起源背…