malt666 commited on
Commit
2415527
·
verified ·
1 Parent(s): 1c85fcb

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +81 -119
README.md CHANGED
@@ -1,159 +1,121 @@
1
  ---
2
- title: tokenizer
3
- emoji: 🔢
4
- colorFrom: gray
5
- colorTo: blue
6
  sdk: docker
7
- sdk_version: "3.0.0"
8
- app_file: main.go
9
  pinned: false
10
  ---
11
 
12
- # Tokenizer Service
13
 
14
- 一个高效的API服务,用于计算大型语言模型的输入token数量。
15
 
16
- ## 支持的模型
 
 
 
 
17
 
18
- ### Claude系列模型
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
- ### Gemini系列模型
26
- - gemini-1.5-flash
27
- - gemini-2.0-flash
28
- - 其他Gemini系列模型
29
 
30
- ## 自动模型匹配
31
- 服务支持智能模型名称匹配,不区分大小写:
32
 
33
- ### Claude模型匹配规则
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
- ### Gemini模型匹配规则
41
- - 包含"gemini"和"2.0"或"2.5"的名称会匹配到`gemini-2.0-flash`
42
- - 包含"gemini"和"1.5"的名称会匹配到`gemini-1.5-flash`
43
 
44
- ## 环境变量
45
 
46
- 运行服务需要以下环境变量:
47
 
48
- - `ANTHROPIC_API_KEY`: Anthropic API密钥,用于计算Claude模型的token
49
- - `GOOGLE_API_KEY`: Google API密钥,用于计算Gemini模型的token
50
- - `SERVICE_URL`(可选): 服务的URL,用于防止Hugging Face空间休眠
51
- - `PORT`(可选): 服务监听的端口号,默认为7860
52
 
53
- ## API接口
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
- ### Token计算
56
 
57
- **端点**: `/count_tokens`
58
 
59
- **方法**: POST
 
 
 
 
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
- **端点**: `/health`
85
-
86
- **方法**: GET
87
 
88
- **响应格式**:
89
- ```json
90
- {
91
- "status": "healthy",
92
- "time": "2023-04-01T12:34:56Z"
93
- }
94
  ```
95
 
96
- ## 部署指南
97
 
98
- ### 本地运行
99
 
100
- 1. 设置必要的环境变量
101
- ```bash
102
- export ANTHROPIC_API_KEY=your_anthropic_key
103
- export GOOGLE_API_KEY=your_google_key
104
- ```
 
 
 
 
 
 
105
 
106
- 2. 启动服务
107
- ```bash
108
- go run main.go
109
- ```
110
 
111
- ### Docker部署
 
112
 
113
- 1. 构建Docker镜像
114
- ```bash
115
- docker build -t tokenizer .
116
- ```
117
 
118
- 2. 运行容器
119
  ```bash
120
- docker run -p 7860:7860 -e ANTHROPIC_API_KEY=your_anthropic_key -e GOOGLE_API_KEY=your_google_key tokenizer
 
 
121
  ```
122
 
123
- ### Hugging Face部署
124
 
125
- 1. 创建一个新的Space,选择Docker作为运行环境
126
- 2. 添加以下Secret:
127
- - `ANTHROPIC_API_KEY`: 你的Anthropic API密钥
128
- - `GOOGLE_API_KEY`: 你的Google API密钥
129
- - `SERVICE_URL`: 服务的完整URL,格式为`https://你的空间名-用户名.hf.space`
130
 
131
- 3. 将代码推送到Space关联的仓库
132
- 4. Hugging Face会自动构建并部署服务
133
 
134
- ## 示例代码
135
 
136
- ### Python调用示例
137
 
138
- ```python
139
- import requests
140
- import json
141
-
142
- url = "https://your-service-url/count_tokens"
143
- data = {
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
- ## License
158
 
159
- MIT
 
 
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
+ [![Deploy to Hugging Face Spaces](https://huggingface.co/datasets/huggingface/badges/raw/main/deploy-to-spaces-lg.svg)](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来存储敏感信息