karakan-app-selector-wen は何をしますか?
優先度付きキュー、マルチモデルルーティング、フォールトトレランス、セマンティックキャッシュにより、同時発生するLLMリクエストを管理し、効率的なAIワークフローを実現します。
概要
このスキルは、AIエージェント環境(Claude Codeなど)において、複数のLLMプロバイダへのリクエストを統合的に管理するための高度なミドルウェアを提供します。以下の機能を備えています。
- 優先度付きキュー: リクエストに優先度を設定し、重要なタスクを先に処理します。
- マルチモデルルーティング: リクエストの内容や要件に基づいて、最適なモデル(例:claude-3-opus、gpt-4、gemini-pro)に自動的にルーティングします。
- フォールトトレランス: リクエストが失敗した場合、自動的に再試行するか、代替モデルにフェイルオーバーします。
- セマンティックキャッシュ: 過去のリクエストとその応答を意味的にキャッシュし、同一または類似のリクエストに対して高速に応答を返します。
使用方法
前提条件
- 使用するLLMプロバイダのAPIキーが環境変数として設定されていること(例:
ANTHROPIC_API_KEY、OPENAI_API_KEY)。 - Python 3.8以上がインストールされていること。
インストール
# 必要なPythonパッケージをインストール
pip install requests numpy
# スキルファイルをagentのスキルディレクトリに配置
cp karakan-app-selector-wen.md /path/to/agent/skills/
設定
.envファイルまたは環境変数で設定を行います。
# 必須: 使用するLLMプロバイダのAPIキー
ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
# オプション: 優先度キューの設定
PRIORITY_QUEUE_MAX_SIZE=100
PRIORITY_QUEUE_DEFAULT_PRIORITY=5
# オプション: セマンティックキャッシュの設定
SEMANTIC_CACHE_ENABLED=true
SEMANTIC_CACHE_SIZE=500
SEMANTIC_CACHE_SIMILARITY_THRESHOLD=0.85
基本的な使用例
from karakan_app_selector_wen import RequestManager
# マネージャーの初期化
manager = RequestManager()
# 優先度付きリクエストの送信
response = manager.send_request(
prompt="最新のAI研究トレンドについて教えてください。",
priority=10, # 高い数値ほど優先度が高い
preferred_model="anthropic/claude-3-opus-20240229",
fallback_models=["openai/gpt-4-turbo", "google/gemini-pro"]
)
print(response.text)
アーキテクチャ
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ User App │────▶│ Priority │────▶│ Model Router │
└─────────────┘ │ Queue │ └────────┬────────┘
└──────────────┘ │
▼
┌─────────────────┐
│ LLM Provider │
│ (Anthropic, │
│ OpenAI, etc.) │
└─────────────────┘
┌──────────────┐ │
│ Semantic │◀─────────────┘
│ Cache │
└──────────────┘
対応プロバイダ
- Anthropic (Claude) -
anthropic/ - OpenAI (GPT-4, GPT-3.5) -
openai/ - Google (Gemini) -
google/ - その他、カスタムプロバイダもプラグイン可能
開発者向け情報
詳細なAPIドキュメントやコントリビューションガイドについては、GitHubリポジトリを参照してください。