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.2.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.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for llm_data_processor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f133a0b0adb367f8c3b13dad9b3963ba9938a96bc2a7bb5ac567363d10d61864
MD5 4ad92c89992cd72c21116dec1eab9c7f
BLAKE2b-256 cbd36773b7879d1bed23111db512ee8091a64faaf7c850a54917c5e8ba608af5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for llm_data_processor-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bb255396954f712cb718ffdf80246c2042183378737b7245b023a0d8ebbc3984
MD5 2a63c0ce50de815e4703661d4edf0414
BLAKE2b-256 6a0350f2161694ddc6597713bca95e03ee021d820fd5ce35fdb613987e8c47cb

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