[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Turing-Project--WriteGPT":3,"tool-Turing-Project--WriteGPT":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",149489,2,"2026-04-10T11:32:46",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":77,"owner_url":80,"languages":81,"stars":112,"forks":113,"last_commit_at":114,"license":115,"difficulty_score":116,"env_os":117,"env_gpu":118,"env_ram":119,"env_deps":120,"category_tags":132,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":133,"updated_at":134,"faqs":135,"releases":165},6343,"Turing-Project\u002FWriteGPT","WriteGPT","由图灵的猫开发，基于开源GPT2.0的初代创作型人工智能 | 可扩展、可进化","WriteGPT 是一款由“图灵的猫”团队开发的开源人工智能框架，专注于高考议论文的自动化创作。它巧妙融合了 OCR（光学字符识别）与 NLP（自然语言处理）技术，能够模拟从识别试卷题目到生成完整作文的全流程，旨在探索生成式 AI 在中文写作领域的潜力与应用边界。\n\n该项目主要解决了长文本逻辑生成与特定场景（如高考作文）下的内容合规性问题。通过整合 EAST 文本检测、CRNN 识别、Bert 摘要及 GPT-2 生成等五大独立模块，WriteGPT 构建了一个拥有 17 亿参数的异构深度神经网络。其独特之处在于支持端到端服务：不仅能理解图片形式的考题，还能基于超过两亿条预训练数据（涵盖经典文集），生成符合人类认知逻辑且达到高中生及格水平的议论文。\n\nWriteGPT 非常适合对自然语言处理感兴趣的研究人员、希望深入理解大模型微调机制的开发者，以及关注 AI 教育应用的科普爱好者使用。项目提供了详细的本地部署指南及 Google Colab 在线演示，用户无需昂贵算力即可体验“输入题目、即刻成文”的效果。作为早期开源探索项目，它以透明的架构和详实的开发日志，为中文语境下的文本生成研究提","WriteGPT 是一款由“图灵的猫”团队开发的开源人工智能框架，专注于高考议论文的自动化创作。它巧妙融合了 OCR（光学字符识别）与 NLP（自然语言处理）技术，能够模拟从识别试卷题目到生成完整作文的全流程，旨在探索生成式 AI 在中文写作领域的潜力与应用边界。\n\n该项目主要解决了长文本逻辑生成与特定场景（如高考作文）下的内容合规性问题。通过整合 EAST 文本检测、CRNN 识别、Bert 摘要及 GPT-2 生成等五大独立模块，WriteGPT 构建了一个拥有 17 亿参数的异构深度神经网络。其独特之处在于支持端到端服务：不仅能理解图片形式的考题，还能基于超过两亿条预训练数据（涵盖经典文集），生成符合人类认知逻辑且达到高中生及格水平的议论文。\n\nWriteGPT 非常适合对自然语言处理感兴趣的研究人员、希望深入理解大模型微调机制的开发者，以及关注 AI 教育应用的科普爱好者使用。项目提供了详细的本地部署指南及 Google Colab 在线演示，用户无需昂贵算力即可体验“输入题目、即刻成文”的效果。作为早期开源探索项目，它以透明的架构和详实的开发日志，为中文语境下的文本生成研究提供了宝贵的参考范例。","\n# WriteGPT\n\n![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache--2.0-green) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-orange)  ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Anti--996-red)  ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpypi-v0.0.1a4-yellowgreen) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstars-%3C%205k-blue) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fissues-30%20open-brightgreen)  \n\n通用型议论文创作人工智能框架，仅限交流与科普。\n\n\n## 项目简介\nWriteGPT是基于OCR、NLP领域的最新模型所构建的生成式文本创作AI框架，目前第一版finetune模型针对高考作文（主要是议论文），可以有效生成符合人类认知的文章，多数文章经过测试可以达到正常高中生及格作文水平。\n\n| 项目作者        | 主页1           | 主页2  | \n| ------------- |:------:|:----:|\n| Y1ran       | [CSDN](https:\u002F\u002Fy1ran.blog.csdn.net\u002F) |[Github](https:\u002F\u002Fgithub.com\u002FY1ran) |\n\n\n**致谢**\n\n感谢开源作者[@imcaspar](https:\u002F\u002Fgithub.com\u002Fimcaspar)  在GPT-2中文预训练框架与数据中的支持。\n感谢[@白小鱼博士](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fyoungfish42) 、[@YJango博士](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002FYJango) 、[@画渣花小烙](https:\u002F\u002Fspace.bili.com\u002F402576555)、[@万物拣史](https:\u002F\u002Fspace.bilibili.com\u002F328531988\u002F) 、[@柴知道](https:\u002F\u002Fspace.bilibili.com\u002F26798384\u002F)、[@风羽酱-sdk](https:\u002F\u002Fspace.bilibili.com\u002F17466521\u002F)、[@WhatOnEarth](https:\u002F\u002Fspace.bilibili.com\u002F410527811\u002F)、[@这知识好冷](https:\u002F\u002Fspace.bilibili.com\u002F403943112\u002F)、[@科技狐](https:\u002F\u002Fspace.bilibili.com\u002F40433405\u002F) 的参与和支持\n\u003Cbr>\n\n## 框架说明\n- [x] 基于EAST、CRNN、Bert和GPT-2语言模型的高考作文生成AI\n- [x] 支持bert tokenizer，当前版本基于clue chinese vocab\n- [x] 17亿参数多模块异构深度神经网络，超2亿条预训练数据\n- [x] 线上点击即用的文本生成效果demo：[17亿参数作文杀手](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FEssayKillerBrain\u002FwriteGPT\u002Fblob\u002Fmaster\u002Fcolab_online.ipynb)\n- [x] 端到端生成，从试卷识别到答题卡输出一条龙服务\n\n\n\n### Colab线上作文生成功能\n国内没有足够显存的免费GPU平台，所以配合Google Drive将训练好的AI核心功能Language Network写作模块迁移到Colab。\n\n当前线上仅开放文本生成功能，输入对应句子，AI返回生成文章。同一个句子可以输入多次，每一次输出都不同。也可以选择同时生成多篇文章。具体见：[17亿参数作文杀手](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FEssayKillerBrain\u002FwriteGPT\u002Fblob\u002Fmaster\u002Fcolab_online.ipynb)\n\n* 第一步：安装环境\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_6971f51522fb.png)\n\n* 第二部：加载模型\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_48b5d922c220.png)\n\n* 第三步：文章生成\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_c3c7951804b9.png)\n\n* 写作效果\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_190823c833be.png)\n\n\n## 本地环境\n* Ubuntu 18.04.2\n* Pandas 0.24.2\n* Regex 2019.4.14\n* h5py 2.9.0\n* Numpy 1.16.2\n* Tensorboard 1.15.2\n* Tensorflow-gpu 1.15.2\n* Requests 2.22.0\n* OpenCV 3.4.2\n* CUDA >= 10.0\n* CuDNN >= 7.6.0\n\n## 开发日志\n\n* 2020.06.23 本地Git项目建立\n* 2020.07.03 整体模型架构搭建，开始语料收集\n* 2020.07.13 基于OCR的视觉网络训练\n* 2020.08.01 GPT-2中文预训练模型微调\n* 2020.08.14 Bert文本摘要模型\n* 2020.08.23 通顺度判分网络测试\n* 2020.09.14 排版脚本与输出装置改装\n* 2021.02.15 修复网页版模型打分\n* 2021.06.10 训练集中增加了《毛泽东选集》、《陈独秀文集》、《鲁迅文集》等著作\n\n\n## 模型结构\n整个框架分为EAST、CRNN、Bert、GPT-2、DNN 5个模块，每个模块的网络单独训练，参数相互独立。infer过程使用pipeline串联，通过外接装置直接输出到答题卡。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_e0679968f573.png)\n\n\n### 1. 输入\n高考语文试卷作文题\n>![浙江卷](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_90c063325aab.jpg)\n\n\n### 2. 识别网络\n#### 2.1 EAST文本检测\nOpenCV 的EAST文本检测器是一个深度学习模型，它能够在 720p 的图像上以13帧\u002F秒的速度实时检测任意方向的文本，并可以获得很好的文本检测精度。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_5605745c09f0.png)\n\n\u003Cbr>\n\n**模型亮点**\n1. 简单的管道实现在当时较高精度的文本检测。\n2. 图像通过FCN处理产生像素级文本缩放地图和几何图形的多个频道。\n3. 可旋转的文本框，可以检测文本也可以检测单词。\n\nEAST文本检测器需要 OpenCV3.4.2 或更高的版本，有需要的读者可以查看 [OpenCV 安装教程](https:\u002F\u002Fwww.pyimagesearch.com\u002Fopencv-tutorials-resources-guides\u002F)。虽然EAST的模型在检测自然场景下的英文文本有着较好的性能，要实现中文场景下的中文文本检测，仍然需要重新训练模型。\n\n**数据集处理**\n\n中文文本识别的数据集要按照原作者的命名方式修改，即使使用ICDAR3013这类标准数据集，也需要修改对应的图片命名方式。原代码数据集的命名方式：图片1.jpg 图片1.txt。\n\n此外，代码是通过获取文件类型然后重新命名以原来的文件类型保存的，所以文本数据和图片数据需要分开处理。\n\n*训练命令：*\n```bash\npython multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=\u002Ftmp\u002Feast_icdar2015_resnet_v1_50_rbox\u002F \\ --text_scale=512 --training_data_path=\u002Fdata\u002Focr\u002Ficdar2015\u002F --geometry=RBOX --learning_rate=0.0001 --num_readers=24 \\ --pretrained_model_path=\u002Ftmp\u002Fresnet_v1_50.ckpt \n```\n\n\n更多细节可以参考：https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F64737915\n\n\u003Cbr>\n\n*检测结果*\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_b8f328212d13.png)\n\n除了EAST，也可以把识别网络替换为传统的CTPN等模型，github上有已经成熟的项目：https:\u002F\u002Fgithub.com\u002FWalleclipse\u002FChineseAddress_OCR\n\n#### 2.2 CRNN文本识别\n\n参考 https:\u002F\u002Fgithub.com\u002Fooooverflow\u002Fchinese-ocr \n\n**数据准备**\n\n下载[训练集](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1E_1iFERWr9Ro-dmlSVY8pA)：共约364万张图片，按照99: 1划分成训练集和验证集\n\n数据利用中文语料库（新闻 + 文言文），通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成。包含汉字、英文字母、数字和标点共5990个字符，每个样本固定10个字符，字符随机截取自语料库中的句子，图片分辨率统一为280x32。  \n\n*修改\u002Ftrain\u002Fconfig.py中train_data_root，validation_data_root以及image_path*\n\n**训练**\n```bash\ncd train  \npython train.py\n```\n\n**训练结果**\n```python\nEpoch 3\u002F100\n25621\u002F25621 [==============================] - 15856s 619ms\u002Fstep - loss: 0.1035 - acc: 0.9816 - val_loss: 0.1060 - val_acc: 0.9823\nEpoch 4\u002F100\n25621\u002F25621 [==============================] - 15651s 611ms\u002Fstep - loss: 0.0798 - acc: 0.9879 - val_loss: 0.0848 - val_acc: 0.9878\nEpoch 5\u002F100\n25621\u002F25621 [==============================] - 16510s 644ms\u002Fstep - loss: 0.0732 - acc: 0.9889 - val_loss: 0.0815 - val_acc: 0.9881\nEpoch 6\u002F100\n25621\u002F25621 [==============================] - 15621s 610ms\u002Fstep - loss: 0.0691 - acc: 0.9895 - val_loss: 0.0791 - val_acc: 0.9886\nEpoch 7\u002F100\n25621\u002F25621 [==============================] - 15782s 616ms\u002Fstep - loss: 0.0666 - acc: 0.9899 - val_loss: 0.0787 - val_acc: 0.9887\nEpoch 8\u002F100\n25621\u002F25621 [==============================] - 15560s 607ms\u002Fstep - loss: 0.0645 - acc: 0.9903 - val_loss: 0.0771 - val_acc: 0.9888\n```\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_f683f7cdd598.png)\n\n\u003Cbr>\n\n### 2. 语言网络\n#### 2.1 BERT文本摘要\n\n\nBERT的全称是Bidirectional Encoder Representation from Transformers，即双向Transformer的Encoder。模型的主要创新点在pre-train方法上，用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。\n\n模型的构成元素Transformer可以参考Google的 [Attention is all you need](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.03762) ，BERT模型的结构如下图最左：\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_9f20b17e937a.png)\n\n对比OpenAI GPT(Generative pre-trained transformer)，BERT是双向的Transformer block连接；就像单向RNN和双向RNN的区别，直觉上来讲效果会好一些。\n\u003Cbr>\n\n在原论文中，作者展示了新的语言训练模型，称为编码语言模型与下一句预测 \n\n\nOriginal Paper : 3.3.1 Task #1: Masked LM\n>Input Sequence  : The man went to [MASK] store with [MASK] dog\nTarget Sequence :                  the                his\n\n规则: 会有15%的随机输入被改变，这些改变基于以下规则\n\n* 80%的tokens会成为‘掩码’token\n* 10%的tokens会称为‘随机’token\n* 10%的tokens会保持不变但需要被预测\n\n下一句预测\n\n> Input : [CLS] the man went to the store [SEP] he bought a gallon of milk [SEP]\nLabel : Is Next\nInput = [CLS] the man heading to the store [SEP] penguin [MASK] are flight ##less birds [SEP]\nLabel = NotNext\n\n规则:\n* 50%的下一句会（随机）成为连续句子\n* 50%的下一句会（随机）成为不关联句子\n\n\u003Cbr>\n\n**训练**\n\n* 哈工大的新浪微博短文本摘要[LCSTS](http:\u002F\u002Ficrc.hitsz.edu.cn\u002FArticle\u002Fshow\u002F139.html)\n* 教育新闻自动摘要语料[chinese_abstractive_corpus](https:\u002F\u002Fgithub.com\u002Fwonderfulsuccess\u002Fchinese_abstractive_corpus)\n\n```bash\npython run.py --model bert\n```\n\u003Cbr>\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_999399ad6d32.png)\n\n测试时，需要用正则表达式过滤考试专用词，包括“阅读下面的材料，根据要求写作”，“要求：xxx”，“请完成\u002F请结合\u002F请综合xx”。\n\n比如\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_83e900c3c01e.png)\n\n\n    人们用眼睛看他人、看世界，却无法直接看到完整的自己。所以，在人生的旅程中，我们需要寻找各种“镜子”、不断绘制“自画像”来审视自我，尝试回答“我是怎样的人”“我想过怎样的生活”“我能做些什么”“如何生活得更有意义”等重要的问题。\n\n\n\u003Cbr>\n\n#### 2.2 GPT-2文本生成\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_bacbbd41bd22.png)\n\n参考：https:\u002F\u002Fgithub.com\u002Fimcaspar\u002Fgpt2-ml\u002F\n\n预训练语料来自 [THUCNews](http:\u002F\u002Fthuctc.thunlp.org\u002F#%E4%B8%AD%E6%96%87%E6%96%87%E6%9C%AC%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE%E9%9B%86THUCNews) 以及 [nlp_chinese_corpus](https:\u002F\u002Fgithub.com\u002Fbrightmart\u002Fnlp_chinese_corpus)，清洗后总文本量约 15G。\n Finetune语料来自历年满分高考作文、优质散文集以及近现代散文作品，约1000篇。  \n\n**预训练**  \n参考 [GPT2-ML](https:\u002F\u002Fgithub.com\u002Fimcaspar\u002Fgpt2-ml\u002F) 预训练模型，使用 [Quadro RTX 8000](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdesign-visualization\u002Fquadro\u002Frtx-8000\u002F) 训练 28w 步\n\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_e0e7d341e0ad.png)\n\n\n\u003Cbr>\n\n**Finetune**\n\n```bash\n1、进入dataset目录\npython pre_data.py --filepath \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata-mayun_xiugai --outfile \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\u002F22.json\nfilepath为finetune数据目录\n\n2、生成tfrecord训练数据\npython prepare_data.py -input_fn \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\n\n3、finetune\nCUDA_VISIBLE_DEVICES=0  python train\u002Ftrain_wc.py --input_file=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Fdata\u002Ftrain.tfrecord --output_dir=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Ffinetune_model --init_checkpoint=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml\u002Fmodels\u002Fmega\u002Fmodel.ckpt-220000\n\n```\n\n\u003Cbr>\n\n### 3.判分网络\n\n#### 3.1 DNN判分模型\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_073f75551757.png)\n\n这部分直接调用百度API。有现成的模型就不重复造轮子了，具体实现方式百度没有开源，这里简单描述一下语言模型的概念：\n语言模型是通过计算给定词组成的句子的概率，从而判断所组成的句子是否符合客观语言表达习惯。通常用于机器翻译、拼写纠错、语音识别、问答系统、词性标注、句法分析和信息检索等。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_0f6beb465d04.png)\n\n这里使用通顺度打分作为判断依据。  \n\n#### 3.2 高考排版器\n\n*标题*  \n复用BERT_SUM生成Top3的NER粒度token作为标题\n\n*主体*  \n高考议论文的写作格式要求如下：\n1. 标题居中，一般少于20字\n2. 每段段首缩进两格\n3. 每个字符尽量保持在字体框内\n4. 字数不能过长或过短\n\n由于模型输出的文章不保证换行和分段，通过统计高考作文的常见段数、每段句数，编写脚本对输出进行划分。大多数情况下分段排版的结果都比较合理。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_9acb6dc52d69.png)\n\n\u003Cbr>\n\n## 输出\n**答题卡**  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_a26e73f7c9ec.png)\n\n**外接装置**\n\n基于aedraw，一款开源的CNC(Computer Numerical Control数控机床)画图机器人，具有绘制图案、写字等功能，它也可以升级为激光雕刻等用途。\n详细教程见 http:\u002F\u002Faelab.net\u002F ，不仅能自己制作一台写字绘画机器人，而且能够掌握其工作原理拓展更多的应用。  \n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_edd7e9365b8a.png)\n\n原版的输出临摹装置存在速度慢和格式不准的问题，通过改装和修改源代码得以优化\n\n* 因为时间原因目前的手写装置还有些问题，偶尔会有漏写、越格的问题\n* 视频中的作文经过后期的人工处理，补上了漏字\n\n\u003Cbr>\n\n## 预训练模型\n\n| 模型        | 参数量           | 下载链接  | 备注 |\n| ------------- |:-------------:|:----:|:---:|\n| EAST  | \u003C 0.1 Billion  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1fF4IYaL7CWghYCDvRrACM57WVx83Yvny\u002Fview?usp=sharing) | 检测模型 |\n| CRNN | \u003C 0.1 Billion   | [网盘链接](https:\u002F\u002Feyun.baidu.com\u002Fs\u002F3dEUJJg9) 提取码：vKeD| 识别模型 |\n| BERT | 0.1 Billion   | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F15DbA07DZNT3gMXu2aLliA3CkuR5XHhlt\u002Fview?usp=sharing) | 摘要模型 |\n| GPT-2 | 1.5 Billion   | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1ujWYTOvRLGJX0raH-f-lPZa3-RN58ZQx\u002Fview?usp=sharing)  | 生成模型 |\n\n整个AI的参数量分布不均匀，主要原因在于，这是一个语言类AI，99%的参数量集中在语言网络中，其中GPT-2（15亿）占88%，BERT（1.1亿）占7%，其他的识别网络和判分网络共占5%。\n\n### 当前问题\n* 输出的格式和高考作文还不能完美契合，之后的参数需要微调一下。为了国庆前完成，我还没来得及优化\n* 生成的100篇作文里有很大一部分其实算不上合格的作文，有些只能勉强及格，有些甚至能拿零分（占比不多），显然GPT-2的能力有限。为了视频效果我只选了相对好的几篇做展示\n* 英文版的说明还没来得及写，有空的同学可以翻译一下提个pr\n\n## Q&A\n* **我能否用EssayKiller来帮自己写作业？**  \n  不能。所以有下一个问题：  \n  \n* **为什么缺少一些关键文件？**  \n项目在一开始是完全开源的，经过慎重考虑我认为完全开源会被部分别有用心的人用以牟利，甚至用作不法用途。参考咸鱼和淘宝上一些魔改的开源框架应用。部分懂技术又不想动笔的小同志可能会让Essaykiller帮自己写作业，比如读后感、课后作文、思修小论文。我想说，这样不好。  \n\n* **为什么不直接加密？**  \n本来打算用混淆加密，但一些模块本就是开源的，所以我开源了整体的模型文件，只隐藏了关键的，包括pipeline、输入输出在内的文件，另外有些文件里也加了盐。  \n\n* **有哪些模组可用？**  \n目前完全开源，可以独立复用的部分包括：\n  - [x] 检测网络\n  - [x] 文本摘要网络\n  - [x] 文本生成网络\n  - [x] 判分网络与排版脚本  \n\n* **为什么不用GPT-3**  \n训练一个中文GPT-3的价格至少为1200万美元，折合人民币将近1亿。要是真有人训练出来一个中文GPT-3还开源模型文件了，我愿称之为最强。  \n\n* **训练EssayKiller需要多少钱？**  \n从头到尾训练完pipeline的话在1K～100K人民币不等，取决于你有无分布式集群可用  \n\n\u003Cbr>\n\n## Citation\n```\n@misc{EssayKillerBrain,\n  author = {Turing's Cat},\n  title = {Autowritting Ai Framework},\n  year = {2020},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FEssayKillerBrain\u002FwriteGPT}},\n}\n```\n\n\u003Cbr>\n\n\n## 参考资料  \n[1] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding  \n[2] ERNIE: Enhanced Representation through Knowledge Integration  \n[3] Fine-tune BERT for Extractive Summarization  \n[4] EAST: An Efficient and Accurate Scene Text Detector  \n[5] An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition  \n[6] Language Models are Unsupervised Multitask Learners  \n[7] https:\u002F\u002Fgithub.com\u002FMorizeyao\u002FGPT2-Chinese  \n[8] https:\u002F\u002Fgithub.com\u002Fargman\u002FEAST  \n[9] https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn  \n[10] https:\u002F\u002Fgithub.com\u002Fzhiyou720\u002Fchinese_summarizer  \n[11] https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F64737915  \n[12] https:\u002F\u002Fgithub.com\u002Fouyanghuiyu\u002Fchineseocr_lite  \n[13] https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fbert  \n[14] https:\u002F\u002Fgithub.com\u002Frowanz\u002Fgrover  \n[15] https:\u002F\u002Fgithub.com\u002Fwind91725\u002Fgpt2-ml-finetune-  \n[16] https:\u002F\u002Fgithub.com\u002Fguodongxiaren\u002FREADME  \n[17] https:\u002F\u002Fwww.jianshu.com\u002Fp\u002F55560d3e0e8a  \n[18] https:\u002F\u002Fgithub.com\u002FYCG09\u002Fchinese_ocr  \n[19] https:\u002F\u002Fgithub.com\u002Fxiaomaxiao\u002Fkeras_ocr  \n[20] https:\u002F\u002Fgithub.com\u002Fnghuyong\u002FERNIE-Pytorch  \n[21] https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F43534801\n[22] https:\u002F\u002Fblog.csdn.net\u002Fxuxunjie147\u002Farticle\u002Fdetails\u002F87178774\u002F  \n[23] https:\u002F\u002Fgithub.com\u002FJiangYanting\u002FPre-modern_Chinese_corpus_dataset  \n[24] https:\u002F\u002Fgithub.com\u002Fbrightmart\u002Fnlp_chinese_corpus  \n[25] https:\u002F\u002Fgithub.com\u002FSophonPlus\u002FChineseNlpCorpus  \n[26] https:\u002F\u002Fgithub.com\u002FTHUNLP-AIPoet\u002FResources  \n[27] https:\u002F\u002Fgithub.com\u002FOYE93\u002FChinese-NLP-Corpus  \n[28] https:\u002F\u002Fgithub.com\u002FCLUEbenchmark\u002FCLUECorpus2020  \n[29] https:\u002F\u002Fgithub.com\u002Fzhiyou720\u002Fchinese_summarizer  \n\n\n## 免责声明\n该项目中的内容仅供技术研究与科普，不作为任何结论性依据，不提供任何商业化应用授权\n","# WriteGPT\n\n![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache--2.0-green) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-orange)  ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Anti--996-red)  ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpypi-v0.0.1a4-yellowgreen) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstars-%3C%205k-blue) ![image](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fissues-30%20open-brightgreen)  \n\n通用型议论文创作人工智能框架，仅限交流与科普。\n\n\n## 项目简介\nWriteGPT是基于OCR、NLP领域的最新模型所构建的生成式文本创作AI框架，目前第一版finetune模型针对高考作文（主要是议论文），可以有效生成符合人类认知的文章，多数文章经过测试可以达到正常高中生及格作文水平。\n\n| 项目作者        | 主页1           | 主页2  | \n| ------------- |:------:|:----:|\n| Y1ran       | [CSDN](https:\u002F\u002Fy1ran.blog.csdn.net\u002F) |[Github](https:\u002F\u002Fgithub.com\u002FY1ran) |\n\n\n**致谢**\n\n感谢开源作者[@imcaspar](https:\u002F\u002Fgithub.com\u002Fimcaspar)  在GPT-2中文预训练框架与数据中的支持。\n感谢[@白小鱼博士](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fyoungfish42) 、[@YJango博士](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002FYJango) 、[@画渣花小烙](https:\u002F\u002Fspace.bili.com\u002F402576555)、[@万物拣史](https:\u002F\u002Fspace.bilibili.com\u002F328531988\u002F) 、[@柴知道](https:\u002F\u002Fspace.bilibili.com\u002F26798384\u002F)、[@风羽酱-sdk](https:\u002F\u002Fspace.bilibili.com\u002F17466521\u002F)、[@WhatOnEarth](https:\u002F\u002Fspace.bilibili.com\u002F410527811\u002F)、[@这知识好冷](https:\u002F\u002Fspace.bilibili.com\u002F403943112\u002F)、[@科技狐](https:\u002F\u002Fspace.bilibili.com\u002F40433405\u002F) 的参与和支持\n\u003Cbr>\n\n## 框架说明\n- [x] 基于EAST、CRNN、Bert和GPT-2语言模型的高考作文生成AI\n- [x] 支持bert tokenizer，当前版本基于clue chinese vocab\n- [x] 17亿参数多模块异构深度神经网络，超2亿条预训练数据\n- [x] 线上点击即用的文本生成效果demo：[17亿参数作文杀手](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FEssayKillerBrain\u002FwriteGPT\u002Fblob\u002Fmaster\u002Fcolab_online.ipynb)\n- [x] 端到端生成，从试卷识别到答题卡输出一条龙服务\n\n\n\n### Colab线上作文生成功能\n国内没有足够显存的免费GPU平台，所以配合Google Drive将训练好的AI核心功能Language Network写作模块迁移到Colab。\n\n当前线上仅开放文本生成功ene，输入对应句子，AI返回生成文章。同一个句子可以输入多次，每一次输出都不同。也可以选择同时生成多篇文章。具体见：[17亿参数作文杀手](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FEssayKillerBrain\u002FwriteGPT\u002Fblob\u002Fmaster\u002Fcolab_online.ipynb)\n\n* 第一步：安装环境\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_6971f51522fb.png)\n\n* 第二部：加载模型\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_48b5d922c220.png)\n\n* 第三步：文章生成\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_c3c7951804b9.png)\n\n* 写作效果\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_190823c833be.png)\n\n\n## 本地环境\n* Ubuntu 18.04.2\n* Pandas 0.24.2\n* Regex 2019.4.14\n* h5py 2.9.0\n* Numpy 1.16.2\n* Tensorboard 1.15.2\n* Tensorflow-gpu 1.15.2\n* Requests 2.22.0\n* OpenCV 3.4.2\n* CUDA >= 10.0\n* CuDNN >= 7.6.0\n\n## 开发日志\n\n* 2020.06.23 本地Git项目建立\n* 2020.07.03 整体模型架构搭建，开始语料收集\n* 2020.07.13 基于OCR的视觉网络训练\n* 2020.08.01 GPT-2中文预训练模型微调\n* 2020.08.14 Bert文本摘要模型\n* 2020.08.23 通顺度判分网络测试\n* 2020.09.14 排版脚本与输出装置改装\n* 2021.02.15 修复网页版模型打分\n* 2021.06.10 训练集中增加了《毛泽东选集》、《陈独秀文集》、《鲁迅文集》等著作\n\n\n## 模型结构\n整个框架分为EAST、CRNN、Bert、GPT-2、DNN 5个模块，每个模块的网络单独训练，参数相互独立。infer过程使用pipeline串联，通过外接装置直接输出到答题卡。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_e0679968f573.png)\n\n\n### 1. 输入\n高考语文试卷作文题\n>![浙江卷](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_90c063325aab.jpg)\n\n\n### 2. 识别网络\n#### 2.1 EAST文本检测\nOpenCV 的EAST文本检测器是一个深度学习模型，它能够在 720p 的图像上以13帧\u002F秒的速度实时检测任意方向的文本，并可以获得很好的文本检测精度。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_5605745c09f0.png)\n\n\u003Cbr>\n\n**模型亮点**\n1. 简单的管道实现在当时较高精度的文本检测。\n2. 图像通过FCN处理产生像素级文本缩放地图和几何图形的多个频道。\n3. 可旋转的文本框，可以检测文本也可以检测单词。\n\nEAST文本检测器需要 OpenCV3.4.2 或更高的版本，有需要的读者可以查看 [OpenCV 安装教程](https:\u002F\u002Fwww.pyimagesearch.com\u002Fopencv-tutorials-resources-guides\u002F)。虽然EAST的模型在检测自然场景下的英文文本有着较好的性能，要实现中文场景下的中文文本检测，仍然需要重新训练模型。\n\n**数据集处理**\n\n中文文本识别的数据集要按照原作者的命名方式修改，即使使用ICDAR3013这类标准数据集，也需要修改对应的图片命名方式。原代码数据集的命名方式：图片1.jpg 图片1.txt。\n\n此外，代码是通过获取文件类型然后重新命名以原来的文件类型保存的，所以文本数据和图片数据需要分开处理。\n\n*训练命令：*\n```bash\npython multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=\u002Ftmp\u002Feast_icdar2015_resnet_v1_50_rbox\u002F \\ --text_scale=512 --training_data_path=\u002Fdata\u002Focr\u002Ficdar2015\u002F --geometry=RBOX --learning_rate=0.0001 --num_readers=24 \\ --pretrained_model_path=\u002Ftmp\u002Fresnet_v1_50.ckpt \n```\n\n\n更多细节可以参考：https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F64737915\n\n\u003Cbr>\n\n*检测结果*\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_b8f328212d13.png)\n\n除了EAST，也可以把识别网络替换为传统的CTPN等模型，github上有已经成熟的项目：https:\u002F\u002Fgithub.com\u002FWalleclipse\u002FChineseAddress_OCR\n\n#### 2.2 CRNN文本识别\n\n参考 https:\u002F\u002Fgithub.com\u002Fooooverflow\u002Fchinese-ocr \n\n**数据准备**\n\n下载[训练集](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1E_1iFERWr9Ro-dmlSVY8pA)：共约364万张图片，按照99: 1划分成训练集和验证集\n\n数据利用中文语料库（新闻 + 文言文），通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成。包含汉字、英文字母、数字和标点共5990个字符，每个样本固定10个字符，字符随机截取自语料库中的句子，图片分辨率统一为280x32。  \n\n*修改\u002Ftrain\u002Fconfig.py中train_data_root，validation_data_root以及image_path*\n\n**训练**\n```bash\ncd train  \npython train.py\n```\n\n**训练结果**\n```python\nEpoch 3\u002F100\n25621\u002F25621 [==============================] - 15856s 619ms\u002Fstep - loss: 0.1035 - acc: 0.9816 - val_loss: 0.1060 - val_acc: 0.9823\nEpoch 4\u002F100\n25621\u002F25621 [==============================] - 15651s 611ms\u002Fstep - loss: 0.0798 - acc: 0.9879 - val_loss: 0.0848 - val_acc: 0.9878\nEpoch 5\u002F100\n25621\u002F25621 [==============================] - 16510s 644ms\u002Fstep - loss: 0.0732 - acc: 0.9889 - val_loss: 0.0815 - val_acc: 0.9881\nEpoch 6\u002F100\n25621\u002F25621 [==============================] - 15621s 610ms\u002Fstep - loss: 0.0691 - acc: 0.9895 - val_loss: 0.0791 - val_acc: 0.9886\nEpoch 7\u002F100\n25621\u002F25621 [==============================] - 15782s 616ms\u002Fstep - loss: 0.0666 - acc: 0.9899 - val_loss: 0.0787 - val_acc: 0.9887\nEpoch 8\u002F100\n25621\u002F25621 [==============================] - 15560s 607ms\u002Fstep - loss: 0.0645 - acc: 0.9903 - val_loss: 0.0771 - val_acc: 0.9888\n```\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_f683f7cdd598.png)\n\n\u003Cbr>\n\n### 2. 语言网络\n#### 2.1 BERT文本摘要\n\n\nBERT的全称是Bidirectional Encoder Representation from Transformers，即双向Transformer的Encoder。模型的主要创新点在pre-train方法上，用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。\n\n模型的构成元素Transformer可以参考Google的 [Attention is all you need](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.03762) ，BERT模型的结构如下图最左：\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_9f20b17e937a.png)\n\n对比OpenAI GPT(Generative pre-trained transformer)，BERT是双向的Transformer block连接；就像单向RNN和双向RNN的区别，直觉上来讲效果会好一些。\n\u003Cbr>\n\n在原论文中，作者展示了新的语言训练模型，称为编码语言模型与下一句预测 \n\n\nOriginal Paper : 3.3.1 Task #1: Masked LM\n>Input Sequence  : The man went to [MASK] store with [MASK] dog\nTarget Sequence :                  the                his\n\n规则: 会有15%的随机输入被改变，这些改变基于以下规则\n\n* 80%的tokens会成为‘掩码’token\n* 10%的tokens会称为‘随机’token\n* 10%的tokens会保持不变但需要被预测\n\n下一句预测\n\n> Input : [CLS] the man went to the store [SEP] he bought a gallon of milk [SEP]\nLabel : Is Next\nInput = [CLS] the man heading to the store [SEP] penguin [MASK] are flight ##less birds [SEP]\nLabel = NotNext\n\n规则:\n* 50%的下一句会（随机）成为连续句子\n* 50%的下一句会（随机）成为不关联句子\n\n\u003Cbr>\n\n**训练**\n\n* 哈工大的新浪微博短文本摘要[LCSTS](http:\u002F\u002Ficrc.hitsz.edu.cn\u002FArticle\u002Fshow\u002F139.html)\n* 教育新闻自动摘要语料[chinese_abstractive_corpus](https:\u002F\u002Fgithub.com\u002Fwonderfulsuccess\u002Fchinese_abstractive_corpus)\n\n```bash\npython run.py --model bert\n```\n\u003Cbr>\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_999399ad6d32.png)\n\n测试时，需要用正则表达式过滤考试专用词，包括“阅读下面的材料，根据要求写作”，“要求：xxx”，“请完成\u002F请结合\u002F请综合xx”。\n\n比如\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_83e900c3c01e.png)\n\n\n    人们用眼睛看他人、看世界，却无法直接看到完整的自己。所以，在人生的旅程中，我们需要寻找各种“镜子”、不断绘制“自画像”来审视自我，尝试回答“我是怎样的人”“我想过怎样的生活”“我能做些什么”“如何生活得更有意义”等重要的问题。\n\n\n\u003Cbr>\n\n#### 2.2 GPT-2文本生成\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_bacbbd41bd22.png)\n\n参考：https:\u002F\u002Fgithub.com\u002Fimcaspar\u002Fgpt2-ml\u002F\n\n预训练语料来自 [THUCNews](http:\u002F\u002Fthuctc.thunlp.org\u002F#%E4%B8%AD%E6%96%87%E6%96%87%E6%9C%AC%E5%88%86%E7%B1%BB%E6%95%B0%E6%8D%AE%E9%9B%86THUCNews) 以及 [nlp_chinese_corpus](https:\u002F\u002Fgithub.com\u002Fbrightmart\u002Fnlp_chinese_corpus)，清洗后总文本量约 15G。\n Finetune语料来自历年满分高考作文、优质散文集以及近现代散文作品，约1000篇。  \n\n**预训练**  \n参考 [GPT2-ML](https:\u002F\u002Fgithub.com\u002Fimcaspar\u002Fgpt2-ml\u002F) 预训练模型，使用 [Quadro RTX 8000](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdesign-visualization\u002Fquadro\u002Frtx-8000\u002F) 训练 28w 步\n\n>![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_e0e7d341e0ad.png)\n\n\n\u003Cbr>\n\n**Finetune**\n\n```bash\n1、进入dataset目录\npython pre_data.py --filepath \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata-mayun_xiugai --outfile \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\u002F22.json\nfilepath为finetune数据目录\n\n2、生成tfrecord训练数据\npython prepare_data.py -input_fn \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\n\n3、finetune\nCUDA_VISIBLE_DEVICES=0  python train\u002Ftrain_wc.py --input_file=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Fdata\u002Ftrain.tfrecord --output_dir=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Ffinetune_model --init_checkpoint=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml\u002Fmodels\u002Fmega\u002Fmodel.ckpt-220000\n\n```\n\n\u003Cbr>\n\n### 3.判分网络\n\n#### 3.1 DNN判分模型\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_073f75551757.png)\n\n这部分直接调用百度API。有现成的模型就不重复造轮子了，具体实现方式百度没有开源，这里简单描述一下语言模型的概念：\n语言模型是通过计算给定词组成的句子的概率，从而判断所组成的句子是否符合客观语言表达习惯。通常用于机器翻译、拼写纠错、语音识别、问答系统、词性标注、句法分析和信息检索等。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_0f6beb465d04.png)\n\n这里使用通顺度打分作为判断依据。  \n\n#### 3.2 高考排版器\n\n*标题*  \n复用BERT_SUM生成Top3的NER粒度token作为标题\n\n*主体*  \n高考议论文的写作格式要求如下：\n1. 标题居中，一般少于20字\n2. 每段段首缩进两格\n3. 每个字符尽量保持在字体框内\n4. 字数不能过长或过短\n\n由于模型输出的文章不保证换行和分段，通过统计高考作文的常见段数、每段句数，编写脚本对输出进行划分。大多数情况下分段排版的结果都比较合理。  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_9acb6dc52d69.png)\n\n\u003Cbr>\n\n## 输出\n**答题卡**  \n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_a26e73f7c9ec.png)\n\n**外接装置**\n\n基于aedraw，一款开源的CNC(Computer Numerical Control数控机床)画图机器人，具有绘制图案、写字等功能，它也可以升级为激光雕刻等用途。\n详细教程见 http:\u002F\u002Faelab.net\u002F ，不仅能自己制作一台写字绘画机器人，而且能够掌握其工作原理拓展更多的应用。  \n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_readme_edd7e9365b8a.png)\n\n原版的输出临摹装置存在速度慢和格式不准的问题，通过改装和修改源代码得以优化\n\n* 因为时间原因目前的手写装置还有些问题，偶尔会有漏写、越格的问题\n* 视频中的作文经过后期的人工处理，补上了漏字\n\n\u003Cbr>\n\n## 预训练模型\n\n| 模型        | 参数量           | 下载链接  | 备注 |\n| ------------- |:-------------:|:----:|:---:|\n| EAST  | \u003C 0.1 Billion  | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1fF4IYaL7CWghYCDvRrACM57WVx83Yvny\u002Fview?usp=sharing) | 检测模型 |\n| CRNN | \u003C 0.1 Billion   | [网盘链接](https:\u002F\u002Feyun.baidu.com\u002Fs\u002F3dEUJJg9) 提取码：vKeD| 识别模型 |\n| BERT | 0.1 Billion   | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F15DbA07DZNT3gMXu2aLliA3CkuR5XHhlt\u002Fview?usp=sharing) | 摘要模型 |\n| GPT-2 | 1.5 Billion   | [GoogleDrive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1ujWYTOvRLGJX0raH-f-lPZa3-RN58ZQx\u002Fview?usp=sharing)  | 生成模型 |\n\n整个AI的参数量分布不均匀，主要原因在于，这是一个语言类AI，99%的参数量集中在语言网络中，其中GPT-2（15亿）占88%，BERT（1.1亿）占7%，其他的识别网络和判分网络共占5%。\n\n### 当前问题\n* 输出的格式和高考作文还不能完美契合，之后的参数需要微调一下。为了国庆前完成，我还没来得及优化\n* 生成的100篇作文里有很大一部分其实算不上合格的作文，有些只能勉强及格，有些甚至能拿零分（占比不多），显然GPT-2的能力有限。为了视频效果我只选了相对好的几篇做展示\n* 英文版的说明还没来得及写，有空的同学可以翻译一下提个pr\n\n## Q&A\n* **我能否用EssayKiller来帮自己写作业？**  \n  不能。所以有下一个问题：  \n  \n* **为什么缺少一些关键文件？**  \n项目在一开始是完全开源的，经过慎重考虑我认为完全开源会被部分别有用心的人用以牟利，甚至用作不法用途。参考咸鱼和淘宝上一些魔改的开源框架应用。部分懂技术又不想动笔的小同志可能会让Essaykiller帮自己写作业，比如读后感、课后作文、思修小论文。我想说，这样不好。  \n\n* **为什么不直接加密？**  \n本来打算用混淆加密，但一些模块本就是开源的，所以我开源了整体的模型文件，只隐藏了关键的，包括pipeline、输入输出在内的文件，另外有些文件里也加了盐。  \n\n* **有哪些模组可用？**  \n目前完全开源，可以独立复用的部分包括：\n  - [x] 检测网络\n  - [x] 文本摘要网络\n  - [x] 文本生成网络\n  - [x] 判分网络与排版脚本  \n\n* **为什么不用GPT-3**  \n训练一个中文GPT-3的价格至少为1200万美元，折合人民币将近1亿。要是真有人训练出来一个中文GPT-3还开源模型文件了，我愿称之为最强。  \n\n* **训练EssayKiller需要多少钱？**  \n从头到尾训练完pipeline的话在1K～100K人民币不等，取决于你有无分布式集群可用  \n\n\u003Cbr>\n\n## Citation\n```\n@misc{EssayKillerBrain,\n  author = {Turing's Cat},\n  title = {Autowritting Ai Framework},\n  year = {2020},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FEssayKillerBrain\u002FwriteGPT}},\n}\n```\n\n\u003Cbr>\n\n## 参考资料  \n[1] BERT：面向语言理解的深度双向Transformer预训练  \n[2] ERNIE：通过知识融合增强表示  \n[3] 针对抽取式摘要任务微调BERT  \n[4] EAST：一种高效准确的场景文本检测器  \n[5] 一种端到端可训练的基于图像的序列识别神经网络及其在场景文本识别中的应用  \n[6] 语言模型是无监督的多任务学习者  \n[7] https:\u002F\u002Fgithub.com\u002FMorizeyao\u002FGPT2-Chinese  \n[8] https:\u002F\u002Fgithub.com\u002Fargman\u002FEAST  \n[9] https:\u002F\u002Fgithub.com\u002Fbgshih\u002Fcrnn  \n[10] https:\u002F\u002Fgithub.com\u002Fzhiyou720\u002Fchinese_summarizer  \n[11] https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F64737915  \n[12] https:\u002F\u002Fgithub.com\u002Fouyanghuiyu\u002Fchineseocr_lite  \n[13] https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fbert  \n[14] https:\u002F\u002Fgithub.com\u002Frowanz\u002Fgrover  \n[15] https:\u002F\u002Fgithub.com\u002Fwind91725\u002Fgpt2-ml-finetune-  \n[16] https:\u002F\u002Fgithub.com\u002Fguodongxiaren\u002FREADME  \n[17] https:\u002F\u002Fwww.jianshu.com\u002Fp\u002F55560d3e0e8a  \n[18] https:\u002F\u002Fgithub.com\u002FYCG09\u002Fchinese_ocr  \n[19] https:\u002F\u002Fgithub.com\u002Fxiaomaxiao\u002Fkeras_ocr  \n[20] https:\u002F\u002Fgithub.com\u002Fnghuyong\u002FERNIE-Pytorch  \n[21] https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F43534801\n[22] https:\u002F\u002Fblog.csdn.net\u002Fxuxunjie147\u002Farticle\u002Fdetails\u002F87178774\u002F  \n[23] https:\u002F\u002Fgithub.com\u002FJiangYanting\u002FPre-modern_Chinese_corpus_dataset  \n[24] https:\u002F\u002Fgithub.com\u002Fbrightmart\u002Fnlp_chinese_corpus  \n[25] https:\u002F\u002Fgithub.com\u002FSophonPlus\u002FChineseNlpCorpus  \n[26] https:\u002F\u002Fgithub.com\u002FTHUNLP-AIPoet\u002FResources  \n[27] https:\u002F\u002Fgithub.com\u002FOYE93\u002FChinese-NLP-Corpus  \n[28] https:\u002F\u002Fgithub.com\u002FCLUEbenchmark\u002FCLUECorpus2020  \n[29] https:\u002F\u002Fgithub.com\u002Fzhiyou720\u002Fchinese_summarizer  \n\n\n## 免责声明\n该项目中的内容仅供技术研究与科普，不作为任何结论性依据，不提供任何商业化应用授权","# WriteGPT 快速上手指南\n\nWriteGPT 是一个基于 OCR、NLP 最新模型构建的通用型议论文创作 AI 框架。本项目主要针对高考作文（议论文）场景，支持从试卷图像识别到文章生成的端到端流程。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Ubuntu 18.04.2 (推荐)\n- **GPU**: 支持 CUDA >= 10.0\n- **驱动**: CuDNN >= 7.6.0\n\n### 前置依赖\n请确保已安装以下 Python 库及版本：\n- Pandas 0.24.2\n- Regex 2019.4.14\n- h5py 2.9.0\n- Numpy 1.16.2\n- Tensorboard 1.15.2\n- **Tensorflow-gpu 1.15.2** (核心依赖)\n- Requests 2.22.0\n- OpenCV 3.4.2 (用于 EAST 文本检测)\n\n> **注意**：本项目基于 TensorFlow 1.x 构建，请勿使用 TF 2.x 环境。\n\n## 安装步骤\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FEssayKillerBrain\u002FwriteGPT.git\ncd writeGPT\n```\n\n### 2. 安装 Python 依赖\n建议使用虚拟环境安装依赖：\n```bash\npip install pandas==0.24.2 regex==2019.4.14 h5py==2.9.0 numpy==1.16.2 tensorboard==1.15.2 tensorflow-gpu==1.15.2 requests==2.22.0 opencv-python==3.4.2\n```\n\n### 3. 下载预训练模型\n项目包含 EAST(检测)、CRNN(识别)、BERT(摘要)、GPT-2(生成) 四个核心模块。请根据 `预训练模型` 表格下载对应权重文件：\n\n| 模型 | 用途 | 下载来源建议 |\n| :--- | :--- | :--- |\n| EAST | 文本检测 | GoogleDrive \u002F 自行寻找国内镜像 |\n| CRNN | 文本识别 | 百度网盘 (提取码：vKeD) |\n| BERT | 文本摘要 | GoogleDrive |\n| GPT-2 | 文章生成 | GoogleDrive |\n\n将下载的模型文件放置于项目指定的 `checkpoint` 或 `models` 目录中（具体路径参考各模块训练脚本中的默认配置）。\n\n## 基本使用\n\n本项目提供两种主要使用方式：本地全流程部署（需高性能 GPU）和 Colab 在线文本生成（推荐快速体验）。\n\n### 方式一：Colab 在线文本生成（推荐）\n由于国内免费 GPU 资源有限，官方提供了迁移至 Google Colab 的轻量级使用方案，仅包含语言网络（写作模块）。\n\n1. **打开 Notebook**\n   访问：[17 亿参数作文杀手 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FEssayKillerBrain\u002FwriteGPT\u002Fblob\u002Fmaster\u002Fcolab_online.ipynb)\n\n2. **安装环境**\n   在第一个代码单元格运行：\n   ```python\n   # 安装必要依赖\n   !pip install ... (参考 Notebook 内具体指令)\n   ```\n\n3. **加载模型**\n   运行加载预训练权重的代码块，系统将自动挂载 Google Drive 并读取 GPT-2 微调模型。\n\n4. **生成文章**\n   输入作文题目或关键句，执行生成命令。同一输入可多次运行以获取不同结果。\n   ```python\n   # 示例逻辑（具体见 Notebook）\n   generate_essay(prompt=\"人们用眼睛看他人、看世界，却无法直接看到完整的自己...\")\n   ```\n\n### 方式二：本地端到端流程（高级用户）\n若需在本地完成从“试卷图片”到“答题卡输出”的全流程，需依次调用以下模块：\n\n#### 1. 文本检测 (EAST)\n对试卷图片进行文本区域检测：\n```bash\npython multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=\u002Ftmp\u002Feast_icdar2015_resnet_v1_50_rbox\u002F --text_scale=512 --training_data_path=\u002Fdata\u002Focr\u002Ficdar2015\u002F --geometry=RBOX --learning_rate=0.0001 --num_readers=24 --pretrained_model_path=\u002Ftmp\u002Fresnet_v1_50.ckpt\n```\n*注：实际推理请使用对应的 inference 脚本加载上述训练好的 checkpoint。*\n\n#### 2. 文本识别 (CRNN)\n进入识别目录并运行：\n```bash\ncd train\npython train.py\n```\n*注：需先修改 `\u002Ftrain\u002Fconfig.py` 中的 `train_data_root` 等路径配置。*\n\n#### 3. 文本摘要与清洗 (BERT)\n提取作文题目核心信息，并过滤考试专用词（如“阅读下面的材料”）：\n```bash\npython run.py --model bert\n```\n\n#### 4. 文章生成 (GPT-2 Finetune)\n使用微调后的 GPT-2 模型生成正文：\n```bash\n# 1. 数据预处理\npython pre_data.py --filepath \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata-mayun_xiugai --outfile \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\u002F22.json\n\n# 2. 生成 TFRecord\npython prepare_data.py -input_fn \u002Fdata\u002Fhome\u002Fshare1\u002Fgpt2-ml-Finetune\u002Fdata\n\n# 3. 执行微调或推理\nCUDA_VISIBLE_DEVICES=0 python train\u002Ftrain_wc.py --input_file=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Fdata\u002Ftrain.tfrecord --output_dir=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml-Finetune\u002Ffinetune_model --init_checkpoint=\u002Fdata\u002FEssayKiller\u002Fgpt2-ml\u002Fmodels\u002Fmega\u002Fmodel.ckpt-220000\n```\n\n#### 5. 排版与输出\n生成的文本将通过内置脚本进行分段、缩进处理，并可配合外接装置（如 aedraw 绘图机器人）输出至物理答题卡。","某高中语文教研组在备考期间，利用 WriteGPT 辅助教师快速生成大量符合高考评分标准的议论文范文，以丰富教学素材库。\n\n### 没有 WriteGPT 时\n- 教师需手动撰写或从网络搜集范文，耗时费力且难以保证每篇都紧扣当年热点考题。\n- 传统素材库更新滞后，缺乏针对最新社会现象（如科技伦理、文化自信）的定制化论述内容。\n- 人工批改模拟作文时，缺乏统一的高分标准参照，导致评分主观性强，学生难以获得精准反馈。\n- 想要获取同一题目的多种立意角度极为困难，限制了学生发散性思维的训练广度。\n\n### 使用 WriteGPT 后\n- 输入作文题目后，WriteGPT 能基于 17 亿参数模型瞬间生成多篇逻辑严密、立意准确的高考级议论文。\n- 模型融合了《鲁迅文集》等经典语料与最新时事数据，生成的文章既有深度又能紧跟时代脉搏。\n- 教师可利用其端到端生成能力，快速产出不同分数段的样卷，为评分提供客观、量化的对标基准。\n- 支持对同一题目多次生成不同风格的文章，轻松构建涵盖多种论证视角的多元化教学资源包。\n\nWriteGPT 将教师从重复性的范文编写中解放出来，使其能更专注于个性化指导与教学策略优化。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTuring-Project_WriteGPT_21620ebb.png","Turing-Project","Turing Project","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTuring-Project_cd7c73a5.png","AI for everyone",null,"deanyuton@gmail.com","Rylynn","https:\u002F\u002Fgithub.com\u002FTuring-Project",[82,86,90,94,97,100,104,108],{"name":83,"color":84,"percentage":85},"Python","#3572A5",63.1,{"name":87,"color":88,"percentage":89},"C","#555555",35.1,{"name":91,"color":92,"percentage":93},"Java","#b07219",0.4,{"name":95,"color":96,"percentage":93},"Jupyter Notebook","#DA5B0B",{"name":98,"color":99,"percentage":93},"C++","#f34b7d",{"name":101,"color":102,"percentage":103},"Shell","#89e051",0.3,{"name":105,"color":106,"percentage":107},"Prolog","#74283c",0.2,{"name":109,"color":110,"percentage":111},"Dockerfile","#384d54",0.1,5308,892,"2026-04-10T12:04:28","MIT",4,"Linux","必需，需支持 CUDA >= 10.0 的 NVIDIA GPU（文中提及训练使用 Quadro RTX 8000），CuDNN >= 7.6.0","未说明",{"notes":121,"python":122,"dependencies":123},"该项目基于较旧的 TensorFlow 1.15.2 框架。本地环境明确指定为 Ubuntu 18.04.2。项目包含 OCR（EAST, CRNN）和 NLP（BERT, GPT-2）多个模块，部分关键流程文件（如 pipeline）未完全开源。线上演示推荐使用 Google Colab。","未说明 (根据依赖库版本推测约为 3.6-3.7)",[124,125,126,127,128,129,130,131],"tensorflow-gpu==1.15.2","opencv-python==3.4.2","pandas==0.24.2","numpy==1.16.2","h5py==2.9.0","tensorboard==1.15.2","regex==2019.4.14","requests==2.22.0",[35,15],"2026-03-27T02:49:30.150509","2026-04-11T03:22:14.511546",[136,141,146,150,155,160],{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},28719,"在 Colab 中运行模型时，最后一步报错 'OutOfRangeError: Read less bytes than requested' 或模型加载失败怎么办？","这通常是因为模型文件下载不完整或使用了错误的下载链接。解决方法是手动执行正确的下载命令来替换损坏的文件。请运行以下命令：\n!python3 \u002Fhome\u002FEssayKiller\u002FAutoWritter\u002Fscripts\u002Fdown_gdrive_file.py -file_id='1ujWYTOvRLGJX0raH-f-lPZa3-RN58ZQx' -file_path='models\u002Fmega\u002Fmodel.ckpt-280000.data-00000-of-00001'\n确保文件路径和 file_id 与上述一致，下载完成后重新运行模型即可。","https:\u002F\u002Fgithub.com\u002FTuring-Project\u002FWriteGPT\u002Fissues\u002F2",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},28720,"Colab 网页版卡在第二部分 perl 指令处，一直重复 resolving 和 connecting 且下载速度极快但文件大小不对，如何解决？","这是典型的模型文件下载失败现象（通常下载了一个 HTML 错误页面而不是真正的模型文件）。日志显示 'Length: unspecified [text\u002Fhtml]' 且文件大小仅为 2241 字节，说明下载的是 Google Drive 的警告页面而非模型数据。\n解决方案：\n1. 检查网络连接或尝试更换网络环境（如使用代理）。\n2. 不要依赖自动下载脚本，手动使用 Issue #2 中提供的正确 Python 下载命令获取模型文件。\n3. 确认下载后的文件大小是否正常（模型文件通常为几百 MB 或更大），如果只有几 KB 则说明下载失败。","https:\u002F\u002Fgithub.com\u002FTuring-Project\u002FWriteGPT\u002Fissues\u002F35",{"id":147,"question_zh":148,"answer_zh":149,"source_url":145},28721,"模型生成的文章内容奇怪、逻辑不通或包含无关内容（如“沪北薯条哲学”等）是怎么回事？","这种情况通常是因为模型未能正确加载预训练权重，导致使用的是随机初始化的参数而非训练好的模型。当看到生成内容完全无逻辑、拼凑词汇或出现奇怪短语时，请首先检查模型加载步骤是否有报错（参考 OutOfRangeError 问题）。\n解决步骤：\n1. 确认模型文件（.ckpt 文件）已完整下载且大小正确。\n2. 重新运行模型加载脚本，确保没有 'Read less bytes' 等错误。\n3. 如果之前下载失败，请务必使用正确的 file_id 重新下载模型文件。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},28722,"运行过程中出现大量 TensorFlow 弃用警告（deprecated warnings），会影响模型运行吗？","这些警告（如 'dense is deprecated', 'Layer.apply is deprecated' 等）是由于项目使用的 TensorFlow 版本较旧，而当前环境安装了较新版本的 TensorFlow 导致的兼容性提示。通常情况下，这些警告不会影响模型的实际运行和结果生成，可以忽略。\n如果希望消除警告，可以尝试：\n1. 按照提示将代码中的 `tf.layers.dense` 改为 `keras.layers.Dense`（需修改源码）。\n2. 或者创建一个匹配项目要求的旧版 TensorFlow 环境（如 TensorFlow 1.x 或特定 2.x 版本）。\n但在大多数情况下，直接忽略这些警告继续运行即可。","https:\u002F\u002Fgithub.com\u002FTuring-Project\u002FWriteGPT\u002Fissues\u002F1",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},28723,"多人反馈 Colab 下载模型文件 'model.ckpt-280000.data-00000-of-00001' 失败，有没有统一的解决办法？","这是一个普遍存在的问题，主要原因是 Google Drive 的直接下载链接在某些网络环境下不稳定或被拦截，导致脚本下载了错误的文件。\n统一解决方案：\n不要使用默认的 wget 或 curl 命令下载，而是使用项目自带的 Python 下载脚本，并指定正确的 file_id。\n执行命令：\n!python3 \u002Fhome\u002FEssayKiller\u002FAutoWritter\u002Fscripts\u002Fdown_gdrive_file.py -file_id='1ujWYTOvRLGJX0raH-f-lPZa3-RN58ZQx' -file_path='models\u002Fmega\u002Fmodel.ckpt-280000.data-00000-of-00001'\n该脚本能更好地处理 Google Drive 的下载验证机制。如果仍然失败，建议检查网络代理设置。","https:\u002F\u002Fgithub.com\u002FTuring-Project\u002FWriteGPT\u002Fissues\u002F4",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},28724,"模型加载报错修复后，为什么再次运行仍然出现克隆仓库或下载文件的错误？","这可能是因为之前的运行环境残留了不完整的文件或配置。即使官方宣布修复了 BUG，如果本地缓存了错误的模型文件或仓库状态，问题仍会复现。\n建议操作：\n1. 在 Colab 中重启运行时（Runtime -> Restart runtime）以清除所有缓存。\n2. 重新克隆仓库，确保获取最新代码：\n   !git clone [仓库地址]\n3. 严格按照修正后的步骤重新下载模型文件，不要跳过任何一步。\n4. 如果目录已存在（'already exists and is not an empty directory'），请先手动删除旧目录再重新克隆。","https:\u002F\u002Fgithub.com\u002FTuring-Project\u002FWriteGPT\u002Fissues\u002F7",[166],{"id":167,"version":168,"summary_zh":169,"released_at":170},197634,"2.0","基于GPT-2的高考作文生成式AI","2020-09-30T16:09:35"]