Spaces:
Running
Running
File size: 3,197 Bytes
ad9a66f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
---
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 |