DataCraft 是一个基于大语言模型(LLM)的智能数据准备系统,能够自动分析原始数据和种子数据的差异,智能编排数据处理流程,并生成高质量的训练数据。系统采用"智能理解 + 动态编排 + 迭代生成"的设计理念,实现了从原始数据到高质量训练数据的全自动化处理。
┌─────────────────────────────────────────────────────────────┐
│ DataCraft 系统架构 │
└─────────────────────────────────────────────────────────────┘
输入数据 (Raw Data + Seed Data)
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 1: 结构化理解 (Structured Understanding) │
│ • 文件格式分析 │
│ • 质量差异分析 │
│ • 字段映射识别 │
│ • 处理目标定义 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 2: Pipeline编排 (Pipeline Orchestration) │
│ • 自由拟合: LLM生成高层处理意图 │
│ • 模板组合: 基于算子模板组合pipeline │
│ • 约束搜索: 优化和完善pipeline逻辑 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 3: 算子生成 (Operator Generation) │
│ • 迭代生成可执行的算子代码 │
│ • 基于中间结果指导下一步生成 │
│ • 自动代码验证和错误处理 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 4: Pipeline执行 (Pipeline Execution) │
│ • 执行生成的pipeline代码 │
│ • 处理完整的原始数据 │
│ • 生成高质量训练数据 │
└─────────────────────────────────────────────────────────────┘
↓
最终处理数据 (Final Processed Data)
DataCraft/
├── core/ # 核心服务层
│ ├── config_manager.py # 配置管理
│ ├── llm_service.py # LLM服务封装
│ ├── logger.py # 统一日志服务
│ ├── path_manager.py # 路径管理
│ └── token_counter.py # Token计数
├── subsystems/ # 子系统层
│ ├── structured_understanding/ # 结构化理解子系统
│ ├── pipeline_orchestration/ # Pipeline编排子系统
│ ├── operator_generation/ # 算子生成子系统
│ ├── operator_management/ # 算子管理子系统
│ ├── language_management/ # 语言管理子系统
│ └── system_check/ # 系统检查子系统
├── data/ # 数据层
│ ├── operator_registry.json # 算子注册表
│ ├── pipeline_templates.json # Pipeline模板
│ ├── operator_packs/ # 算子包
│ ├── generated_pipelines/ # 生成的pipeline代码
│ ├── understanding_results/ # 结构化理解结果
│ ├── orchestration_results/ # 编排结果
│ └── run_pipeline_results/ # 执行结果
├── datasets/ # 数据集目录
│ ├── alpaca/ # Alpaca数据集
│ ├── squad/ # SQuAD数据集
│ ├── math/ # MATH数据集
│ └── ... # 其他数据集
├── config/ # 配置文件
│ ├── config.json # 主配置
│ └── api_keys.json # API密钥
├── docs/ # 文档目录
├── assets/ # 展示材料(图表、Logo等)
└── main.py # 主入口文件
requirements.txt克隆项目
git clone https://github.com/yourusername/datacraft.git
cd datacraft
安装依赖
pip install -r requirements.txt
配置API密钥
cp config/api_keys_example.json config/api_keys.json
# 编辑 config/api_keys.json 填入你的API密钥
运行示例
python main.py quick-start
# 完整流程(推荐)
python main.py run-full <pipeline_id>
# 分阶段执行
python main.py understand <pipeline_id> # 结构化理解
python main.py orchestrate <pipeline_id> # Pipeline编排
python main.py generate-operators <pipeline_id> # 算子生成
python main.py run-pipelines <pipeline_id> # 运行Pipeline
# 管理命令
python main.py list # 列出所有pipeline
python main.py status <pipeline_id> # 查看状态
python main.py token-stats # Token统计
from main import DataCraft
# 初始化
datacraft = DataCraft()
# 运行完整流程
result = datacraft.run_full_pipeline("alpaca")
print(f"处理结果: {result['status']}")
# 查看最终数据
final_data_path = "data/run_pipeline_results/alpaca/final_processed_data.jsonl"
DataCraft 系统包含4个主要阶段,每个阶段都会生成中间结果并保存:
输入数据 (Raw Data + Seed Data)
↓
[1] 结构化理解 (Understand)
↓ 保存: data/understanding_results/{pipeline_id}.json
[2] Pipeline编排 (Orchestrate)
↓ 保存: data/orchestration_results/{pipeline_id}.json
[3] 算子生成 (Generate Operators)
↓ 保存: data/generated_pipelines/{pipeline_id}.json
↓ 保存: data/generated_pipelines/{pipeline_id}/ (算子代码目录)
[4] Pipeline执行 (Run Pipelines)
↓ 保存: data/run_pipeline_results/{pipeline_id}/ (执行结果)
↓
最终处理数据 (Final Processed Data)
| 阶段 | 结果文件路径 | 说明 |
|---|---|---|
| 结构化理解 | data/understanding_results/{pipeline_id}.json | 结构化理解结果 |
| Pipeline编排 | data/orchestration_results/{pipeline_id}.json | 编排结果 |
| 算子生成 | data/generated_pipelines/{pipeline_id}.json | 生成结果元数据 |
| 算子代码 | data/generated_pipelines/{pipeline_id}/ | 算子代码目录 |
| 最终数据 | data/run_pipeline_results/{pipeline_id}/final_processed_data.jsonl | 最终处理数据 |
自动分析原始数据和种子数据,生成处理蓝图:
三阶段智能编排机制:
迭代生成可执行的算子代码:
支持LLM API调用的智能算子:
gen.text_generator: 智能文本生成qa.question_answer_generator: 智能问答生成gen.dialogue_generator: 智能对话生成eval.quality_evaluator: 智能质量评估DataCraft 已在多个数据集上验证,包括:
| 数据集 | 原始数据量 | 种子数据量 | 处理时间 | 质量提升 |
|---|---|---|---|---|
| Alpaca | 5,000+ | 6 | ~2分钟 | 内容详细度提升300%+ |
| SQuAD | 100+ | 10 | ~3分钟 | 格式一致性100% |
| MATH | 100+ | 5 | ~5分钟 | 推理质量显著提升 |
注:处理时间取决于数据量和LLM API响应速度
{
"llm": {
"provider": "custom",
"model": "gpt-3.5-turbo",
"temperature": 0.7,
"max_tokens": 1000,
"timeout": 30
},
"pipeline": {
"max_steps": 10,
"timeout": 300,
"parallel_execution": false
},
"logging": {
"level": "INFO",
"file": "logs/datacraft.log"
}
}
{
"custom": {
"api_key": "your-api-key",
"base_url": "https://your-api-endpoint.com/v1"
}
}
# 1. 准备数据
# 将原始数据放在 datasets/alpaca/raw_data/alpaca_raw.jsonl
# 将种子数据放在 datasets/alpaca/seed_data/alpaca_seed.jsonl
# 2. 运行完整流程
python main.py run-full alpaca
# 3. 查看结果
cat data/run_pipeline_results/alpaca/final_processed_data.jsonl | head -5
# 只执行结构化理解
python main.py understand squad
# 查看理解结果
cat data/understanding_results/squad.json | python -m json.tool
# 继续执行编排
python main.py orchestrate squad
# 继续执行生成
python main.py generate-operators squad
# 最后执行pipeline
python main.py run-pipelines squad
传统方式: 一次性生成完整pipeline代码
DataCraft方式: 迭代生成,每步基于中间结果指导下一步
优势:
传统方式: 固定规则的算子实现
DataCraft方式: LLM驱动的智能算子
优势:
传统方式: 类式的复杂算子实现
DataCraft方式: 函数式的简洁算子组合
优势:
传统方式: 固定pipeline模板
DataCraft方式: LLM驱动的动态编排
优势:
DataCraft 是一个基于大语言模型(LLM)的智能数据准备系统,能够自动分析原始数据和种子数据的差异,智能编排数据处理流程,并生成高质量的训练数据。系统采用"智能理解 + 动态编排 + 迭代生成"的设计理念,实现了从原始数据到高质量训练数据的全自动化处理。
┌─────────────────────────────────────────────────────────────┐
│ DataCraft 系统架构 │
└─────────────────────────────────────────────────────────────┘
输入数据 (Raw Data + Seed Data)
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 1: 结构化理解 (Structured Understanding) │
│ • 文件格式分析 │
│ • 质量差异分析 │
│ • 字段映射识别 │
│ • 处理目标定义 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 2: Pipeline编排 (Pipeline Orchestration) │
│ • 自由拟合: LLM生成高层处理意图 │
│ • 模板组合: 基于算子模板组合pipeline │
│ • 约束搜索: 优化和完善pipeline逻辑 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 3: 算子生成 (Operator Generation) │
│ • 迭代生成可执行的算子代码 │
│ • 基于中间结果指导下一步生成 │
│ • 自动代码验证和错误处理 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 阶段 4: Pipeline执行 (Pipeline Execution) │
│ • 执行生成的pipeline代码 │
│ • 处理完整的原始数据 │
│ • 生成高质量训练数据 │
└─────────────────────────────────────────────────────────────┘
↓
最终处理数据 (Final Processed Data)
DataCraft/
├── core/ # 核心服务层
│ ├── config_manager.py # 配置管理
│ ├── llm_service.py # LLM服务封装
│ ├── logger.py # 统一日志服务
│ ├── path_manager.py # 路径管理
│ └── token_counter.py # Token计数
├── subsystems/ # 子系统层
│ ├── structured_understanding/ # 结构化理解子系统
│ ├── pipeline_orchestration/ # Pipeline编排子系统
│ ├── operator_generation/ # 算子生成子系统
│ ├── operator_management/ # 算子管理子系统
│ ├── language_management/ # 语言管理子系统
│ └── system_check/ # 系统检查子系统
├── data/ # 数据层
│ ├── operator_registry.json # 算子注册表
│ ├── pipeline_templates.json # Pipeline模板
│ ├── operator_packs/ # 算子包
│ ├── generated_pipelines/ # 生成的pipeline代码
│ ├── understanding_results/ # 结构化理解结果
│ ├── orchestration_results/ # 编排结果
│ └── run_pipeline_results/ # 执行结果
├── datasets/ # 数据集目录
│ ├── alpaca/ # Alpaca数据集
│ ├── squad/ # SQuAD数据集
│ ├── math/ # MATH数据集
│ └── ... # 其他数据集
├── config/ # 配置文件
│ ├── config.json # 主配置
│ └── api_keys.json # API密钥
├── docs/ # 文档目录
├── assets/ # 展示材料(图表、Logo等)
└── main.py # 主入口文件
requirements.txt克隆项目
git clone https://github.com/yourusername/datacraft.git
cd datacraft
安装依赖
pip install -r requirements.txt
配置API密钥
cp config/api_keys_example.json config/api_keys.json
# 编辑 config/api_keys.json 填入你的API密钥
运行示例
python main.py quick-start
# 完整流程(推荐)
python main.py run-full <pipeline_id>
# 分阶段执行
python main.py understand <pipeline_id> # 结构化理解
python main.py orchestrate <pipeline_id> # Pipeline编排
python main.py generate-operators <pipeline_id> # 算子生成
python main.py run-pipelines <pipeline_id> # 运行Pipeline
# 管理命令
python main.py list # 列出所有pipeline
python main.py status <pipeline_id> # 查看状态
python main.py token-stats # Token统计
from main import DataCraft
# 初始化
datacraft = DataCraft()
# 运行完整流程
result = datacraft.run_full_pipeline("alpaca")
print(f"处理结果: {result['status']}")
# 查看最终数据
final_data_path = "data/run_pipeline_results/alpaca/final_processed_data.jsonl"
DataCraft 系统包含4个主要阶段,每个阶段都会生成中间结果并保存:
输入数据 (Raw Data + Seed Data)
↓
[1] 结构化理解 (Understand)
↓ 保存: data/understanding_results/{pipeline_id}.json
[2] Pipeline编排 (Orchestrate)
↓ 保存: data/orchestration_results/{pipeline_id}.json
[3] 算子生成 (Generate Operators)
↓ 保存: data/generated_pipelines/{pipeline_id}.json
↓ 保存: data/generated_pipelines/{pipeline_id}/ (算子代码目录)
[4] Pipeline执行 (Run Pipelines)
↓ 保存: data/run_pipeline_results/{pipeline_id}/ (执行结果)
↓
最终处理数据 (Final Processed Data)
| 阶段 | 结果文件路径 | 说明 |
|---|---|---|
| 结构化理解 | data/understanding_results/{pipeline_id}.json | 结构化理解结果 |
| Pipeline编排 | data/orchestration_results/{pipeline_id}.json | 编排结果 |
| 算子生成 | data/generated_pipelines/{pipeline_id}.json | 生成结果元数据 |
| 算子代码 | data/generated_pipelines/{pipeline_id}/ | 算子代码目录 |
| 最终数据 | data/run_pipeline_results/{pipeline_id}/final_processed_data.jsonl | 最终处理数据 |
自动分析原始数据和种子数据,生成处理蓝图:
三阶段智能编排机制:
迭代生成可执行的算子代码:
支持LLM API调用的智能算子:
gen.text_generator: 智能文本生成qa.question_answer_generator: 智能问答生成gen.dialogue_generator: 智能对话生成eval.quality_evaluator: 智能质量评估DataCraft 已在多个数据集上验证,包括:
| 数据集 | 原始数据量 | 种子数据量 | 处理时间 | 质量提升 |
|---|---|---|---|---|
| Alpaca | 5,000+ | 6 | ~2分钟 | 内容详细度提升300%+ |
| SQuAD | 100+ | 10 | ~3分钟 | 格式一致性100% |
| MATH | 100+ | 5 | ~5分钟 | 推理质量显著提升 |
注:处理时间取决于数据量和LLM API响应速度
{
"llm": {
"provider": "custom",
"model": "gpt-3.5-turbo",
"temperature": 0.7,
"max_tokens": 1000,
"timeout": 30
},
"pipeline": {
"max_steps": 10,
"timeout": 300,
"parallel_execution": false
},
"logging": {
"level": "INFO",
"file": "logs/datacraft.log"
}
}
{
"custom": {
"api_key": "your-api-key",
"base_url": "https://your-api-endpoint.com/v1"
}
}
# 1. 准备数据
# 将原始数据放在 datasets/alpaca/raw_data/alpaca_raw.jsonl
# 将种子数据放在 datasets/alpaca/seed_data/alpaca_seed.jsonl
# 2. 运行完整流程
python main.py run-full alpaca
# 3. 查看结果
cat data/run_pipeline_results/alpaca/final_processed_data.jsonl | head -5
# 只执行结构化理解
python main.py understand squad
# 查看理解结果
cat data/understanding_results/squad.json | python -m json.tool
# 继续执行编排
python main.py orchestrate squad
# 继续执行生成
python main.py generate-operators squad
# 最后执行pipeline
python main.py run-pipelines squad
传统方式: 一次性生成完整pipeline代码
DataCraft方式: 迭代生成,每步基于中间结果指导下一步
优势:
传统方式: 固定规则的算子实现
DataCraft方式: LLM驱动的智能算子
优势:
传统方式: 类式的复杂算子实现
DataCraft方式: 函数式的简洁算子组合
优势:
传统方式: 固定pipeline模板
DataCraft方式: LLM驱动的动态编排
优势: