AIパーソナル・ラーニング
と実践的なガイダンス

Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、リージョン制限を解除し、マルチAPIキーポーリングをサポートする。

この記事は2024-12-29 13:31に更新されました。内容の一部は時間的制約があります!

はじめに

ジェミニ BalanceはFastAPIフレームワークに基づいて開発されたOpenAI APIプロキシサービスで、効率的なマルチAPI Key管理と最適化機能を提供することを目的としている。Geminiモデルコールをサポートし、主な機能として、マルチAPI Keyポーリング、認証フォレンジック、ストリーミングレスポンス、CORSクロスドメインサポート、ヘルスチェックインタフェースがあります。Python 3.9+やDockerなどの技術スタックを使用することで、Gemini Balanceは、高い同時実行性と高い信頼性を必要とするアプリケーションシナリオのための柔軟で効率的なAPIプロキシソリューションを開発者に提供します。

 

機能一覧

  • マルチAPIキー・ポーリングのサポート
  • ベアラ・トークン認証
  • ストリーミング対応
  • CORSクロスドメイン対応
  • ヘルスチェック・インターフェイス
  • Geminiモデルコールのサポート
  • 検索機能をサポート
  • コード実行のサポート

 

ヘルプの使用

環境要件

  • Python 3.9+
  • Docker(オプション)

依存関係のインストール

pip install -r requirements.txt

設定ファイル

確立環境ファイルを作成し、以下のパラメータを設定する:

API_KEYS=["your-api-key-1", "your-api-key-2"]
ALLOWED_TOKENS=["your-access-token-1", "your-access-token-2"]]。
BASE_URL="https://generativelanguage.googleapis.com/v1beta"
TOOLS_CODE_EXECUTION_ENABLED=true
MODEL_SEARCH=["gemini-2.0-flash-exp"]

Dockerのデプロイメント

docker build -t gemini-balance .
docker run -p 8000:8000 -d gemini-balance

APIインターフェース

  • モデル一覧の取得
  GET /v1/models
認証:ベアラyour-token
  • チャット完了。
  POST /v1/chat/completions
認証:ベアラyour-token
{
「メッセージ": [...],
"model": "gemini-1.5-flash-002",
"temperature": 0.7、
「stream": false, "tools": []。
「tools": [].
}
  • 埋め込み
  POST /v1/embeddings
認可:ベアラyour-token
{
"input": "ここにあなたのテキスト", "model": "text-embedding-004", "text-embedding-004
"model": "text-embedding-004"
}
  • 健康診断
  健康

コード構造

  • アプリ
    • api/
    • routes.pyAPIルーティング
    • 依存関係.py依存性の注入
    • コア/
    • config.py構成管理
    • セキュリティ.pyセキュリティ認証
    • サービス
    • chat_service.pyチャットサービス
    • key_manager.pyキーマネージメント
    • model_service.pyモデリング・サービス
    • スキーマ
    • request_model.pyリクエストモデル
    • main.pyメインプログラムへの入場
  • ドッカーファイルDockerの設定
  • 要件.txtプロジェクトの依存関係

安全機能

  • APIキー・ポーリング・メカニズム
  • ベアラ・トークン認証
  • ロギングのリクエスト
  • リトライの失敗
  • キーの有効性チェック

ほら

  • APIキーとアクセストークンを安全に保管してください!
  • 本番環境では、環境変数を使用して機密情報を設定することをお勧めします。
  • デフォルトのサービスポートは8000
  • APIキーのデフォルトの再試行回数は10回である。
  • サポートされているモデルのリストについては、Gemini APIドキュメントを参照してください。

 

追記: huggingfaceはgeminiエージェントを展開し、アカウントのポーリングコールを行い、地域制限を解除する。

1.コピースペース
双子座のバランス - スネイプによるハグする顔の空間


Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、地域制限を解除し、マルチAPIキーポーリング-1をサポートします。

 

2.可視性を次のように変更する。パブリック(公開、またはアクセス不可への変更に注意してください)、コンフィギュレーション許可されたトークン,API_KEYS,ベースURLデフォルト

Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、地域制限を解除し、マルチAPIキーポーリング-1をサポートします。

許可されたトークン フォーマット[カスタム・アピキー]括弧、コンマ、逆コンマは厳守すること。
API_KEYSフォーマットは1つのキーの形式である:["gemini_key1"]。複数のキーの形式["gemini_key1"、"gemini_key2"]]。括弧、コンマ、逆コンマは厳守すること。
ベースURLデフォルトのままにしておく

 

3.デプロイが成功するまで待ちます。デプロイが成功すると、以下のログと実行ステータスが表示されます。

Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、地域制限を解除し、マルチAPIキーポーリング-1をサポートします。

 

4.この時点で、huggingfaceサービスのデフォルトホストはhuggingface ユーザー名-gemini-balance.hf.space私のようにね。snailyp-gemini-balance.hf.スペース

銘記するHuggingfaceサービスは48時間使用されないとスリープ状態に入るので、Qinglong panelやuptime kumaのような定時タスクで生かしておくことをお勧めします。(getリクエストで直接呼び出されます)https://用户名-gemini-balance.hf.space(できる)。

 

5.対応エンドポイント/hf/v1/モデル歌で応える/hf/v1/チャット/コンプリーション

 

6.huggingfaceのドメイン名は、直接国内にアクセスできない場合があります。hf.spaceはアクセスできるようですが、アクセスできない場合は、次のプロセスを参照することができます。

cfワーカーをプロキシとして使い、カスタムドメイン名をバインドすることで、中国からアクセスすることができます。cfワーカーのプロキシコードは以下の通りです。url.hostを自分のものに変更する。::

export default { async fetch(request, env) { const url = new URL(request.url); url.host = 'xxx-gemini-balance.hf.space'; url.pathname = "/hf" + url.pathname; return fetch(new Request(url, request)) } }.

銘記するプロキシされたエンドポイントは/hfを削除するので、エンドポイントは次のようになる。/v1/モデル歌で応える/v1/chat/completionsクライアントのコンフィギュレーションには少し注意が必要だ。

 

7.現在のところ、画像処理と構造語の出力を実行することはできません。

Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、地域制限を解除し、マルチAPIキーポーリング-1をサポートします。

無断転載を禁じます:チーフAIシェアリングサークル " Gemini Balance: GeminiモデルAPIはOpenAIフォーマットと互換性があり、リージョン制限を解除し、マルチAPIキーポーリングをサポートする。

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語