注意:这是一个研究项目。请不要将其用于商业用途并负责任地使用它。
该项目实现了一个 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 许可证的许可。您可以随意使用它。