サンプリング
Sampling の仕組み
1.
sampling/createMessage
リクエストをクライアントに送信2.
3.
4.
5.
メッセージ形式
リクエストパラメータ
メッセージ
messages
配列には、LLM に送信する会話履歴が含まれています。 各メッセージには以下が含まれます。role
: "user" または "assistant" のいずれかcontent
text
フィールドを持つテキストコンテンツdata
(base64) および mimeType
フィールドを持つ画像コンテンツモデルの設定
modelPreferences
オブジェクトを使用すると、サーバーはモデル選択の優先順位を指定できま す。hints
: クライアントが適切なモデルを選択するために使用できるモデル名の提案の配列:name
: 完全または部分的なモデル名に一致する文字列 (例: "claude-3", "sonnet")costPriority
: コストを最小限に抑える重要度speedPriority
: 低レイテンシー応答の重要度intelligencePriority
: 高度なモデル機能の重要度システムプロンプト
systemPrompt
フィールドを使用すると、サーバーは特定のシステムプロンプトをリクエストできます。 クライアントはこれを変更または無視する可能性 があります。コンテキストの包含
includeContext
パラメータは、含める MCP コンテキストを指定します。"none"
: 追加のコンテキストなし"thisServer"
: リクエスト元のサーバーからのコンテキストを含める"allServers"
: 接続されているすべての MCP サーバーからのコンテキストを含めるサンプリングパラメータ
temperature
: ランダム性を制御 (0.0 ~ 1.0)maxTokens
: 生成する最大トークン数stopSequences
: 生成を停止するシーケンスの配列metadata
: 追加のプロバイダー固有のパラメータ応答フォーマット
リクエスト例
{
"method": "sampling/createMessage",
"params": {
"messages": [
{
"role": "user",
"content": {
"type": "text",
"text": "What files are in the current directory?"
}
}
],
"systemPrompt": "You are a helpful file system assistant.",
"includeContext": "thisServer",
"maxTokens": 100
}
}
ベストプラクティス
1.
2.
3.
4.
includeContext
を通じて関連するコンテキストを含める5.