Skip to main content

A processor for LLM tasks

Project description

LLM Data Processor

PyPI version License: MIT

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_data_processor-0.1.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_data_processor-0.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file llm_data_processor-0.1.1.tar.gz.

File metadata

  • Download URL: llm_data_processor-0.1.1.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

Hashes for llm_data_processor-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1f9136643fc5b4fdb99c0b6f7860d7453dc56ac20088b2504990086cc572c417
MD5 880d5360a87e49786cd5e00eff9ea69d
BLAKE2b-256 88c49d88ff7482f233f286daa022c72ac87dc0ce181f80d8949935a33bac9b30

See more details on using hashes here.

File details

Details for the file llm_data_processor-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_data_processor-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d676b0d55de4e92814bc6609b738e535ae975f7e6040543a3465d005d31d0d59
MD5 3560492808440d9c2f1a9cf2e3d96f5c
BLAKE2b-256 b63dbee01e8f862f7dcc2a4076c0ddb979d8632e62a22cf29860e1dac4f5d75b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page