Skip to content

准备环境

  1. 创建配置文件 从模板复制一份配置文件,等会要用上
bash
cp setting_template.jsonc setting.jsonc
  1. 安装依赖
bash
pip install -r requirements.txt

将数据转化为csv

bash
python cli.py data extract
# 或自定义parser字段
python cli.py data extract --qq-db-path ./data/qq.db --qq-number-ai 1234567890 --output ./dataset/csv
  • 若转化的是QQ数据,则--qq-number-ai或者setting.jsoncqq_number_ai字段至少要填写一个。TG以此类推
参数说明默认值/备注
-h, --help显示帮助信息并退出-
--source-type {qq,tg,telegram}指定数据源类型不指定则自动检测
--data-dir DATA_DIR数据目录路径./dataset/original/
--output OUTPUT输出目录路径./dataset/csv/
--qq-db-path QQ_DB_PATHQQ 数据库文件路径-
--qq-number-ai QQ_NUMBER_AIAI 的 QQ 号码(用于区分发送者)-
--telegram-chat-id TELEGRAM_CHAT_IDAI 的 Telegram 聊天名称(用于区分发送者)-
--tg-data-dir TG_DATA_DIRTelegram 数据目录如不指定则使用 --data-dir

清洗数据(普通版本,llm清洗版本在下一章节)

此方法比llm清洗快得多,30w条消息几秒就好了 但是对应的质量也更低 这个部分建议在windows上优化完再上传至GPU服务器

  • setting.jsonc 文件中修改数据库路径及相关参数(请注意其中的必填段)
  • data_agrs中的一些字段以及下面的system prompt
  • 运行清洗脚本:
bash
python cli.py data clean raw

清洗数据(llm清洗)

Develop版本正在改进此功能

需要配置一个OpenAI兼容的API
比如:LM Studio 或者 vLLM(速度更快,但搭建更麻烦,需要Linux环境)

这个部分同样建议在windows上优化完再上传至GPU服务器
不确定在Linux上有没有兼容性问题

  • 前往setting.jsonc文件中修改clean_set_args组的openai_api字段
  • 设置api_base api_key model_name等字段
  • 可设置thinking字段来开关模型的think功能

run!

bash
#使用此命令来预估llm使用的token数量
python cli.py data clean estimate llm

# 打分策略
python cli.py data clean llm --parser scoring

# 结构化默认策略(带CSV预处理+LLM打分)
python cli.py data clean llm --parser default

# 设置分数阈值(请使用此命令)
python cli.py data clean llm --parser scoring --accept-score 4
# --accept-score 为{1-5}的数字

# 使用句段策略(没写完)
python cli.py data clean llm --parser segment

# 其他参数
--input - 输入CSV目录路径(默认从配置读取)
--output - 输出文件路径(默认从配置读取)
--batch-size - 批处理大小(默认从配置读取)
--workers - 工作进程数(默认从配置读取)
--parser - default 会自动执行结构化 CSV→QA→打分(setting.jsonc clean_set_args.llm_parser 也可设置)

# 从已经打分好的scored文件中重新输出数据集(sft.jsonl)
python cli.py data clean rellm --accept-score 4
# --accept-score 为{1-5}的数字

可以调大betch_size来减少api调用次数以缓解速率限制
不过每次消耗的token会多点

如果遇到了400报错大概率是因为message太大了被模型框架拒绝了

以下为不使用云端llm服务清洗使用

LM Studio搭建教程

  1. 前往LM Studio下载LM Studio

  2. 安装LM Studio

  3. 打开LM Studio,点击左侧搜索->Model Search

  4. 搜索 qwen2.5-7b-instruct->Complete Download

  5. 选择合适你的量化版本建议至少Q4,最好Q6-Q8,随你的设备情况而定,不知道的可以问AI

    记住你的模型名称,填写到setting.jsonc文件的model_name

    如果不知道你的模型名称可以运行test_openai.py,会输出所有的模型名称

  6. 安装好后,在左侧开发者/Developer点击Status:Stopped右边的按钮

    如果下面log显示端口被占用请点击seetings换个server port

    记住这个server port,将你的配置填写至setting.jsonc文件中


vLLM搭建

vLLM需要linux环境!
如果你的显卡还算可以(>6800xt,>3080)
可以选择使用lmstudio,多等一会就好了,还可以玩玩模型 缺点是lmstudio不能运行hf模型,且并发很烂

vLLM比Lm studio吃显存的多! Lm studio可以运行8b_q6到vLLM上只能运行4b_Q6

不过并发效率的提升是真的

但是!上下文较短
不过现在应该遇不到那么长的上下文了

3080实测4b_q6处理,最终jsonl的速率大约是300kb/minute

  • 跟着走就能搭建
bash
sudo apt update
sudo apt install python3.10-venv git -y

python3 -m venv vllm_env
source vllm_env/bin/activate

pip install -U pip
pip install torch --index-url https://download.pytorch.org/whl/cu121  # 如果你用CUDA
pip install vllm

和lm studio不同的注意点

  • 1.setting.jsonc中的model_name需要设置路径而不只是文件夹名

/home/vllm/qwen3-4b-int8而非qwen3-4b-int8

  • 2.需要运行的api_servervllm.entrypoints.openai.api_server而不是vllm.entrypoints.api_server,因为第二个不兼容OpenAI API

运行命令范例

bash
python3 -m vllm.entrypoints.openai.api_server --model /home/vllm/qwen3-4b-int8 --gpu-memory-utilization 0.7 --max-model-len 10240 --max-num-seqs 4 --max-num-batched-tokens 2048 --dtype auto

如果遇到了400报错大概率是因为message太大了被模型框架拒绝了