five

Customizable Dataset Generator using GPT

收藏
github2024-08-04 更新2024-08-05 收录
下载链接:
https://github.com/Royofficely/Customizable-Dataset-Generator-using-GPT
下载链接
链接失效反馈
官方服务:
资源简介:
该项目提供了一个灵活的框架,用于使用OpenAI的GPT模型生成合成数据集。它可以根据用户定义的主题和提示轻松生成各种类型的文本数据,重点是创建两个角色(例如,客户和支持代理)之间的真实交互。

This project provides a flexible framework for generating synthetic datasets using OpenAI's GPT models. It can readily generate various types of textual data based on user-defined topics and prompts, with a primary focus on creating realistic interactions between two roles (e.g., a customer and a support agent).
创建时间:
2024-08-01
原始信息汇总

数据集生成器概述

数据集生成器简介

本项目提供了一个灵活的框架,用于使用OpenAI的GPT模型生成合成数据集。它可以根据用户定义的主题和提示轻松生成各种类型的文本数据,重点是创建两个角色(例如,客户和支持代理)之间的真实交互。

数据集生成步骤

  1. 克隆仓库并进入项目目录: bash git clone https://github.com/Royofficely/Customizable-Dataset-Generator-using-GPT.git cd Customizable-Dataset-Generator-using-GPT

  2. 运行设置脚本: bash chmod +x setup.sh ./setup.sh

    该脚本将:

    • 检查Python 3.6+
    • 创建虚拟环境
    • 安装依赖项
    • 提示输入OpenAI API密钥并安全保存
    • 创建易于执行的别名
  3. 生成数据集: bash run

    或如果别名不起作用: bash ./run.sh

配置文件

编辑config.yamlprompts.yaml文件以自定义:

  • use_text_file:如果希望使用文本文件作为输入,设置为true
  • text_file_path:输入文本文件的路径(如果use_text_file为true)
  • use_chunking:启用大输入文件的文本分块
  • language:生成内容的语言
  • subject:正在生成的文本类型(例如,“客户支持交互”)
  • model:使用的GPT模型(例如,“gpt-3.5-turbo”)
  • num_interactions:要生成的数据点数量
  • delay:API调用之间的延迟(以秒为单位)
  • output_file:输出CSV文件的名称
  • role1role2:交互中的两个角色(例如,“客户”和“代理”)
  • prompt_llm:不使用文本文件时生成文本的提示模板
  • prompt_text_file:使用文本文件时生成文本的提示模板
  • topics:生成的话题或类别列表(可选)

输出文件

脚本生成两个输出文件:

  1. CSV文件:包含原始生成文本和话题
  2. JSONL文件:包含解析为更可用格式的交互的结构化版本

微调兼容性

JSONL输出设计为与常见的LLM微调过程兼容。每个条目遵循以下结构: json { "messages": [ {"role": "system", "content": "这是关于[话题]的对话。[role1]是客户,[role2]是支持代理。"}, {"role": "user", "content": "用户消息"}, {"role": "assistant", "content": "助手响应"}, ... ] }

高级功能

  • 文本文件输入:使用文本文件作为输入生成交互
  • 文本分块:将大输入文件分割成可管理的数据块
  • 话题生成:根据内容自动生成每个交互的话题
  • 自定义解析:实现自定义解析逻辑以从生成文本中提取特定字段
  • 批处理:分批生成大数据集以管理API使用和处理时间
  • 可扩展性:模块化设计允许轻松添加新功能或与其他数据处理管道集成
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集通过利用OpenAI的GPT模型,提供了一个灵活的框架来生成合成数据集。用户可以根据自定义的主题和提示,生成各种类型的文本数据。特别地,该框架专注于创建两个角色(如客户和支持代理)之间的真实互动。数据集的构建过程包括使用配置文件(如`config.yaml`和`prompts.yaml`)来定义生成参数,如语言、主题、模型类型和生成的互动数量。通过调用OpenAI的API,系统能够生成符合用户需求的文本数据,并将其存储为CSV和JSONL格式,以便进一步分析和使用。
特点
此数据集的主要特点在于其高度可定制性和真实性。用户可以通过修改配置文件来调整生成文本的语言、主题和模型,从而满足不同的研究或应用需求。此外,数据集支持文本文件输入和文本分块功能,适用于处理大规模输入数据。生成的数据不仅包括原始文本,还提供了结构化的JSONL格式,便于后续的模型微调和其他数据处理任务。数据集还具备强大的错误处理机制,能够应对API调用中的各种异常情况,确保数据生成的稳定性和可靠性。
使用方法
使用该数据集时,用户首先需要完成项目的初始设置,包括克隆仓库、运行设置脚本并输入OpenAI API密钥。随后,用户可以通过运行`run`命令或直接执行`run.sh`脚本来生成数据集。生成的数据将以CSV和JSONL格式输出,用户可以根据需要进一步处理这些数据。对于模型微调,生成的JSONL文件可以直接用于常见的LLM微调过程,但需注意不同平台的具体格式要求。此外,用户可以通过编辑配置文件来定制生成参数,如语言、主题和模型类型,以满足特定的应用场景。
背景与挑战
背景概述
Customizable Dataset Generator using GPT 是一个灵活的框架,利用 OpenAI 的 GPT 模型生成合成数据集。该项目由 Royofficely 开发,旨在通过用户定义的主题和提示,生成各种类型的文本数据,特别是模拟两个角色(如客户和支持代理)之间的真实互动。该数据集的创建旨在解决文本生成和角色互动模拟的挑战,为自然语言处理和对话系统研究提供了丰富的资源。
当前挑战
该数据集在构建过程中面临多项挑战。首先,生成高质量的合成文本需要精确的模型调优和大量的计算资源。其次,确保生成的数据在语义和逻辑上的一致性是一个复杂的问题。此外,处理大规模数据生成时的API调用限制和延迟问题,以及确保生成的数据格式与常见LLM微调过程兼容,都是需要解决的关键挑战。
常用场景
经典使用场景
在自然语言处理领域,Customizable Dataset Generator using GPT 数据集的经典使用场景主要集中在生成高质量的合成文本数据。该数据集能够根据用户定义的主题和提示,生成逼真的对话数据,特别适用于模拟客户与支持代理之间的互动。这种生成方式不仅提高了数据多样性,还为模型训练提供了丰富的语料库,尤其是在缺乏真实对话数据的情况下,该数据集显得尤为重要。
解决学术问题
Customizable Dataset Generator using GPT 数据集解决了自然语言处理领域中数据稀缺和多样性不足的问题。通过生成逼真的对话数据,该数据集为研究人员提供了丰富的语料库,有助于提升对话系统、情感分析和语言模型等领域的研究水平。此外,该数据集的灵活性和可定制性,使得研究人员能够针对特定任务生成所需的数据,从而推动了相关领域的技术进步。
衍生相关工作
基于 Customizable Dataset Generator using GPT 数据集,研究人员开发了多种相关的经典工作。例如,有研究团队利用该数据集生成的对话数据,训练了高效的对话生成模型,显著提升了对话系统的自然度和流畅性。此外,还有研究者将该数据集应用于情感分析任务,通过分析生成的对话数据,提出了新的情感识别算法,进一步推动了情感分析技术的发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作