Spaces:
Running
Running
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 |