A processor for LLM tasks
Project description
LLM Data Processor
LLM Data Processor 是一个专为大语言模型(LLM)数据清洗和预处理设计的工具包,帮助研究人员和开发者高效地准备高质量训练数据。
特性
- 🧹 高效数据清洗:去除噪声、重复内容和低质量文本
- 🔍 智能内容过滤:基于规则和启发式方法过滤不相关内容
- 🧠 格式标准化:将不同来源的数据转换为统一的训练格式
- 📊 数据质量评估:提供数据质量指标和可视化工具
- ⚡ 批量处理:支持大规模数据集的并行处理
- 🛠️ 可扩展性:易于添加自定义处理器和过滤器
安装
pip install llm-data-processor
快速开始
基本用法
from llm_data_processor import DataCleaner
# 初始化数据清洗器
cleaner = DataCleaner()
# 清洗单个文本
cleaned_text = cleaner.clean("这是一个包含HTML标签<div>和重复重复内容的文本。")
print(cleaned_text) # 输出: "这是一个包含HTML标签和重复内容的文本。"
# 批量处理文件
cleaner.process_file("input.txt", "output.txt")
处理数据集
from llm_data_processor import DatasetProcessor
# 初始化数据集处理器
processor = DatasetProcessor()
# 处理整个数据集
processor.process_dataset(
input_path="raw_data/",
output_path="processed_data/",
filters=["duplicate", "low_quality", "non_chinese"],
num_workers=4
)
自定义过滤器
from llm_data_processor import DataCleaner, Filter
# 创建自定义过滤器
class MyCustomFilter(Filter):
def apply(self, text):
# 实现自定义过滤逻辑
if "关键词" in text:
return None # 返回None表示过滤掉该文本
return text # 返回处理后的文本
# 使用自定义过滤器
cleaner = DataCleaner()
cleaner.add_filter(MyCustomFilter())
result = cleaner.clean("这是包含关键词的文本")
print(result) # 输出: None (被过滤)
高级功能
配置文件支持
from llm_data_processor import DataCleaner
# 从配置文件加载设置
cleaner = DataCleaner.from_config("config.yaml")
cleaner.process_directory("input_dir/", "output_dir/")
质量评估
from llm_data_processor import QualityEvaluator
# 评估数据质量
evaluator = QualityEvaluator()
metrics = evaluator.evaluate("processed_data.jsonl")
print(f"数据质量分数: {metrics['quality_score']}")
print(f"重复率: {metrics['duplication_rate']}%")
命令行使用
# 处理单个文件
llm-data-processor clean --input input.txt --output output.txt
# 处理目录
llm-data-processor process --input-dir raw_data/ --output-dir clean_data/ --workers 4
# 评估数据质量
llm-data-processor evaluate --input dataset.jsonl --report quality_report.json
配置示例
config.yaml 示例:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_data_processor-0.1.2.tar.gz.
File metadata
- Download URL: llm_data_processor-0.1.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f133a0b0adb367f8c3b13dad9b3963ba9938a96bc2a7bb5ac567363d10d61864
|
|
| MD5 |
4ad92c89992cd72c21116dec1eab9c7f
|
|
| BLAKE2b-256 |
cbd36773b7879d1bed23111db512ee8091a64faaf7c850a54917c5e8ba608af5
|
File details
Details for the file llm_data_processor-0.1.2-py3-none-any.whl.
File metadata
- Download URL: llm_data_processor-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb255396954f712cb718ffdf80246c2042183378737b7245b023a0d8ebbc3984
|
|
| MD5 |
2a63c0ce50de815e4703661d4edf0414
|
|
| BLAKE2b-256 |
6a0350f2161694ddc6597713bca95e03ee021d820fd5ce35fdb613987e8c47cb
|