Skip to content

将数据转化为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
参数说明默认值/备注
-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等字段

run!

bash
python cli.py data clean llm

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

# 设置分数阈值
python cli.py data clean llm --parser scoring --accept-score 4

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

# 其他参数
--input - 输入CSV目录路径(默认从配置读取)
--output - 输出文件路径(默认从配置读取)
--batch-size - 批处理大小(默认从配置读取)
--workers - 工作进程数(默认从配置读取)

可以调大betch_size来减少api调用次数以减少tpm/rpm限制
不过会增大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太大了被模型框架拒绝了