abacus_chat_proxy / README.md
malt666's picture
Upload 12 files
ad9a66f verified
|
raw
history blame
3.2 kB
---
title: tokenizer
emoji: 🔢
colorFrom: gray
colorTo: blue
sdk: docker
sdk_version: "3.0.0"
app_file: main.go
pinned: false
---
# Tokenizer Service
一个高效的API服务,用于计算大型语言模型的输入token数量。
## 支持的模型
### Claude系列模型
- claude-3-7-sonnet-latest
- claude-3-5-sonnet-latest
- claude-3-5-haiku-latest
- claude-3-opus-latest
- claude-3-haiku-20240307
### Gemini系列模型
- gemini-1.5-flash
- gemini-2.0-flash
- 其他Gemini系列模型
## 自动模型匹配
服务支持智能模型名称匹配,不区分大小写:
### Claude模型匹配规则
- 包含"claude"、"3"和"7"的名称会匹配到`claude-3-7-sonnet-latest`
- 包含"claude"、"3"、"5"和"sonnet"的名称会匹配到`claude-3-5-sonnet-latest`
- 包含"claude"、"3"、"5"和"haiku"的名称会匹配到`claude-3-5-haiku-latest`
- 包含"claude"、"3"和"opus"的名称会匹配到`claude-3-opus-latest`
- 包含"claude"、"3"和"haiku"的名称会匹配到`claude-3-haiku-20240307`
### Gemini模型匹配规则
- 包含"gemini"和"2.0"或"2.5"的名称会匹配到`gemini-2.0-flash`
- 包含"gemini"和"1.5"的名称会匹配到`gemini-1.5-flash`
## 环境变量
运行服务需要以下环境变量:
- `ANTHROPIC_API_KEY`: Anthropic API密钥,用于计算Claude模型的token
- `GOOGLE_API_KEY`: Google API密钥,用于计算Gemini模型的token
- `SERVICE_URL`(可选): 服务的URL,用于防止Hugging Face空间休眠
- `PORT`(可选): 服务监听的端口号,默认为7860
## API接口
### Token计算
**端点**: `/count_tokens`
**方法**: POST
**请求格式**:
```json
{
"model": "模型名称",
"messages": [
{
"role": "user或assistant",
"content": "消息内容"
}
],
"system": "系统提示(可选)"
}
```
**响应格式**:
```json
{
"input_tokens": 123
}
```
### 健康检查
**端点**: `/health`
**方法**: GET
**响应格式**:
```json
{
"status": "healthy",
"time": "2023-04-01T12:34:56Z"
}
```
## 部署指南
### 本地运行
1. 设置必要的环境变量
```bash
export ANTHROPIC_API_KEY=your_anthropic_key
export GOOGLE_API_KEY=your_google_key
```
2. 启动服务
```bash
go run main.go
```
### Docker部署
1. 构建Docker镜像
```bash
docker build -t tokenizer .
```
2. 运行容器
```bash
docker run -p 7860:7860 -e ANTHROPIC_API_KEY=your_anthropic_key -e GOOGLE_API_KEY=your_google_key tokenizer
```
### Hugging Face部署
1. 创建一个新的Space,选择Docker作为运行环境
2. 添加以下Secret:
- `ANTHROPIC_API_KEY`: 你的Anthropic API密钥
- `GOOGLE_API_KEY`: 你的Google API密钥
- `SERVICE_URL`: 服务的完整URL,格式为`https://你的空间名-用户名.hf.space`
3. 将代码推送到Space关联的仓库
4. Hugging Face会自动构建并部署服务
## 示例代码
### Python调用示例
```python
import requests
import json
url = "https://your-service-url/count_tokens"
data = {
"model": "claude-3-5-sonnet-latest",
"messages": [
{
"role": "user",
"content": "Hello, world!"
}
]
}
response = requests.post(url, json=data)
print(response.json())
```
## License
MIT