DeepSeek V4 - Anthropic 互換インターフェース
- Anthropic Messages プロトコルを使用して DeepSeek V4 モデルを呼び出し
deepseek-v4-flash/deepseek-v4-proをサポート- リクエスト / レスポンス構造は Anthropic API と整合
- テキスト会話(画像 / ドキュメントコンテンツタイプは現在未サポート)
- システムプロンプト:トップレベルの
systemで渡す - 思考モード:
thinkingオブジェクトで切替;思考内容はcontent[type=thinking]block で返されます - ストリーミング出力:SSE イベントストリーム
- ツール呼び出し:Anthropic
tool_use/tool_resultフローに互換
認証
##すべてのインターフェースは Bearer Token による認証が必要です## **API Key の取得**: [API Key 管理ページ](https://starmagic.ai/app/api-keys) にアクセスして API Key を取得してください **使用時はリクエストヘッダに追加**: ``` Authorization: Bearer YOUR_API_KEY ``` **備考**:Anthropic ネイティブ API は `x-api-key` ヘッダを使用しますが、EvoLink の `/v1/messages` は統一して Bearer Token 認証を採用します。
Authorization: Bearer YOUR_API_KEYリクエストボディ
application/json呼び出すモデル - `deepseek-v4-flash`:高速汎用 - `deepseek-v4-pro`:深度推論 **ヒント**:両モデルは **デフォルトで thinking が有効** であり、レスポンスには常に `type="thinking"` の content block が含まれます。無効化する場合は明示的に `thinking.type="disabled"` を指定してください。未指定またはサポートされていない model は自動的に `deepseek-v4-flash` にマッピングされます。
"deepseek-v4-flash"生成する最大 token 数(**必須**) **説明**: - V4 シリーズは最大 **384,000** まで可能 - thinking で生成される token も max_tokens の上限に含まれます
1024会話メッセージリスト、ターンごとに user / assistant が交互 **説明**: - 少なくとも 1 つのメッセージを含む - 最後のメッセージは通常 `role=user` - `image` / `document` コンテンツタイプは現在未サポート
[
{
"role": "user",
"content": null
}
]システムプロンプト、AI の役割と動作を設定するために使用 **説明**: - 文字列または文字列配列をサポート - OpenAI エンドポイントの `system` メッセージとは異なり、Anthropic エンドポイントはトップレベルの `system` フィールドを使用
サンプリング温度 **説明**: - 範囲 `[0.0, 2.0]` - デフォルト 1;値が高いほど発散的、低いほど確定的
1核サンプリング閾値 **説明**: - 範囲 `[0, 1]` - temperature と top_p を同時に調整しないことを推奨
1カスタム停止シーケンス **説明**: - モデルがいずれかの文字列に遭遇すると生成を停止 - 最大 4 個(Anthropic 規範に従う)
[
"string"
]SSE ストリーミングで返すかどうか - `true`:Server-Sent Events でストリーミング返却 - `false`:完全なレスポンス後に一度に返す(デフォルト)
false思考モード制御(V4) **説明**: - **両モデルともデフォルトで有効**(`type=enabled`) - 有効時、レスポンスの `content` 配列に `type="thinking"` の推論過程 block が出現します(出力 token として課金) - **注意**:この API は Anthropic ネイティブの `budget_tokens` フィールドを **無視** します。深度制御には `output_config.effort` を使用してください - マルチターン会話では、前ターンのレスポンスの thinking block をそのまま assistant `content` 配列に戻すだけで OK(Anthropic プロトコルスタイルはより寛容で、thinking の欠落でエラーにはなりませんが、signature を保持することでコンテキストの一貫性が向上します)
{
"type": "enabled",
"budget_tokens": 0
}出力設定(V4 拡張) **説明**:Deepseek は `effort` フィールドのみサポート
{
"effort": "medium"
}ツール定義リスト **説明**: - Anthropic tool 定義規範に従う - `input_schema` は JSON Schema オブジェクトを使用
[
{
"name": "string",
"description": "string",
"input_schema": {}
}
]ツール呼び出し動作を制御 **選択可能な type**: - `auto`:モデルが自動決定(tools 提供時のデフォルト) - `any`:必ず何らかのツールを呼び出す(どれかは指定しない) - `tool`:指定された `name` のツールを必ず呼び出す - `none`:ツール呼び出しを禁止
{
"type": "auto",
"name": "string",
"disable_parallel_tool_use": true
}レスポンス
application/jsonレスポンスボディ
メッセージの一意 ID
"string"レスポンスオブジェクトタイプ
"message""assistant"実際に使用されたモデル
"deepseek-v4-pro"レスポンス内容ブロックリスト **含まれる可能性のある block type**: - `thinking`:推論過程(thinking 有効時のみ) - `text`:最終回答テキスト - `tool_use`:モデルが発起したツール呼び出し
[
{
"type": "text",
"text": "string",
"thinking": "string",
"signature": "string",
"id": "string",
"name": "string",
"input": {}
}
]停止理由 - `end_turn`:自然終了 - `max_tokens`:max_tokens の上限に到達 - `stop_sequence`:stop_sequences にヒット - `tool_use`:モデルがツール呼び出しをトリガー
"end_turn"stop_reason=`stop_sequence` の場合にヒットした具体的なシーケンス、それ以外は null
Token 使用統計(Anthropic 規範)
{
"input_tokens": 10,
"output_tokens": 30,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"service_tier": "standard"
}
