亲测可部署。这是一个在线体验的网站,功能可以将一段聊天记录做简化。
它的代码也已经开源,所以可以一探究竟。
这个项目使用了 OpenAI GPT-3 API (specifically, text-davinci-003) 和 Vercel Edge functions 来做数据的流式传输。
首先,你需要先到 OpenAI 官网上申请一个 key,截止到4月1日前是有免费额度的。其次,你需要根据你的需求定制 prompt,对于上面聊天记录简化而言,它的 prompt 是这么写的:
{ ..., "paragraphForm": "段落", "paragraphFormPrompt": "请总结<|start|>与<|end|>之间的聊天内容。要求简明扼要,以一段话的形式输出。\n\n<|start|>", "outlineForm": "大纲", "outlineFormPrompt": "请总结<|start|>与<|end|>之间的聊天内容。要求简明扼要,以包含列表的大纲形式输出。\n\n<|start|>", ... }
来源 source code
最后,npm run 一下,就可以部署在本地或者线上了。
小复盘
灵感来源是看到有人发布了一个周报生成器的项目(这个项目目前已下线),其来源就是上面的 chat-simplifier,而其项目的来源是,B 站上一个用 Notion AI 自动整理聊天记录的项目。
而这个项目又是促使我写下这个博客中关于 ChatGPT 系列文章的灵感来源。
本地使用 npm 来部署还是有一些技术门槛的,而其背后用到的是调用 gpt3 提供的稳定接口(需要按照用量付费),这个过程本身并不是特别复杂。
正文中并未提及的重要思路是,整个流程是如何设计出来的。一般流程是,通过在 playground 上测试出某种有效的数据处理流程,然后再将其迁移到稳定但性能稍差(也更省钱)的 GPT-3 接口上。
如果后续有机会,会在其他实践篇内容中,把这个思路也能呈现出来。