{"repo":"Azure99/BlossomData","free":true,"listed":false,"github":"https://github.com/Azure99/BlossomData","clone":"git clone https://github.com/Azure99/BlossomData.git","description":"A fluent, scalable, and easy-to-use LLM data processing framework.","language":"Python","stars":28,"topics":["data-engineering","data-science","fine-tuning","gpt","llama","llm","nlp","supervised-learning"],"license":"MIT","category":"ai-agents","readme_excerpt":"BlossomData 中文 English BlossomData是一个专为大模型训练打造的数据处理框架，旨在提供灵活、高效的数据处理解决方案。它内置丰富的算子库，支持不同模态、不同训练阶段的数据处理与合成。能够从单机环境无缝迁移到分布式环境，允许用户灵活扩展自定义算子，从而大幅降低数据处理流程的开发和计算成本。 使用示例 在使用之前，请在 config.yaml 文件中配置模型服务提供商的API密钥和相关参数。（可参考 config.yaml.example ） 配置加载顺序（找到即止）： - 环境变量 BLOSSOM CONFIG 指定的路径 - 当前工作目录下的 config.yaml - 用户目录 /.blossom.yaml 第一个数据合成任务 下面是一个非常实用的示例，仅依赖数学题目和参考答案，即可合成经过验证的长推理中文训练数据。 框架提供了大量内置算子，可以在blossom.op中查看。例如，当原始数据缺失答案时，可以使用ChatDistiller生成回答，然后通过ChatReasoningConsistencyFilter基于LLM一致性校验过滤掉潜在不一致/错误样本。 框架核心概念 Schema Schema是框架中的基础数据结构，用于表示和处理不同类型的数据。所有Schema都继承自基础Schema类，提供了统一的接口和功能。 每个 Schema 实例都包含以下通用字段： - id : 唯一标识符 - type : Schema类型标识 - failed : 处理失败标志 - failure reason : 失败原因，当failed=True时记录具体的失败信息 - metadata : dict类型的附加元数据 DataFrame与Dataset DataFrame是对数据的抽象表示，提供了对数据进行转换、过滤和聚合的接口。框架支持多种DataFrame实现，包括Local、Multiprocess、Spark和Ray，使得同一套代码可以在不同的执行引擎中运行。 Dataset是对DataFrame的高级封装，提供了更加便捷的接口和额外的功能，特别是对算子的支持。Dataset是用户交互的主要接口，隐藏了底层执行引擎的复杂性。 为保证数据的类型和结构一致，框架推荐使用强类型Schema。对于已有数据集，可通过实现自定义DataHandler来定制不同格式数据的加载与保存逻辑。 Operator Operator（算子）是数据处理的核心单元，封装了特定的数据处理逻辑。框架提供了三种基本类型的算子： 1. MapOperator : 一对一映射，对每个元素单独处理 2. FilterOperator : 过滤操作，决定保留或删除元素 3. TransformOperator : 多对多映射，可以对多个元素同时操作 Context Context（上下文）提供了算子执行所需的环境和资源，包括配置信息和模型提供者的访问。它是算子与外部资源交互的桥梁，使得算子可以访问模型服务、配置参数等。","default_branch":null,"files":null,"tree":[],"storefront":"/r/Azure99","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Azure99/BlossomData/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}