aitextgen
aitextgen 是一款基于 Python 的开源工具,旨在让用户轻松利用 GPT-2 或 GPT Neo 架构进行文本 AI 的训练与生成。作为 textgenrnn 和 gpt-2-simple 的继任者,它解决了以往工具在训练速度、内存效率以及多显卡支持上的局限,让构建专属文本模型变得更加高效便捷。
这款工具非常适合开发者、数据科学家以及对自然语言处理感兴趣的研究人员使用。无论是希望快速微调预训练模型,还是想要从零开始训练自定义 tokenizer 和模型,aitextgen 都能提供灵活的支持。其独特亮点在于深度整合了 PyTorch、Hugging Face Transformers 和 pytorch-lightning 生态:不仅支持单卡、多卡乃至未来的 TPU 训练,还允许用户合并多个数据集进行交叉训练,从而创造出风格融合的生成效果。此外,它提供了丰富的生成控制参数,并兼容 Hugging Face 模型库,方便模型的下载、上传及复用。即使没有高端 GPU 环境,用户也能通过简单的代码或命令行快速上手体验,是探索文本生成技术的理想起点。
使用场景
一家小型游戏工作室希望为复古 RPG 游戏快速生成大量风格统一的 NPC 对话和物品描述,以丰富游戏世界观。
没有 aitextgen 时
- 开发者需手动编写数千条文本,耗时数周且难以保持语气一致,导致角色性格割裂。
- 若尝试使用基础 GPT-2 代码微调,配置 PyTorch 环境和显存优化极其复杂,普通笔记本常因内存溢出而崩溃。
- 无法灵活合并多个数据源(如奇幻小说片段与现有剧本),强行拼接会导致训练数据分布偏差,生成内容杂乱。
- 缺乏直观的训练进度监控,调试模型超参数如同“黑盒”操作,极大拖慢迭代速度。
使用 aitextgen 后
- 仅需投喂少量精选剧本样本,aitextgen 即可在数小时内微调出专属模型,批量生成风格高度统一的千条对话,效率提升数十倍。
- 内置的显存优化与 pytorch-lightning 支持让模型能在单张消费级显卡甚至 CPU 上流畅训练,彻底告别环境配置噩梦。
- 利用其独特的数据集对象功能,轻松合并不同来源的文本数据进行交叉训练,既丰富了语料又避免了风格偏斜。
- 训练过程自带精美的进度条和日志记录,开发者可实时观察损失变化并灵活调整生成温度等参数,精准控制输出质量。
aitextgen 将原本高门槛的文本模型定制转化为开箱即用的工作流,让小型团队也能低成本拥有专属的 AI 内容创作引擎。
运行环境要求
- Linux
- macOS
- Windows
- 非必需
- 支持 CPU、单 GPU、多 GPU 训练
- TPU 目前不可用(存在阻塞性问题)
- 未指定具体显卡型号、显存大小或 CUDA 版本要求,但提供针对 CPU 优化的配置 (GPT2ConfigCPU)
未说明

