utokenizer-0.1.0 is not a library.
Model Tokenizer Registry & Counter CLI
目标:把「模型本体」的 tokenizer 计数策略统一到本地 JSON 注册库,并提供可直接使用的 Rust CLI。
2. 安装依赖并构建
Python tokenizer 环境(uv 管理)
默认会:
- 用
uv venv创建项目内.venv - 安装
tiktoken、transformers、sentencepiece
CLI 会自动优先使用项目内 .venv/bin/python,无需手动 source .venv/bin/activate。
如果你仍想显式指定,可加:
3. 环境变量
# 可选(直接调用 Anthropic 时)
# 可选
# 可选
# 可选
# 需要代理时(可选)
注意:密钥请只放在环境变量,不要写进代码或提交文件。
4. 同步模型 + 映射
参数:
--force-reclassify:重新走一次模型归类 heuristics--no-probe:先快速落库,跳过 open-source tokenizer 探测(默认 false)--only-text:仅同步文本类模型(默认 true)
5. 计数
文本计数:
通过文件:
通过 messages JSON(用于 message 样式输入):
若遇到模型计数失败(如 python3 里缺少依赖),先确认 uv 环境已安装且 scripts/setup_uv_env.sh 已成功执行,或手动执行:
TOKENIZER_PYTHON="/.venv/bin/python"
6. 校验映射
会输出低置信度或 private_api/usage_only/unknown 的模型,便于你补齐映射。
说明:
verify默认只验证低置信度和private_api/usage_only条目--all开启后会对全部文本模型逐条输出验证--run-count会实际调用本地计数/计数 API 进行可复现性检查,并写入validation_report.jsonvalidation_report.csv
7. 模型/策略清单
本地注册文件:
--local-store(默认./token_registry.json)--local-log(默认./token_count_log.jsonl)
兼容说明:如果你原来用的是
aihubmix_token_registry.json/aihubmix_token_count_log.jsonl,程序在首次启动且新默认文件不存在时会自动回退到旧文件。
如果你想改路径,可在命令里加参数:
说明
- 这个方案是工程化起步版,先覆盖“可落地可用”场景。
- 对于
provider_api策略先走官方计数;若无公开计数能力则回退到usage_only,后续可逐步补齐私有 API mapping。 - 你现在给的 key 仍可用于兼容路径;模型归类以 tokenizer 家族为主(如 gpt / claude / gemini / HF 风格模型),而不是按厂商平台标识绑定映射。