掌握ChatGPT,一键PPT变神器?技术从业者如何高效利用它
文章主题:ChatGPT, 技术从业者, 用户视角
之前方案
🌟🔥掌握未来生产力神器!🚀🔍ChatGPT教你轻松做PPT🔥💡🔥不必担心技术难题,ChatGPT让每个人都成为设计达人!💻📈只需几步,从零开始,快速生成专业级PPT模板,一键上手,省时又高效!📊💼无论是商务报告还是创意展示,它都能为你量身定制,让你的PPT瞬间脱颖而出!🔍教程不再复杂,简单易学,即使是新手也能迅速掌握。跟着ChatGPT的步伐,告别繁琐步骤,拥抱创新工作方式!👩💻👨💻👉想要提升工作效率?赶快拥抱ChatGPT吧!它已经准备好,只需轻轻一点,开启你的创意无限可能!🚀🎉#ChatGPT#PPT制作#技术小白教程
简述就是:
与ChatGPT对话生成带有Markdown源码大纲的回复从回复中获取源码粘贴到在线工具网站下载PPT或PDF
无需多步的方案
其实上面的方案我也强调说到,那是给非技术人员用的方案,逻辑很简单,就是比较麻烦。
🌟技术大拿揭秘!🚀ChatGPT背后的力量,你get了吗?💡在数字化浪潮中,第3步和第4步的自动化操作就像轻轻一挥魔法棒,瞬间让工作高效运转。💻熟练的技术专家们早已掌握了这门技能,通过GPT家族中的明星成员——GPT-3.5 Turbo,他们实现了ChatGPT的强大对话功能。🔍无需过多繁复,只需理解其核心逻辑,你就能感受到技术带来的便捷与创新。🎯ChatGPT不仅简化了沟通流程,更是推动知识共享的加速器。🌍对于那些渴望提升工作效率,拥抱科技变革的人来说,掌握这些自动化技巧和先进AI工具,就像掌握了开启未来大门的钥匙。🔑想要更深入地探索这个领域?别忘了关注我们,这里将持续为你提供最新、最实用的技术资讯!💡👇
简述就是:
用户输入自己的PPT要求等待(黑盒加工)下载PPT或PDF
🌟耐心等待,就像操作电脑一样简单! 输入你的需求,然后享受无缝的输出体验。无需复杂的Markdown技巧,一切都自然而然发生。时间不是障碍,而是你与成果之间的桥梁。在这个过程中,没有多余的步骤或联系方式,只有简洁和高效。🌍
实际使用就是这样(我们的Demo):
具体技术实现
不关心具体实现的可以溜啦。
这里的表述将脱离实际的应用场景,以抽象描述为主,辅以关键代码说明:
通过表单也好,通过解析也罢,获取到用户的用户名与主题将数据通过GPT转一下,让它按照我们想要的解析格式输出将输出的Markdown核心内容转给生成器生成器自动运行,并将结果上传到远程文件上最终返回给用户一个可用的下载链接
下面逐步解析:
第一、假设让用户按照“ppt+换行+用户名+空格+主题”方式输入
那么就可以这样解析
let [author, name] = ask.replace(/^ppt\n+/i, ).trim().split()
第二、通过类似的模板让GPT给你生成PPT相关的Markdown输出
我的名字叫做${author},帮我制作一篇内容为《${name}》PPT,要求如下:
第一、一定要使用中文。
第二、页面形式有3种,封面、目录、列表。
第三、目录页要列出内容大纲。
第四、根据内容大纲,生成对应的PPT列表页,每一页PPT列表页使用=====列表=====开头。
第五、封面页格式如下:
=====封面=====
# 主标题
## 副标题
演讲人:我的名字
第六、目录页格式如下:
=====目录=====
# 目录
## CONTENT
1. 内容
2. 内容
第七、多个要点时要分多个列表,列表页格式如下:
=====列表=====
# 页面主标题
1. 要点1
要点描述内容
=====列表=====# 页面主标题2. 要点2
要点描述内容
第八、列表页里的要点描述内容是对要点的详细描述,10个字以上,50个字以内。
这里注意,这段话是不可靠的(从知乎抄的,如有侵权请联系删除),但是可以在Demo上用。
🎉📊提取数据大作战!首先,别忘了精简不必要的元素哦!👀留意那些只出现在Markdown格式中的特殊符号,如`====`,它们可能是某些工具的标签,但我们的全能生成器可不吃这一套。🌟用它们替代的是我们专属的占位符,简洁且高效。记得清理这些多余的小尾巴,让内容更清爽,利于SEO优化!💪
可以通过这样的代码删掉
let result = answer.replace(/=+封面=+\n/, ).replace(/=+.+=+/g, \n—\n)
第三、将输出内容交给转换器
这里牵扯到两个问题,选型与并发。
🌟当我们规划选择时,首要目标是确保灵活性,让Markdown原汁原味地呈现。因此,我们不倾向于束缚GPT的创作能力,而是青睐Slidev这款开源工具,它能包容 Markdown的所有可能,解放生成内容的限制。🌈
而并发,我们用了一台现成的服务器跑,简单测试就目前来说足够用,这个得结合实际情况,不要盲目参考。
这一步没什么好说的,由于我们是另外一台机子,所以走了HTTP,把消息发了过去。
第四、生成器自动运行,并将结果上传到远程文件上
🌟掌握这些基础操作系统技能是关键步骤, 文件操作如📚文件读取与写入,甚至是 删除敏感信息(pdf密码解)都不是难题,而熟练运用Shell脚本自动化任务,则能事半功倍。🚀别让技术障碍阻挡你前行的步伐,轻松应对,解锁更多可能!记得,不断学习,提升自我是关键哦!😊
不过相信小伙伴们都不会被难住,所以我们只提一下用了什么:fs模块与child_process模块,一个负责文件处理,一个负责运行下Shell脚本。
let text = req.body.text
try {
let time = Date.now()
let mdname = time + .md
// 主题处理, 随机选一个
let theme = [shibainu, seriph, bricks][Math.floor(Math.random() * 3)]
text = `—\ntheme: ${theme}\n—\n\n` + text.replace(/\n/g, \n\n)
// console.log(ppt文字)
// console.log(text)
console.log(ppt主题: + theme)
fs.writeFileSync(./ + mdname, text, utf-8)
// 安装依赖
await new Promise(s => {
exec(npx playwright install, (err: any, stdout: any, stderr: any) => {
if (err) {
console.error(err)
return res.status(500).send(安装playwright失败: + err)
} else if (stderr) {
// console.error(stderr)
}
// console.log(stdout)
s(stdout)
})
})
// 运行脚本
await new Promise(s => {
exec(slidev export + mdname, (err: any, stdout: any, stderr: any) => {
if (err) {
console.error(err)
return res.status(500).send(生成ppt失败: + err)
} else if (stderr) {
// console.error(stderr)
}
// console.log(stdout)
console.log(生成ppt成功)
s(stdout)
})
})
let pdfname = time + -export.pdf
let base64 = fs.readFileSync(pdfname, { encoding: base64 })
console.log(base64.length)
// 文件base64内容给客户端
res.json(rule.success({ base64, type: pdf }))
// 处理完删除原文件
fs.rmSync(mdname)
fs.rmSync(pdfname)
} catch (error: any) {
res.status(500).send(主生成ppt失败: + (error.message || error))
}
核心代码就是这些
这里因为是处理机定位,所以不涉及业务的处理,故单纯返回base64,虽说增大了流量,但是将业务简单化了。
这里有一点一定一定要注意,
一定要自己在Shell上先跑一遍完整的导出流程,因为有太多依赖需要安装,不跑的话,上面代码一定没法用。
客户端(也是后端),进行base64的反序列化根据后缀生成文件,然后上传至文件管理器即可。
第五、返回URL给用户
类似上面公众号,就是走微信的临时素材方案,没啥可说的。
结束
这个流程其实非常简单,理一下就很清晰了,当时这个Demo也就花了两小时的样子,主要还都是卡在了配置上,而不是代码实现上。
不过上面仅仅是一个Demo,有小伙伴真的需要的话,可以自己实现一个基于自己复杂业务的PPT-GPT生成器。
你觉着这种建议PPT是否有市场价值,欢迎评论区讨论。
AI时代,掌握AI大模型第一手资讯!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
扫码右边公众号,驾驭AI生产力!