注:これは研究プロジェクトです。商用利用は行わず、責任を持ってご利用ください。
このプロジェクトは、Google Gemini と Claude 3 への統一インターフェイスを提供する Web API を実装します。
自己ホスト型: Python/FastAPI により、どこでも柔軟に実行できます。独自のプラットフォームにロックされません。
ストリーミングのサポート:クロード ストリーミングからのリアルタイム応答。
軽量でスケーラブル: FastAPI で構築されており、高いパフォーマンスを実現します。
API キー: API キーは必要ありません。
✅ Claude-3 API 統合も完全に実装され、利用可能です
✅ Google Gemini API 統合が利用可能になりました
✅ UI 設定: localhost:8000/WebAI パスのルーティングを実装します。
PIP : 進行中
このリポジトリは最新です。
スターを付けることを忘れないでください
Python バージョン >= 3.10 以下のアカウント (すべて無料サインアップを提供します):
次に、トークンをConfig.conf
ファイルに追加します。 ( 「構成」セクションを参照)。
注記
注: ClaudeとGeminiには自動ログイン オプションが用意されています。ブラウザからログインしてこの手順をスキップすることもできます。
git clone https://github.com/Amm1rr/WebAI-to-API.git && cd WebAI-to-API
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv S cripts a ctivate # Windows
pip install -r requirements.txt
webai2api
ディレクトリに移動し、Web サーバーを実行します。
cd WebAI-to-API/webai2api/
python run.py
これで、 API ドキュメントと構成 Web UI が次のアドレスから入手できるようになります。
ヒント
オープン Web UI 構成: http://localhost:8000/WebAI
オープン API ドキュメント: http://localhost:8000/docs
注記
ジェミニ
http://localhost:8000/gemini
クロード
http://localhost:8000/claude
クロード/ジェミニ
http://localhost:8000/v1/chat/completions
入力/出力
# Input:
_____
{
" message " : " Hi, Who are you? " ,
" stream " : true
}
--------------------
# Output:
_____
{
I am a Chatbot assistant :)
}
--------------------
# Response Output:
_____
# Streaming
" String "
# Not Streaming
" String "
まず、 UI ディレクトリに移動します。
cd WebAI-to-API/webai2api/UI
npm install
npm run build
python webai2apirun.py
を使用して Web サーバーを起動したら、次のようにします。
注記
注: サンプルを実行する最初の引数は、ストリーミングを返すかどうかを決定します。
cd examples/
python WebAPI-to-API/webai2api/test.py
OR
python example_claude.py false
python example_claude.py true
python example_gemini.py
またはcURLでClaude を試してください
ターミナル ウィンドウで次の cURL コマンドを実行します。
curl -X ' POST '
' http://localhost:8000/claude '
-H ' accept: application/json '
-H ' Content-Type: application/json '
-d ' {
"message": "who are you?",
"stream": false
} '
注記
注: session_id
はConfig.confファイルで設定されます。この変数を空で送信すると、 Config.confが使用されます。
注記
注: ClaudeとGeminiには 2 つの認証オプションが用意されています。ブラウザからログインしてこの手順をスキップすることも、以下の手順に従って認証を構成することもできます。
重要
「ブラウザによる自動ログインの問題は、複数のアカウントまたはブラウザ プロファイルの使用が原因で発生します。完全に解決するには時間がかかります。今後のアップデートで解決される予定です。現時点では、ブラウザでのログインに問題がある場合は、次の方法でログインしてみてください。以下の手順で説明するように、回避策として 1 つのブラウザーだけを使用するか、セッションと Cookie を手動でコピーします。」
最も簡単な方法は、チャットボット Web サイトにログインすることです。 (クロード | ジェミニ)
または
まず、トークンをConfig.conf
ファイルに追加する必要があります ( 「構成」セクションを参照)。
方法 1:
Gemini の場合、Web ブラウザを使用してアカウントにログインするだけです。 (Firefox、Chrome、Safari、Edge...)
方法 2:
Google Gemini:
ここで言及されている Cookie は、gemini.google.com の承認されたセッションから取得してください。 Cookie を使用して、JSON ペイロード内のメッセージとともに POST リクエストを /gemini エンドポイントに送信できます。 __Secure-1PSID Cookie であるsession_idと、 Secure-1PSIDTS CookieおよびSecure-1PSIDCC Cookie であるsession_idtsおよびsession_idcc がリクエストに含まれていることが重要です。 (スクリーンショット)
名前 | セッション名 |
---|---|
session_id | __Secure-1PSID |
session_idts | __Secure-1PSIDTS |
session_idcc | __Secure-1PSIDCC |
Developer Tools
を開く ( F12を押す)Application Tab
に移動しますCookies Tab
に移動します__Secure-1PSID
、 __Secure-1PSIDTS
、および__Secure-1PSIDCC
の内容をコピーします。それらの Cookie の値をコピーします。方法 1:
クロードの場合、Web ブラウザを使用してアカウントにログインするだけです。 (Firefox、Chrome、Safari、Edge...)
方法 2:
Claude:
ブラウザの開発者ツールのネットワーク タブ (claude.ai リクエストについては、cookie をチェックアウトし、値全体をコピーしてください) またはストレージ タブ (claude.ai の cookie を見つけることができます。値は 4 つあります) から cookie を取得できます (スクリーンショット) )
Developer Tools
を開く ( F12を押す)Network Tab
に移動しますCookie
の内容をコピーするトークンの見つけ方
注記
注: Claude と Gemini には自動ログイン オプションがあり、ブラウザ経由でログインするか、提供された構成ファイルを使用して Claude と Gemini を構成します。
/v1/chat/completions
のモデル タイプの構成/v1/chat/completions
エンドポイントの設定でモデル タイプを指定できます。選択できるのは「クロード」と「ジェミニ」です。デフォルトでは、システムは「Claude」モデルを使用します。
# Case-Sensitive
[Main]
Model=Claude
# or
Model=Gemini
# Case-Sensitive
[Main]
Model = [Claude] or [Gemini]
[Claude]
COOKIE=[YOURS]
[Gemini]
SESSION_ID=[YOURS]
SESSION_IDTS=[YOURS]
SESSION_IDCC=[YOURS]
このプロジェクトは MIT ライセンスに基づいてライセンスされています。ご自由にお使いください。