Gemini APIキー回転プロキシサーバー

DevOps

概要

「gemini-api-key-rotator-proxy-server」は、Googleの新しいGemini API向けのローカルプロキシサーバーです。PythonのFastAPIフレームワークを用いて構築されており、複数のAPIキーを自動でローテーションする機能を備えています。これにより、個々のキーが持つレート制限を回避し、無料プランの複数キーを組み合わせて実質的な利用上限を引き上げることが可能です。主にRoo CodeやLibreChat、Continueなどのクライアントアプリケーションでの利用を想定しており、APIキーの負荷分散とレート制限の突破をシンプルに実現します。

GitHub

リポジトリの統計情報

  • スター数: 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製プロキシサーバー。

リポジトリ情報: