エンドポイント
説明
Shannonに現在設定されているすべてのモデルをプロバイダー別に返します。このエンドポイントはPython LLMサービスに直接クエリを実行し、config/models.yamlに定義されたモデルを反映します。
認証
必要: いいえ(内部サービスエンドポイント) 本番環境では、アクセスは内部ネットワークのみに制限する必要があります。リクエスト
クエリパラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
tier | string | いいえ | ティアでフィルタリング: small, medium, または large |
ヘッダー
内部アクセスには必要ありません。レスポンス
成功レスポンス
ステータス:200 OK
ボディ:
レスポンス構造
レスポンスはプロバイダー別に整理され、各プロバイダーはモデルオブジェクトの配列を返します:| フィールド | タイプ | 説明 |
|---|---|---|
id | string | モデル識別子(標準名) |
name | string | 表示名(idと同じ) |
tier | string | サイズティア: small, medium, または large |
context_window | integer | トークンの最大コンテキスト長 |
cost_per_1k_prompt_tokens | float | 1K入力トークンあたりのコスト(USD) |
cost_per_1k_completion_tokens | float | 1K出力トークンあたりのコスト(USD) |
supports_tools | boolean | 関数呼び出しサポート |
supports_streaming | boolean | リアルタイムストリーミングサポート |
available | boolean | 現在使用可能 |
例
すべてのモデルをリスト
ティアでフィルタリング
Pythonの例
モデルティア
モデルは能力とコストに基づいて3つのティアに整理されています:小ティア(ワークロードの50%を優先)
基本的なタスク向けの高速でコスト最適化されたモデル:- OpenAI: gpt-5-nano-2025-08-07
- Anthropic: claude-haiku-4-5-20251001
- xAI: grok-4-fast-non-reasoning
- Google: gemini-2.5-flash-lite
- DeepSeek: deepseek-chat
中ティア(ワークロードの40%を優先)
能力とコストのバランスが取れたモデル:- OpenAI: gpt-5-2025-08-07
- Anthropic: claude-sonnet-4-5-20250929
- xAI: grok-4
- Google: gemini-2.5-flash
- Meta: llama-4-scout
大ティア(ワークロードの10%を優先)
複雑なタスク向けの重い推論モデル:- OpenAI: gpt-4.1-2025-04-14, gpt-5-pro-2025-10-06
- Anthropic: claude-opus-4-1-20250805
- Google: gemini-2.5-pro
- DeepSeek: deepseek-r1
- xAI: grok-4-fast-reasoning
設定ソース
モデルはconfig/models.yamlのmodel_catalogに定義されています:
pricing.modelsの下に集中管理されています:
ユースケース
1. 利用可能なモデルを発見ノート
- 静的構成: モデルは
config/models.yamlから読み込まれ、プロバイダーAPIから動的に発見されることはありません。 - ホットリロード:
models.yamlの変更は、効果を得るためにサービスの再起動が必要です。 - 空のプロバイダー: プロバイダーが
[]を返す場合は、.envにAPIキーが設定されているか確認してください。 - 価格の中央集権化: すべてのコストはYAMLの
pricingセクションから取得され、Go/Rust/Pythonサービス間での一貫性が確保されます。 - 内部エンドポイント: このエンドポイントはLLMサービス(ポート8000)にあり、Gateway API(ポート8080)ではありません。
環境変数
環境変数でモデルの選択を上書きします:トラブルシューティング
空のプロバイダー配列- APIキーが設定されているか確認:
OPENAI_API_KEY,ANTHROPIC_API_KEYなど。 config/models.yamlにmodel_catalog.<provider>のエントリがあるか確認してください。
MODELS_CONFIG_PATHが正しいファイルを指しているか確認してください。- YAML構文が有効であることを確認してください。
- モデルIDにタイプミスがないか確認してください。
- 価格は
pricing.models.<provider>セクションから取得されます。 config/models.yamlを更新し、サービスを再起動してください。- Go/Rustサービスも同じ構成ファイルを読み取ることを確認してください。