EulerWeave

LLM 训练数据管线平台

基于清单驱动的数据管线,将原始数据转化为高质量 LLM 训练数据。通过 YAML 声明式定义实现可复现的数据处理。

Open Source

核心功能

EulerWeave 提供的三大核心支柱:数据源、处理模块、生产级输出

多样化数据源

  • 本地: JSONL, CSV, Parquet, TXT, HTML, PDF
  • 远程: HuggingFace Datasets, HuggingFace Hub, HTTPS, AWS S3
  • 可扩展的插件系统

17+ 数据处理模块

  • 规范化与过滤: normalize_text, heuristic_filter
  • 去重: MinHash, SHA-256
  • SFT 任务构建: 基于 LLM 的 QnA 生成
  • 13+ 指标模块: 困惑度、PII、重复、乱码等
  • PII 检测与脱敏

生产级输出

  • JSONL: 兼容 OpenAI Chat 格式
  • Parquet: 用于大规模分析
  • MDS/StreamingDataset: 针对分布式训练优化
  • 兼容: Ollama, vLLM, TRL, HuggingFace Transformers

管线轨道

根据用途选择合适的轨道来处理数据

轨道 用途 说明
pretrain 预训练 网页爬取数据的规范化与精炼
sft 监督微调 将 PDF/文档转换为 QnA 训练数据
dpo 偏好学习 将对比数据准备为 DPO 格式

CLI 快速入门

一行命令即可创建、验证和运行数据管线

# 创建新清单
eulerweave new manifest.yaml --track sft

# 验证清单
eulerweave validate manifest.yaml

# 预览执行计划
eulerweave plan manifest.yaml --records 10000

# 运行管线
eulerweave run manifest.yaml --input data/train.jsonl --artifacts ./artifacts

# 导出为 MDS 格式
eulerweave export mds out/result.jsonl ./output/mds/ --shard-size 2000

# 插件列表
eulerweave plugins list

CLI 参考

EulerWeave CLI 主要命令列表

命令 说明
eulerweave new 创建新清单 YAML
eulerweave validate 验证清单有效性
eulerweave plan 预览执行计划和预估成本
eulerweave run 运行管线
eulerweave export 将结果导出为多种格式
eulerweave plugins list 已安装插件列表
eulerweave plugins doctor 插件诊断

内置模块列表

EulerWeave 包含的 17+ 数据处理模块

规范化与过滤

模块 用途
normalize_text 空白清理、编码规范化
heuristic_filter 基于长度和质量的过滤

去重

模块 用途
dedup_minhash 基于 MinHash 的近似去重
dedup_exact SHA-256 精确去重

任务构建 (SFT)

模块 用途
build_sft_messages 通过字段映射生成 SFT 格式
build_sft_qna 基于 LLM 的多轮 QnA 生成
build_langextract_qna LangExtract 方式 QnA 生成

指标

模块 用途
metrics_text_basic 长度分布、字符集统计
metrics_text_repetition n-gram 重复检测
metrics_text_gibberish 乱码及编码异常检测
metrics_text_boilerplate 网页样板内容检测
metrics_perplexity 基于 Transformers 的文本质量评分
metrics_pii_detect 邮箱、电话、SSN、信用卡号检测
metrics_token_stats 分词统计
metrics_record_schema_validate 数据完整性验证

PII 与导出

模块 用途
filter_pii_redact PII 检测与脱敏
export_jsonl JSONL 输出
export_parquet Parquet 输出
export_mds MDS 流式格式

教程

通过分步指南快速掌握 EulerWeave

韩语版详细教程 | English Tutorials

教程即将公开。

清单示例

从 PDF 生成 SFT 训练数据的完整管线清单

version: 1 track: sft inputs: - type: pdf uri: data/technical_manual.pdf options: strategy: auto pipeline: - id: normalize type: normalize_text slot: normalize - id: filter type: heuristic_filter slot: filter params: min_length: 100 - id: dedup type: dedup_exact slot: dedup - id: qna type: build_sft_qna slot: build_task params: model: "qwen3:32b" base_url: "http://localhost:11434" - id: export type: export_jsonl slot: export exports: - type: jsonl path: out/training_data.jsonl

安装与开始

安装 EulerWeave 并运行您的第一条管线

安装

pip install eulerweave

# 完整功能安装
pip install eulerweave[pdf,llm,parquet]

系统要求

Python 3.11+

使用 EulerWeave 开始您的数据管线

开源、YAML 声明式定义、可复现的数据处理。

在 GitHub 上开始 联系我们