ADK エージェント用の LiteLLM モデルコネクター¶
Supported in ADKPython v0.1.0
LiteLLM は、モデルとモデルホスティングサービスのための 変換レイヤーとして機能する Python ライブラリで、100 以上の LLM に対して 標準化された OpenAI 互換インターフェースを提供します。 ADK は LiteLLM を介して、OpenAI、Anthropic(非 Vertex AI)、Cohere など多数の プロバイダーの幅広い LLM にアクセスできます。 Open-source モデルをローカルで実行したり、セルフホストして運用制御・コスト最適化・ プライバシー保護・オフライン利用へ活用できます。
LiteLLM ライブラリを使うことで、リモートまたはローカルでホストされた AI モデルに接続できます。
- リモートモデルホスト:
LiteLlmラッパークラスを使用し、LlmAgentのmodelパラメータとして設定します。 - ローカルモデルホスト: ローカルモデルサーバーを参照するように設定された
LiteLlmラッパークラスを使用します。ローカルホスティング例は Ollama や vLLM のドキュメントを参照してください。
LiteLLM の Windows 文字エンコーディング
ADK エージェントを Windows で LiteLLM と一緒に使う場合、UnicodeDecodeError が発生する可能性があります。
これは LiteLLM が cp1252 など既定の Windows エンコーディングで
キャッシュファイルを読み込もうとすることが原因です。PYTHONUTF8 環境変数を 1 に設定すると、
Python のすべてのファイル I/O が UTF-8 で処理され、エラーを防げます。
例(PowerShell):
セットアップ¶
- LiteLLM のインストール:
-
プロバイダー API キーの設定: 使用するプロバイダーの API キーを環境変数として設定します。
-
OpenAI の例:
-
Anthropic(非 Vertex AI)の例:
-
その他のプロバイダーについては LiteLLM Providers ドキュメント に従って適切な環境変数名を確認してください。*
-
実装例¶
from google.adk.agents import LlmAgent
from google.adk.models.lite_llm import LiteLlm
# --- Example Agent using OpenAI's GPT-4o ---
# (Requires OPENAI_API_KEY)
agent_openai = LlmAgent(
model=LiteLlm(model="openai/gpt-4o"), # LiteLLM model string format
name="openai_agent",
instruction="You are a helpful assistant powered by GPT-4o.",
# ... other agent parameters
)
# --- Example Agent using Anthropic's Claude Haiku (non-Vertex) ---
# (Requires ANTHROPIC_API_KEY)
agent_claude_direct = LlmAgent(
model=LiteLlm(model="anthropic/claude-3-haiku-20240307"),
name="claude_direct_agent",
instruction="You are an assistant powered by Claude Haiku.",
# ... other agent parameters
)