概要
Octopusは、複数のLargeLanguageModel(LLM)APIを1つのハブで統一管理できるサービスです。ChatGPT、Claude、Geminiなど、異なるプロバイダーのAPIを個別に管理する手間を削減するために設計されました。
主な機能
- マルチLLM対応: ChatGPT、Claude、Geminiなど複数のLLMプロバイダーを同じインターフェースで利用可能
- 統一API: OpenAI互換のAPI仕様を提供し、既存のSDKやツールの互換性を維持
- APIキー一元管理: 複数のプロバイダーのAPIキーを1箇所で管理し、セキュアに保存
- リクエストルーティング: モデル指定に応じて自動的に適切なプロバイダーにリクエストを転送
- ログ・分析機能: APIの使用状況、コスト、レスポンス時間などを可視化
- レート制限管理: プロバイダーごとの制限値を自動管理し、エラーを最小化
- キャッシング機能: 同じクエリに対する重複リクエストを検出し、レスポンス時間を短縮
技術スタック
- 言語: Python、Node.js(選択可能)
- フレームワーク: FastAPI(Python版)、Express.js(Node.js版)
- API仕様: OpenAI互換(Chat Completion API準拠)
- データベース: PostgreSQL、Redis(キャッシング用)
- 認証: JWT、API Key管理
- デプロイ: Docker、Docker Compose対応
- モニタリング: Prometheus、Grafana連携
導入方法
インストール
- リポジトリのクローン
git clone https://github.com/bestruirui/octopus.git cd octopus - 環境設定
cp .env.example .env # .envファイルに各LLMプロバイダーのAPIキーを設定 - 依存関係のインストール
pip install -r requirements.txt # または npm install - サーバー起動
python main.py # または node server.js - 動作確認
curl http://localhost:8000/v1/models
基本的な使用例
# ChatGPTを使用
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"model": "gpt-4", "messages": [{"role": "user", "content": "こんにちは"}]}'
# Claudeを使用(同じエンドポイント)
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"model": "claude-3-opus", "messages": [{"role": "user", "content": "こんにちは"}]}'
競合比較
| 機能 | Octopus | LiteLLM | Langchain |
|---|---|---|---|
| 対応LLM数 | 5+ | 10+ | 20+ |
| APIの統一化 | ◎ | ◎ | △ |
| ホスティング | セルフホスト | 両対応 | ライブラリのみ |
| コスト追跡 | ◎ | △ | △ |
| セットアップ難易度 | 簡単 | やや複雑 | 複雑 |
| 個人利用最適化 | ◎ | △ | △ |
Octopusは個人開発者向けに特化した設計が特徴です。LiteLLMはより多くのモデルに対応していますが、セットアップと管理が複雑です。複数LLMを使い分ける際の推論速度最適化にはvLLM:LLMの高速推論を実現するオープンソースサービングエンジンとの組み合わせも有効です。また、ローカル環境でLLMを動かす選択肢としてDistributed Llama:複数PCでLLMを分散実行できるオープンソースツールも参照してください。Langchainはエンタープライズ向けで、個人利用にはオーバースペックになることが多いです。Octopusはセルフホストを前提とした軽量な実装で、APIキー管理やコスト追跡といった個人開発者が最も必要とする機能に絞り込まれています。シンプルなセットアップで即座に複数LLMを使い分けられる点が、他ツールとの大きな差別化ポイントです。
こんな人におすすめ
- 個人開発者・フリーランスエンジニア: 複数のLLMサービスを試しながら開発している人向けで、プロバイダー変更が容易になります。
- スタートアップの技術責任者: 複数LLMの組み合わせでコスト最適化を図りたい企業向けで、APIキー管理の運用コストが大幅に削減できます。
- AI/機械学習の研究者: 異なるモデルの性能比較が必要な研究活動において、実装の手間を最小化し実験に集中できます。
- LLM APIの性能測定・ベンチマーク実施者: 複数モデルの同時検証が必要な場合、統一インターフェースで正確な比較検証が実現できます。
- プライバシーを重視する開発者: 個人サーバーでセルフホスト可能なため、APIキーをサードパーティサービスに預けたくない人向けです。