OCR用AIプロバイダのマルチ登録・フェイルオーバー(Gemini/OpenAI/Anthropic) #11
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
要望
Gemini APIがQuotaLimitや障害で使えないとき、他プロバイダへ自動フェイルオーバーしたい。最大3系統を登録可能にする。
設計
GEMINI_API_KEY/OPENAI_API_KEY/ANTHROPIC_API_KEY(設定されたもののみ有効)gemini-2.5-flash-lite)→ OpenAI(gpt-4o-mini)→ Anthropic(claude-haiku)openai,anthropic影響範囲
app/services/receipt_ocr.py— プロバイダdispatch層を追加app/__init__.py— OPENAI_API_KEY/ANTHROPIC_API_KEYのconfig読み込みapp/routes/expenses.py,estimates.py— api_keys dictを渡す形に実装しました。
mainにマージ済み。仕様
GEMINI_API_KEY/OPENAI_API_KEY/ANTHROPIC_API_KEY(.envでも可)に設定されたものだけが有効gemini-2.5-flash-lite)→ OpenAI(gpt-4o-mini)→ Anthropic(claude-haiku-4-5)追加依存:
openai,anthropic。テスト55件パス。OpenAI/Anthropicのキーを.envに追加すれば即座にフェイルオーバー対象になります。