快速开始
aitextgen
一款功能强大的 Python 工具,用于基于文本的 AI 训练和生成,采用 OpenAI 的 GPT-2 以及 EleutherAI 的 GPT Neo/GPT-3 架构。
aitextgen 是一个 Python 包,它利用了 PyTorch、Hugging Face Transformers 和 pytorch-lightning,并针对使用 GPT-2 进行文本生成进行了特定优化,同时添加了 许多 新特性。它是 textgenrnn 和 gpt-2-simple 的继任者,融合了两者的优点:
- 可以在 OpenAI 提供的预训练 124M/355M/774M GPT-2 模型,或 EleutherAI 提供的 125M/350M GPT Neo 模型上进行微调……也可以自己创建 GPT-2/GPT Neo 模型及分词器,并从头开始训练!
- 文本生成速度比 gpt-2-simple 更快,且内存效率更高!
- 借助 Transformers,aitextgen 保持与基础包的兼容性,允许你将模型用于其他自然语言处理任务,从 Hugging Face 模型库下载自定义 GPT-2 模型,并上传自己的模型!此外,它还使用内置的
generate()函数,让你对生成的文本拥有极大的控制权。 - 通过 pytorch-lightning,aitextgen 不仅可以在 CPU 和 GPU 上训练模型,还可以在 多块 GPU 甚至(未来)TPU 上进行训练!它还提供了一个美观的训练进度条,并支持添加可选的日志记录器。
- 输入数据集是一个独立的对象,不仅可以在几秒钟内轻松编码数兆字节的数据,还能在本地缓存和压缩后传输到远程服务器;此外,你还可以在不引入偏差的情况下 合并 数据集,或者在多个数据集上进行 交叉训练,从而生成混合输出。
你可以在 文档 中了解更多关于 aitextgen 的信息!
演示
你可以使用这些 Colaboratory 笔记本来免费试用 aitextgen,并借助强大的 GPU 进行体验!
你也可以在自己的电脑上试用自定义的 Reddit 和 Hacker News 演示模型。
安装
aitextgen 可以从 PyPI 安装:
pip3 install aitextgen
快速示例
即使你没有 GPU,也可以在自己的电脑上快速试用 aitextgen!
以下是使用预训练 GPT-2 模型生成文本的方法:
from aitextgen import aitextgen
# 如果不传入任何参数,aitextgen() 会自动下载、缓存并加载 124M 的 GPT-2 “small” 模型
ai = aitextgen()
ai.generate()
ai.generate(n=3, max_length=100)
ai.generate(n=3, prompt="我相信独角兽是因为", max_length=100)
ai.generate_to_file(n=10, prompt="我相信独角兽是因为", max_length=100,temperature=1.2)
你也可以通过命令行生成文本:
aitextgen generate
aitextgen generate --prompt "我相信独角兽是因为" --to_file False
想在自己的电脑上训练一个小型 GPT-2 模型吗?可以按照 这个 Jupyter Notebook 的步骤操作,或者下载这份 莎士比亚戏剧的文本文件,在终端中切换到该目录,打开 python3 控制台,然后执行以下操作:
from aitextgen.TokenDataset import TokenDataset
from aitextgen.tokenizers import train_tokenizer
from aitextgen.utils import GPT2ConfigCPU
from aitextgen import aitextgen
# 下载的莎士比亚文本文件名
file_name = "input.txt"
# 使用下载的文本训练自定义 BPE 分词器
# 这将保存一个文件:`aitextgen.tokenizer.json`,其中包含重建分词器所需的信息。
train_tokenizer(file_name)
tokenizer_file = "aitextgen.tokenizer.json"
# GPT2ConfigCPU 是一种专为 CPU 训练优化的 GPT-2 精简版本
# 例如,这里的输入标记数是 64,而标准 GPT-2 是 1024。
config = GPT2ConfigCPU()
# 使用创建的分词器和配置实例化 aitextgen
ai = aitextgen(tokenizer_file=tokenizer_file, config=config)
# 可以通过创建 TokenDataset 来构建训练数据集,
# 它会自动以合适的大小处理数据集。
data = TokenDataset(file_name, tokenizer_file=tokenizer_file,block_size=64)
# 开始训练模型!它会定期保存 pytorch_model.bin 文件,并在训练完成后将其保存到 `trained_model` 文件夹中。
# 在一台 2020 年款的 8 核 iMac 上,整个过程大约耗时 25 分钟。
ai.train(data, batch_size=8, num_steps=50000, generate_every=5000, save_every=5000)
# 用它生成文本!
ai.generate(10, prompt="罗密欧:")
# 使用你训练好的模型,你可以随时通过提供包含 pytorch_model.bin 模型权重的文件夹和配置文件,以及分词器,重新加载模型。
ai2 = aitextgen(model_folder="trained_model",
tokenizer_file="aitextgen.tokenizer.json")
ai2.generate(10, prompt="罗密欧:")
如果你想运行 aitextgen 并对 GPT-2 进行微调,请使用“演示”部分中的 Colab 笔记本,或者参考 文档 获取更多信息和实用技巧!
已知问题
- 目前无法使用 TPU 训练模型:尽管你可以在适当的运行环境中设置
n_tpu_cores=8来尝试在 TPU 上训练 aitextgen 模型,并且训练损失确实会下降,但仍然存在一些杂项阻碍问题。[GitHub 问题跟踪]
即将推出的功能
aitextgen 当前的版本(v0.5.X)被视为测试版,主要针对最常见的使用场景。迄今为止编写的笔记本和示例都经过测试,能够正常工作,但在接下来的几个月里,除了修复上述已知问题外,还将进一步完善文档和用例说明。
aitextgen 的后续版本(也是我最初开发这个包的原因之一)将原生支持 基于模式的生成。(请参阅 此仓库 以获取粗略的概念验证。)
此外,我还计划开发一个 aitextgen 的 SaaS 解决方案,使任何人都能在云端运行 aitextgen,并只需点击几下就能构建 API、Twitter+Slack+Discord 机器人。(主要限制在于计算成本;如果有风险投资家对资助此类服务感兴趣,请与我联系。)
更多暂定功能已列在 UPCOMING.md 文档中。
伦理
aitextgen 是一款主要用于辅助创作的工具,而非用于欺骗的工具。尽管模仿账号是该软件包的一个典型应用场景,但请务必在您生成的内容中尽可能透明地说明其生成方法。这包括:
- 明确声明文本是由 aitextgen 和/或 GPT-2 模型架构生成的。(如果能附上本仓库的链接就更好了!)
- 如果是在模仿某个人,请明确指出这是模仿作品,并说明模仿的对象是谁。
- 如果生成的文本经过人工筛选,或者完全是无监督的随机输出,也应予以说明。
- 标明谁在维护或编辑由 AI 生成的文本。
- 尽最大努力从生成的文本中移除与输入文本完全一致的过拟合内容。
将无名的“AI”拟人化为一位抽象的天才固然有趣,但我开发 aitextgen(以及我之前的其他文本生成项目)的原因之一,正是为了让这项技术更加普及,并准确展示其潜力与局限性。任何故意具有欺骗性的 AI 文本生成项目都可能被我本人否认。
维护者/创作者
Max Woolf (@minimaxir)
Max 的开源项目得到了他的 Patreon 和 GitHub Sponsors 的支持。如果您觉得这个项目对您有帮助,欢迎向 Patreon 捐款,您的每一份支持都将用于富有创意的用途。
许可证
MIT
版本历史
v0.6.02022/08/09v0.5.22021/05/17v0.5.12021/05/01v0.5.02021/04/19v0.4.12021/03/09v0.4.02021/02/23v0.3.02020/12/01v0.2.32020/07/05v0.2.22020/07/02v0.2.12020/06/28v0.2.02020/06/02v0.1.12020/05/17v0.12020/05/17常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。