注意:這是一個研究計畫。請不要將其用於商業用途並負責任地使用它。
此專案實作了一個 Web API,為 Google Gemini 和 Claude 3 提供統一的介面。
自託管: Python/FastAPI 可以靈活地在任何地方運行。不被鎖在專有平台上。
串流媒體支援:來自 Claude 串流媒體的即時回應。
輕量級且可擴展:使用 FastAPI 建置以實現高效能。
API 金鑰:不需要 API 金鑰。
✅ Claude-3 API 整合也已完全實現並可用
✅ Google Gemini API 整合現已推出
✅ UI 設定:實作 localhost:8000/WebAI 路徑的路由
畫中畫:進行中
該存儲庫是最新的。
請不要忘記給一顆星星
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/克勞德
克勞德/雙子座
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
或嘗試Claude與cURL
在終端機視窗中執行以下 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提供兩種驗證選項 - 您可以透過瀏覽器登入並跳過此步驟,也可以依照下列說明設定驗證。
重要的
「瀏覽器自動登入問題是由於使用多個帳戶或瀏覽器設定檔引起的。完全解決需要一些時間。未來的更新將解決該問題。目前,如果您在使用瀏覽器登入時遇到問題,請嘗試使用以下方式登入只需一個瀏覽器或手動複製會話和 Cookie 作為解決方法,如下面的說明中所述。
最簡單的方法就是登入聊天機器人網站。 (克勞德 | 雙子座)
或者
首先,您需要將令牌新增至Config.conf
檔案(請參閱設定部分)。
方法一:
對於 Gemini,您所需要做的就是使用網頁瀏覽器登入您的帳戶。 (火狐、Chrome、Safari、Edge...)
方法二:
Google Gemini:
請從gemini.google.com 上的授權會話取得此處提及的cookie。這些 cookie 可用於將 POST 請求與 JSON 負載中的訊息一起傳送至 /gemini 端點。重要的是, session_id (您的__Secure-1PSID cookie)以及session_idts和session_idcc (您的Secure-1PSIDTS和Secure-1PSIDCC cookie)包含在請求中。 (螢幕截圖)
姓名 | 會話名稱 |
---|---|
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 的值。方法一:
對於 Claude,您所需要做的就是使用網頁瀏覽器登入您的帳戶。 (火狐、Chrome、Safari、Edge...)
方法二:
Claude:
您可以從瀏覽器的開發者工具網路標籤取得cookie(查看任何claude.ai要求檢查cookie,複製整個值)或儲存標籤(您可以找到claude.ai的cookie,將有四個值) (螢幕截圖)
Developer Tools
(按F12 )Network Tab
Cookie
的內容如何找到代幣
筆記
注意:Claude 和 Gemini 提供自動登入選項 - 透過瀏覽器登入或使用提供的設定檔設定 Claude 和 Gemini。
/v1/chat/completions
配置模型類型您可以在/v1/chat/completions
端點的設定中指定模型類型。可用選項有“Claude”和“Gemini”。預設情況下,系統使用“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 許可證的許可。您可以隨意使用它。