我chatgpt给熊孩子生成英语试卷

1,441 阅读4分钟

前言

前几天家里的小表弟把我的电脑弄坏了,害的我现在只能重装系统。

刚好他妈妈说让我辅导他英语,那我不得好好照顾他。

马上啊!我很快就用chatgpt给他生成了一篇阅读理解。谁知道他做完了,又来搞我电脑。

不行了,我得批量自动化生成才行。

本文分为两个部分:

  1. 开发流程:

    首先说明了如何学习开发chrome扩展,说明如何接入Chatgpt的方式。然后介绍了文章生成,和任务处理功能,给出了如何实现任务队列的文章。最后说明如何生成出docx文件。

  2. 用户安装与反馈:

    给出了源码和安装教程,然后说了一下用户的反馈。

开发流程

开发技能构建

使用何种应用形式?

目前chatgpt的调用有如下几种形式:

  1. 使用无头浏览器,然后加js注入来实现。
  2. 架设api服务器来做转发
  3. 利用chrome扩展来实现

由于我这个是简单项目,我就用chrome扩展来实现了。

如何构建项目?

脚手架

我直接使用了一个vue3+ts+vite的模板:

项目地址

按照步骤来就构建起来了。

UI库

主要是我自己在用,就选个简单点的库:

vant4

谷歌扩展开发学习?

  1. 首先把 chrome extension 101看了,这里是地址
  2. 手上备好文档:文档

产品设计与实现

文章生成

学英语首要还是记忆单词,我觉得还是根据特定单词生成一篇短文,而且能设定字数。

界面如下:

1676257906651.png

特地加了随机生成关键词功能,防止我词汇量不够。

文体和领域

为了增加孩子的见识,特定准备了不同类型和领域的选型,来生成文章:

const types = [
    { text: "小说", value: "Novel" },
    { text: "短篇小说", value: "Short story" },
    { text: "诗歌", value: "Poetry" },
    { text: "戏剧", value: "Drama" },
    { text: "散文", value: "Essay" },
    { text: "传记", value: "Biography" },
    { text: "自传", value: "Autobiography" },
    { text: "回忆录", value: "Memoir" },
    { text: "讽刺作品", value: "Satire" },
    { text: "寓言", value: "Fable" },
    { text: "寓言故事", value: "Allegory" },
    { text: "神话", value: "Myth" },
    { text: "传说", value: "Legend" },
    { text: "童话故事", value: "Fairy tale" },
    { text: "科幻小说", value: "Science fiction" },
    { text: "奇幻小说", value: "Fantasy" },
    { text: "浪漫小说", value: "Romance" },
    { text: "恐怖小说", value: "Horror" },
    { text: "惊悚小说", value: "Thriller" },
    { text: "推理小说", value: "Mystery" }
]

const domains = [
    { text: "科学", value: "Science" },
    { text: "技术", value: "Technology" },
    { text: "工程", value: "Engineering" },
    { text: "数学", value: "Mathematics" },
    { text: "医学", value: "Medicine" },
    { text: "法律", value: "Law" },
    { text: "商业", value: "Business" },
    { text: "新闻", value: "Journalism" },
    { text: "创意写作", value: "Creative writing" },
    { text: "学术写作", value: "Academic writing" },
    { text: "社会科学", value: "Social sciences" },
    { text: "艺术与人文学科", value: "Arts and humanities" },
    { text: "教育", value: "Education" },
    { text: "体育", value: "Sports" },
    { text: "旅游", value: "Travel" },
    { text: "美食与饮品", value: "Food and drink" },
    { text: "时尚与美容", value: "Fashion and beauty" },
    { text: "娱乐", value: "Entertainment" },
    { text: "政治", value: "Politics" },
    { text: "宗教与灵性", value: "Religion and spirituality" }
]

界面设计如下:

image.png

添加题型

只是看没有用,为了学习效果(哈哈哈),生成翻译,完形填空,单词解释,阅读理解都得安排上。

界面设计如下

image.png

自动化

构建自动化队列

老是自己一个一个构建不好弄,搞了个队列,一下子添加100个任务,然后睡觉去。明天表弟就知道我不好惹。

由于openai限流,我构建任务队列,重试,可取消任务,保证任务一定完成。

如何在浏览器中实现,任务队列,重试,定时,取消,可以看我下面的文章:

如何设计Nodejs的可取消任务

如何设计Nodejs的重试任务

如何设计Nodejs的定时任务

浏览器和Nodejs通用。

界面设计

79278d84e66ca98ed5db6fad50354be.png

生成的结果,有点不好但是数量多呀。

生成结果

使用如下npm库导出docx文件:地址如下

de35ce56404bb4ae150a1d6e5474fcb.png de76dcd50ed1eb68542018fbe56ae4c.png

安装与用户使用体验

项目地址

说了这么多,给代码大家看是如何实现的。我就贴出地址了哈哈哈,大家给星星吧,谢谢了。项目地址

安装教程

如果有大佬想试用,可以下载安装包,下面流程安装:安装包地址

d4f8b941953641a9f3b8402b5bc2eac.png 9e0a4d4bd9c074f5be4252ddc0e7e22.png

用户反馈

表弟说谢谢我,他说很后悔,让我插件分享给大家!!哈哈哈

下载.png

总结

本文首先说明了如何学习开发chrome扩展,说明如何接入Chatgpt的方式。

然后介绍了文章生成,和任务处理功能,给出了如何实现任务队列的文章。最后说明如何生成出docx文件。

最后给出了源码和成品,供各位读者使用。

各位读者要是觉得我的文章对你有一点点帮助的话,麻烦点赞收藏,写作不易,你的支持就是我更新的动力。谢谢!!