地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Pydantic AI】LLMのフォールバック処理を実装する

from pydantic_ai import Agent, ModelHTTPError
from pydantic_ai.models.fallback import FallbackModel
from pydantic_ai.models.google import GoogleModel
from pydantic_ai.models.anthropic import AnthropicModel

gemini_model = GoogleModel('gemini-2.0-flash')
gemini_model2 = GoogleModel('gemini-2.0-flash')
fallback_model = FallbackModel(gemini_model, gemini_model2)

agent = Agent(fallback_model)

try:
    result = agent.run_sync('質問内容')
    print(f"使用されたモデル: {result.all_messages()[-1].model_name}")
    print(f"回答: {result.output}")
except* ModelHTTPError as exc_group:
    for exc in exc_group.exceptions:
        print(f"エラー: {exc}")