LLMプロバイダー
Koogは主要なLLMプロバイダーに対応しており、Ollamaを使用したローカルモデルもサポートしています。 現在、以下のプロバイダーがサポートされています:
LLMプロバイダー | 選択の理由 |
|---|---|
| OpenAI (Azure OpenAI Service を含む) | 幅広い機能を備えた高度なモデル。 |
| Anthropic | 長いコンテキストとプロンプトキャッシュ。 |
| マルチモーダル処理(オーディオ、ビデオ)、大規模コンテキスト。 | |
| DeepSeek | コスト効率の高い推論(Reasoning)とコーディング。 |
| OpenRouter | 柔軟性、プロバイダー比較、および統一APIのために、複数のプロバイダーの複数のモデルにアクセスできる単一の統合。 |
| Amazon Bedrock | AWSネイティブ環境、エンタープライズレベルのセキュリティとコンプライアンス、マルチプロバイダーアクセス。 |
| Mistral | 欧州でのデータホスティング、GDPR準拠。 |
| Alibaba (DashScope OpenAI互換クライアント) | 大規模コンテキストとコスト効率の高いQwenモデル。 |
| Ollama | プライバシー、ローカル開発、オフライン動作、およびAPIコストなし。 |
以下の表は、KoogがサポートするLLMの機能と、各プロバイダーのモデルがこれらの機能を提供しているかどうかを示しています。
LLMの機能 | OpenAI | Anthropic | DeepSeek | OpenRouter | Amazon Bedrock | Mistral | Alibaba (DashScope OpenAI互換クライアント) | Ollama (ローカルモデル) | |
|---|---|---|---|---|---|---|---|---|---|
| サポートされている入力 | テキスト、画像、オーディオ、ドキュメント | テキスト、画像、ドキュメント^1 | テキスト、画像、オーディオ、ビデオ、ドキュメント^1 | テキスト | モデルにより異なる | モデルにより異なる | テキスト、画像、ドキュメント^1 | テキスト、画像、オーディオ、ビデオ^1 | テキスト、画像^1 |
| レスポンスストリーミング | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ツール(Tools) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓^1 | ✓ | ✓ | ✓ |
| ツールの選択(Tool choice) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓^1 | ✓ | ✓ | – |
| 構造化出力 (JSON Schema) | ✓ | ✓^1 | ✓ | ✓ | ✓^1 | – | ✓ | ✓^1 | ✓ |
| 複数の選択肢(Multiple choices) | ✓ | – | ✓ | – | ✓^1 | ✓^1 | ✓ | ✓^1 | – |
| テンパレチャ(Temperature) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| スペキュレーション(Speculation) | ✓^1 | – | – | – | ✓^1 | – | ✓^1 | ✓^1 | – |
| コンテンツモデレーション | ✓ | – | – | – | – | ✓ | ✓ | – | ✓ |
| エンベディング(Embeddings) | ✓ | – | – | – | – | ✓ | ✓ | – | ✓ |
| プロンプトキャッシュ | ✓^1 | ✓ | – | – | – | – | – | – | – |
| 補完(Completion) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ローカル実行 | – | – | – | – | – | – | – | – | ✓ |
NOTE
Koogは、AIエージェントの作成に最も一般的に使用される機能をサポートしています。 各プロバイダーのLLMには、Koogが現在サポートしていない追加機能がある場合があります。 詳細については、モデルの機能を参照してください。
プロバイダーの使用
Koogでは、2つのレベルでLLMプロバイダーを利用できます:
LLMクライアントの使用:特定のプロバイダーと直接対話するためのものです。 各クライアントは
LLMClientインターフェースを実装しており、認証、 リクエストのフォーマット、プロバイダー向けのレスポンス解析を処理します。 詳細については、LLMクライアントを参照してください。- プロンプトエグゼキューター(Prompt executor)の使用:1つまたは複数のLLMクライアントをラップし、 そのライフサイクルを管理し、プロバイダー間でインターフェースを統一する、より高レベルの抽象化です。 プロバイダーを切り替えたり、 オプションとして、対応するクライアントを使用して設定済みのプロバイダーやLLMにフォールバックしたりできます。 独自の実行プログラムを作成することも、特定のプロバイダー向けに定義済みのプロンプトエグゼキューターを使用することもできます。 詳細については、プロンプトエグゼキューターを参照してください。
プロンプトエグゼキューターを使用すると、1つ以上の LLMClient を覆う高レベルのレイヤーが提供されます。 これはクライアントのライフサイクルを管理し、プロバイダー間で統一されたインターフェースを公開します。 マルチプロバイダー構成では、プロバイダー間でリクエストをルーティングでき、必要に応じてコアリクエストに対して指定されたクライアントにフォールバックすることも可能です。 独自の実行プログラムを作成することも、定義済みのもの(単一プロバイダー用とマルチプロバイダー用の両方のオプションがあります)を使用することもできます。
次のステップ
- 特定のLLMプロバイダーを使用してエージェントを作成して実行する。
- プロンプトについて詳しく学ぶ。
