Skip to content

Conversation

@xiaolei373
Copy link
Collaborator

@xiaolei373 xiaolei373 commented Sep 25, 2025

PR 描述

FastDeploy CLI 新增 tokenizer 子命令,提供以下功能:

  • 模型:支持通过--model/-m指定模型
  • 编码/解码:支持通过 --encode/-e 将文本编码为 tokens,或通过 --decode/-d 将 tokens 解码为文本。
  • 词表相关功能
    • --vocab-size/-vs:查看词表大小
    • --info/-i:查看 tokenizer 的详细信息(特殊符号、ID、最大长度等)
    • --vocab-export FILE/-ve FILE:导出词表到文件(支持 .json 或文本格式)

主要改动

  • 新增 TokenizerSubcommand,注册到 CLI 子命令系统。
  • 实现 get_vocab_sizeget_tokenizer_infoget_vocab_dict 等工具方法。
  • 支持词表导出,并处理不可打印字符。
  • 增加操作输出分隔符,提升 CLI 使用体验。

用法示例

# 编码
fastdeploy tokenizer --model baidu/ERNIE-4.5-0.3B-PT --encode "Hello, world!"

# 解码
fastdeploy tokenizer --model baidu/ERNIE-4.5-0.3B-PT --decode "[1, 2, 3]"

# 查看词表大小
fastdeploy tokenizer --model baidu/ERNIE-4.5-0.3B-PT --vocab-size

# 查看词表元信息
fastdeploy tokenizer --model baidu/ERNIE-4.5-0.3B-PT --info

# 导出词表
fastdeploy tokenizer --model baidu/ERNIE-4.5-0.3B-PT --vocab-export ./vocab.txt

# 支持多模模型
fastdeploy tokenizer --model  baidu/EB-VL-Lite-d  --decode "[5300, 96382]"

# 支持多个同时查看,以及参数简写
fastdeploy tokenizer -m  baidu/ERNIE-4.5-0.3B-PT -e "你好哇" -d "[5300, 96382]"  -i -vs -ve vocab.json

@paddle-bot
Copy link

paddle-bot bot commented Sep 25, 2025

Thanks for your contribution!

@paddle-bot paddle-bot bot added the contributor External developers label Sep 25, 2025
Jiang-Jia-Jun
Jiang-Jia-Jun previously approved these changes Sep 25, 2025
@Jiang-Jia-Jun Jiang-Jia-Jun merged commit 1282ebe into PaddlePaddle:develop Sep 28, 2025
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor External developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants