Project Icon

textbook_quality

生成高质量预训练数据的专业工具

该项目专注于生成高质量的预训练数据,支持并行生成和自定义API集成,能够生成新主题或扩展已有种子。通过检索提升文本质量,默认使用Serply,还可选择SerpAPI或不使用检索功能。支持OpenAI及其兼容API,并可添加更多适配器进行扩展。项目提供详细的配置和使用指南,适用于需要生成高质量教材的用户。

项目介绍:Textbook Quality

Textbook Quality 项目旨在生成高质量的教科书级预训练数据,非常适合用于各种自然语言处理任务。用户可以通过该项目生成非常长的文本内容,从而加强AI模型的学习能力。这个项目可以在并行环境中运行,可使用OpenAI或用户自己的API,既可以从头生成主题,也可以使用用户提供的种子进行生成。项目独特地使用检索技术来提升文本的质量,默认使用Serply进行检索,但也支持使用SerpAPI,或者完全禁用检索功能。

项目核心特性

  • 检索技术:利用资料检索技术提升文本内容的丰富性和准确性。
  • 接口扩展性:核心设计具有很强的扩展性,用户可以为新的API和检索后端添加自己的适配器。
  • 高质量生成:通过预训练模型生成如教科书般高质量的文本数据。

安装指南

环境要求

  • Python 3.9+(推荐使用3.11版本)
  • Postgres 数据库系统:在Mac平台中可以通过 brew install postgres 来安装。

设置步骤

  1. 创建数据库:
    psql postgres -c "create database textbook;"
    
  2. 克隆项目代码:
    git clone https://github.com/VikParuchuri/textbook_quality.git
    cd textbook_quality
    
  3. 安装项目依赖:
    poetry install
    
  4. 迁移开发数据库:
    invoke migrate-dev
    

配置说明

在项目根目录下创建一个 local.env 文件用于存储秘密密钥,或者将密钥设为环境变量。所有可用的配置选项都在 app/settings.py 文件中可见。

使用 OpenAI 和检索(最高质量)

  • 设置 OpenAI 密钥:OPENAI_KEY=sk-xxxxxx
  • 设置 Serply 或 SerpAPI 密钥:如 SERPLY_KEY="..."SERPAPI_KEY="..."
  • 选择检索后端:SEARCH_BACKEND=serplySEARCH_BACKEND=serpapi

可使用 gpt-3.5gpt-4 模型,调整 LLM_TYPELLM_INSTRUCT_TYPEgpt-4 来使用更高级版本。

使用 vllm 或其他兼容 API 和检索

  • 设置 API 及其 URL。
  • 使用如 llama 等模型名称。
  • 配置检索。项目支持的最大上下文长度为 16k

禁用检索

  • 设为 SEARCH_BACKEND=none 即可。

使用说明

项目包含三个主要脚本,通常按以下顺序执行:

从头生成主题

输入一个学科、自定义保存文件名和迭代次数即可。

python topic_generator.py "computer science with python" python_cs_titles.json --iterations 50

从种子扩展主题

使用已有的种子文件扩展主题,并可选择限定学科领域。

python topic_augmentor.py python_titles.json python_topics.json --domain python

生成教科书

根据主题或大纲按照平行生成来生产教科书,示例如下:

python book_generator.py topics.json books.jsonl --workers 5

支持通过环境变量覆盖默认设置,如使用vllm API 来代替OpenAI。

清理目录

处理现有目录以格式化为书本生成格式。

python toc_cleaner.py toc.jsonl clean_toc.jsonl

项目扩展

该项目可以通过添加新的 LLM 适配器、检索方法和任务自由扩展,模块具体路径如下:

  • LLM 适配器:app/llm/adaptors
  • 检索方法:app/services/adaptors
  • 任务模块:app/llm/generators

希望用户能积极参与贡献与扩展(PRs是非常欢迎的)。

调试

默认情况下,部分异常会被隐藏以减少控制台信息。使用 DEBUG=true 开启调试模式来显示完整的异常信息:

DEBUG=true python book_generator.py python_topics.json books.jsonl --max 5 --workers 5

此项目为架构自然语言处理项目的学习与发展提供了极大的支持与便利,是研究人员及开发者在生成文本数据方面的强大工具。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号