Spaces:
Running
Running
Upload README.md
Browse files
README.md
CHANGED
@@ -1,159 +1,121 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
emoji:
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: docker
|
7 |
-
sdk_version: "3.
|
8 |
-
app_file:
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
-
|
13 |
|
14 |
-
|
15 |
|
16 |
-
|
|
|
|
|
|
|
|
|
17 |
|
18 |
-
|
19 |
-
- claude-3-7-sonnet-latest
|
20 |
-
- claude-3-5-sonnet-latest
|
21 |
-
- claude-3-5-haiku-latest
|
22 |
-
- claude-3-opus-latest
|
23 |
-
- claude-3-haiku-20240307
|
24 |
|
25 |
-
|
26 |
-
- gemini-1.5-flash
|
27 |
-
- gemini-2.0-flash
|
28 |
-
- 其他Gemini系列模型
|
29 |
|
30 |
-
|
31 |
-
服务支持智能模型名称匹配,不区分大小写:
|
32 |
|
33 |
-
|
34 |
-
- 包含"claude"、"3"和"7"的名称会匹配到`claude-3-7-sonnet-latest`
|
35 |
-
- 包含"claude"、"3"、"5"和"sonnet"的名称会匹配到`claude-3-5-sonnet-latest`
|
36 |
-
- 包含"claude"、"3"、"5"和"haiku"的名称会匹配到`claude-3-5-haiku-latest`
|
37 |
-
- 包含"claude"、"3"和"opus"的名称会匹配到`claude-3-opus-latest`
|
38 |
-
- 包含"claude"、"3"和"haiku"的名称会匹配到`claude-3-haiku-20240307`
|
39 |
|
40 |
-
|
41 |
-
- 包含"gemini"和"2.0"或"2.5"的名称会匹配到`gemini-2.0-flash`
|
42 |
-
- 包含"gemini"和"1.5"的名称会匹配到`gemini-1.5-flash`
|
43 |
|
44 |
-
##
|
45 |
|
46 |
-
|
47 |
|
48 |
-
|
49 |
-
- `GOOGLE_API_KEY`: Google API密钥,用于计算Gemini模型的token
|
50 |
-
- `SERVICE_URL`(可选): 服务的URL,用于防止Hugging Face空间休眠
|
51 |
-
- `PORT`(可选): 服务监听的端口号,默认为7860
|
52 |
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
-
|
56 |
|
57 |
-
|
58 |
|
59 |
-
|
|
|
|
|
|
|
|
|
60 |
|
61 |
-
|
62 |
-
```json
|
63 |
-
{
|
64 |
-
"model": "模型名称",
|
65 |
-
"messages": [
|
66 |
-
{
|
67 |
-
"role": "user或assistant",
|
68 |
-
"content": "消息内容"
|
69 |
-
}
|
70 |
-
],
|
71 |
-
"system": "系统提示(可选)"
|
72 |
-
}
|
73 |
-
```
|
74 |
-
|
75 |
-
**响应格式**:
|
76 |
-
```json
|
77 |
-
{
|
78 |
-
"input_tokens": 123
|
79 |
-
}
|
80 |
-
```
|
81 |
-
|
82 |
-
### 健康检查
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
{
|
91 |
-
"status": "healthy",
|
92 |
-
"time": "2023-04-01T12:34:56Z"
|
93 |
-
}
|
94 |
```
|
95 |
|
96 |
-
|
97 |
|
98 |
-
###
|
99 |
|
100 |
-
1.
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
-
|
107 |
-
```bash
|
108 |
-
go run main.go
|
109 |
-
```
|
110 |
|
111 |
-
|
|
|
112 |
|
113 |
-
|
114 |
-
```bash
|
115 |
-
docker build -t tokenizer .
|
116 |
-
```
|
117 |
|
118 |
-
2. 运行容器
|
119 |
```bash
|
120 |
-
|
|
|
|
|
121 |
```
|
122 |
|
123 |
-
|
124 |
|
125 |
-
|
126 |
-
2. 添加以下Secret:
|
127 |
-
- `ANTHROPIC_API_KEY`: 你的Anthropic API密钥
|
128 |
-
- `GOOGLE_API_KEY`: 你的Google API密钥
|
129 |
-
- `SERVICE_URL`: 服务的完整URL,格式为`https://你的空间名-用户名.hf.space`
|
130 |
|
131 |
-
|
132 |
-
4. Hugging Face会自动构建并部署服务
|
133 |
|
134 |
-
|
135 |
|
136 |
-
|
137 |
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
"model": "claude-3-5-sonnet-latest",
|
145 |
-
"messages": [
|
146 |
-
{
|
147 |
-
"role": "user",
|
148 |
-
"content": "Hello, world!"
|
149 |
-
}
|
150 |
-
]
|
151 |
-
}
|
152 |
-
|
153 |
-
response = requests.post(url, json=data)
|
154 |
-
print(response.json())
|
155 |
-
```
|
156 |
|
157 |
-
##
|
158 |
|
159 |
-
|
|
|
|
1 |
---
|
2 |
+
title: Abacus Chat Proxy
|
3 |
+
emoji: 🤖
|
4 |
+
colorFrom: blue
|
5 |
+
colorTo: purple
|
6 |
sdk: docker
|
7 |
+
sdk_version: "3.9"
|
8 |
+
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
13 |
|
14 |
+
# Abacus Chat Proxy
|
15 |
|
16 |
+
> 📢 本项目基于 [orbitoo/abacus_chat_proxy](https://github.com/orbitoo/abacus_chat_proxy) 改进
|
17 |
+
>
|
18 |
+
> 特别感谢 orbitoo 大佬提供的原始项目!
|
19 |
+
>
|
20 |
+
> 本项目增加了:Docker部署支持、Hugging Face一键部署、自动保活功能等
|
21 |
|
22 |
+
一个用于中转API请求的代理服务器。
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
#### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
|
|
|
|
|
|
|
25 |
|
26 |
+
[](https://huggingface.co/spaces/malt666/abacus_chat_proxy?duplicate=true)
|
|
|
27 |
|
28 |
+
## ⚠️ 警告
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
+
**本地部署方式已失效!**为了适配hugging face,本项目的本地部署方式已不再可用。目前只能通过Hugging Face Spaces部署来使用本代理服务。请使用下方的Hugging Face一键部署方法。
|
|
|
|
|
31 |
|
32 |
+
## 🚀 快速开始
|
33 |
|
34 |
+
### Hugging Face一键部署
|
35 |
|
36 |
+
#### 注意创建space的时候把private改为public,因为不改为public导致的错误别来找我
|
|
|
|
|
|
|
37 |
|
38 |
+
1. 点击上方的"Deploy to Hugging Face Spaces"按钮
|
39 |
+
2. 登录你的Hugging Face账号(如果还没有,需要注册一个)
|
40 |
+
3. 在弹出的页面中设置你的Space名称,注意创建space的时候把private改为public,因为不改为为public导致的错误别来找我
|
41 |
+
4. 创建完Space后,在Space的Settings -> Repository Secrets中添加以下配置:
|
42 |
+
- `cookie_1`: 第一个cookie
|
43 |
+
- `cookie_2`: 第二个cookie(如果有)
|
44 |
+
- 以此类推...
|
45 |
+
- `password`: (必填,最好超过8位数,不然被盗用api导致点数用光,损失自负)api调用密码,也是dashboard登录密码
|
46 |
+
5. 等待自动部署完成即可
|
47 |
+
6. 登录dashboard查看使用情况,space里面是没办法登录的,点击弹出的登录页面的小窗口提示“请点击 https://xyz-abacus-chat-proxy.hf.space 来登录并查看使用情况”的链接来登录,登录密码是你设置的password
|
48 |
+
7. **获取API链接**:部署成功后,网络的登录页面会显示api接口链接;或者你点击右上角的三个点按钮,在弹出的选项卡里面点击"Embed this Space",然后在弹出的"Embed this Space"界面里的"Direct URL"就是你的访问链接,你可以用这个链接调用API和查看使用情况
|
49 |
+
8. api调用:api调用的时候注意密钥填写你的password,不然没办法调用
|
50 |
+
### 本地运行(已失效)
|
51 |
|
52 |
+
> ⚠️ 以下本地运行方法已失效,仅作参考。请使用Hugging Face部署方式。
|
53 |
|
54 |
+
#### Windows用户
|
55 |
|
56 |
+
1. 双击运行 `start.bat`
|
57 |
+
2. 首次运行选择 `0` 进行配置
|
58 |
+
3. 配置完成后选择 `Y` 直接启动,或 `N` 返回菜单
|
59 |
+
4. 之后可直接选择 `1` 启动代理
|
60 |
+
5. 代理服务器默认运行在 `http://127.0.0.1:9876/`
|
61 |
|
62 |
+
#### Linux/macOS用户
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
+
```bash
|
65 |
+
# 赋予脚本执行权限
|
66 |
+
chmod +x start.sh
|
67 |
|
68 |
+
# 运行脚本
|
69 |
+
./start.sh
|
|
|
|
|
|
|
|
|
70 |
```
|
71 |
|
72 |
+
选项说明同Windows。
|
73 |
|
74 |
+
### 🌐 Hugging Face部署
|
75 |
|
76 |
+
1. Fork本仓库到你的GitHub账号
|
77 |
+
2. 在Hugging Face上创建新的Space(选择Docker类型)
|
78 |
+
3. 在Space的设置中连接你的GitHub仓库
|
79 |
+
4. 在Space的设置中添加以下Secrets:
|
80 |
+
- 第1组配置:
|
81 |
+
- `cookie_1`: 第1个cookies字符串
|
82 |
+
- 第2组配置(如果需要):
|
83 |
+
- `cookie_2`: 第2个cookies字符串
|
84 |
+
- 更多配置以此类推(`cookie_3`...)
|
85 |
+
- `password`: (可选)访问密码
|
86 |
+
5. Space会自动部署,服务将在 `https://你的空间名-你的用户名.hf.space` 上运行
|
87 |
|
88 |
+
## ⚙️ 环境要求
|
|
|
|
|
|
|
89 |
|
90 |
+
- Python 3.8+
|
91 |
+
- pip
|
92 |
|
93 |
+
## 📦 依赖
|
|
|
|
|
|
|
94 |
|
|
|
95 |
```bash
|
96 |
+
Flask==3.1.0
|
97 |
+
requests==2.32.3
|
98 |
+
PyJWT==2.8.0
|
99 |
```
|
100 |
|
101 |
+
## 📝 配置说明
|
102 |
|
103 |
+
### 本地配置
|
|
|
|
|
|
|
|
|
104 |
|
105 |
+
首次运行时,请选择 `0` 进行配置,按照提示填写相关信息。配置文件将保存在 `config.json` 中。
|
|
|
106 |
|
107 |
+
### 环境变量配置
|
108 |
|
109 |
+
在Docker或云平台部署时,需要配置以下环境变量:
|
110 |
|
111 |
+
- 必需的配置(至少需要一组):
|
112 |
+
- `cookie_1`: 第1组配置
|
113 |
+
- `cookie_2`: 第2组配置(可选)
|
114 |
+
- 以此类推...
|
115 |
+
- 可选配置:
|
116 |
+
- `password`: 访问密码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
+
## 🔒 安全说明
|
119 |
|
120 |
+
- 建议在部署到Hugging Face时设置访问密码
|
121 |
+
- 在Hugging Face上配置时,请使用Secrets来存储敏感信息
|