Gemini APIキー回転プロキシサーバー
概要
「gemini-api-key-rotator-proxy-server」は、Googleの新しいGemini API向けのローカルプロキシサーバーです。PythonのFastAPIフレームワークを用いて構築されており、複数のAPIキーを自動でローテーションする機能を備えています。これにより、個々のキーが持つレート制限を回避し、無料プランの複数キーを組み合わせて実質的な利用上限を引き上げることが可能です。主にRoo CodeやLibreChat、Continueなどのクライアントアプリケーションでの利用を想定しており、APIキーの負荷分散とレート制限の突破をシンプルに実現します。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 2
- ファイル数: 6
- メインの言語: Python
主な特徴
- FastAPIベースの軽量かつ高速なローカルプロキシサーバー
- 複数のGoogle Gemini APIキーを自動ローテーションし、レート制限を回避
- 2つの動作モード(ネイティブプロキシとOpenAI互換プロキシ)を選択可能
- Roo CodeやLibreChatなど多様なクライアントとの連携をサポート
技術的なポイント
本プロジェクトは、Google Gemini APIの利用において問題となるAPIキーのレート制限を、複数キーの組み合わせにより突破するためのプロキシサーバーをPythonのFastAPIで実装しています。FastAPIの特長である非同期処理と高速レスポンスを活かし、ローカル環境で軽量に動作可能です。大きな技術的特徴はAPIキーの自動ローテーション機構で、これは複数の無料APIキーをプールし、順次リクエストを振り分けることで、単一キーの制限を回避します。この仕組みは、負荷分散とレート制限回避を両立し、APIの利用効率を劇的に向上させます。
また、本リポジトリでは2つの運用モードを備えています。1つはmain.py
によるネイティブプロキシモードで、Gemini APIへの直接的なリクエスト転送を行います。もう1つはmain-openai.py
によるOpenAI互換モードで、OpenAI APIのインターフェースを模倣しつつ、内部ではGemini APIを呼び出します。これにより、OpenAI互換クライアントでもGemini APIを透過的に利用でき、多様な環境での導入が容易です。
プロキシサーバーは、APIキーの使用状況を追跡し、キーがレート制限に達した場合は自動的に次のキーに切り替えます。これにより、ユーザーはAPIキー管理の煩雑さから解放され、安定したAPI利用が可能です。設定ファイルや環境変数で複数キーを簡単に登録でき、拡張性も確保されています。ファイル構成はシンプルで、READMEには使い方や設定例が丁寧に記載されており、導入のハードルを下げています。
総じて、このプロジェクトはGoogle Gemini APIの無料枠を最大限に活用しつつ、APIのレート制限に悩む開発者やサービスにとって有用なツールと言えます。PythonとFastAPIの採用により、軽量かつ拡張性の高い設計となっていることも魅力です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: Git管理対象外ファイルの指定
- LICENSE: ライセンス情報
- README.md: プロジェクトの概要と利用方法の説明
- main.py: ネイティブモードでのプロキシサーバー実装
- main-openai.py: OpenAI API互換モードのプロキシサーバー実装
- requirements.txt(推定): 依存パッケージ一覧(ファイル数から推測)
これらのファイルはシンプルな構成で、プロキシサーバーのコア機能に集中しています。READMEにはAPIキーの設定方法や起動手順、利用例が記載されており、導入から運用までをスムーズに行えます。
まとめ
複数のGemini APIキーを自動ローテーションし、レート制限を回避できる優れたPython製プロキシサーバー。
リポジトリ情報:
- 名前: gemini-api-key-rotator-proxy-server
- 説明: Gemini API: Rotate keys, break limits.
- スター数: 2
- 言語: Python
- URL: https://github.com/jwadow/gemini-api-key-rotator-proxy-server
- オーナー: jwadow
- アバター: https://avatars.githubusercontent.com/u/47058724?v=4