本周也在继续学习 AI based 应用研发,继续总结+做笔记。
ChatGPT API 的改进
新 API 除支持 ChatGPT 模型以外,还增加了一些功能参数,能让我们提升工具效率,同时降低费用消耗。
新增 messages
参数,显示定义角色
ChatGPT API 增加了 messages
参数,支持显示定义角色,可以取代之前的 prompt
,更清晰的标记每一个内容的来源,方便 API 生成更有价值的内容输出。OpenAI 称之为“Chat Markup Language(ChatML)”,格式如下:
type MessageItem = {
role: 'user' | 'system' | 'assistant';
content: string;
};
type Messages = MessageItem[];
具体文档参见:Chat completion – OpenAI API。
以前我们必须手动保留全部来往信息,放在 prompt
里。这样有几个问题:
- 往来数据量很大,很多时候要浪费钱在传输前面产生的内容上
- 除了 ChatGPT 以外,其它工具无法分析数据结构
- 我估计,OpenAI 那边的计算效率也不高
n
参数,支持一次性返回多个结果
以前虽然名为 choices
,但每次只返回一个结果,如果要调整,就要多次发送 prompt
,还要带上之前的结果,很浪费。
现在,如果是文字润色、内容仿写等场景,就可以从多个结果中选择最好的一个,再进行微调,无疑会大大提升效率,也会降低消费。
突破 token 限制
使用 OpenAI 自己的 embedding API,将自己的数据(比如聊天记录中的数据)导入,生成更符合自己需要的模型。新的模型被之前的数据重塑过,就会看起来更符合新的要求。
原文在此:这确实是一个相当好的绕过tokens长度限制解决方案,我尝试将这个方案整理一下
仓库在此:mckaywrigley/paul-graham-gpt: AI search & chat for all of Paul Graham’s essays. (github.com)
值得关注的项目
LlamaIndex(gpt-index)
Welcome to LlamaIndex (GPT Index)! — LlamaIndex documentation (gpt-index.readthedocs.io)
正在更名为 LlamaIndex(羊驼),可以将自己的数据和 LLM 结合,得到更适合自己的模型。基本上就是上面 “突破 token 限制” 逻辑的实现。比如,我们可以把一本书通过 LlamaIndex 喂给 ChatGPT, 得到的模型里就有了我们最近喂进去的知识,然后我们可以再用自然语言向 ChatGPT 提问,就会得到包含了新知识的答案。
感觉一扇新的大门正在打开。几乎所有说明书、客服,甚至一些高阶职位都可以(可能)被这个方案替代。据说实测结果,它对新知识的理解归纳总结能力都很强。
ChatPDF
不知道跟上面一个项目是什么关系,感觉实现的功能很像。上传一个 PDF,然后使用自然语言的方式让 ChatGPT 帮你提炼内容。我试了一下,感觉很神奇,虽然我觉得不能替代完整读完一本书的价值,但帮我们快速归纳查找内容应该作用很大。
然则,我试用之后发现,它还是做不到“不知道就说不知道”,于是,如果我们的问题超出了书本和它原本模型的边界,它就又开始瞎编了。这仍然是很大的问题。因为用户可能默认它包含了书的全部内容,用户自己却不十分确定书的内容,于是很可能把错误的知识归纳当成正确的吸收。
bilingual_book_maker
yihong0618/bilingual_book_maker: Make bilingual epub books Using AI translate (github.com)
基于 ChatGPT/OpenAI 的全书翻译工具,可以把完整的一本书交给它,它会帮你拆开,一节一节的翻译,然后生成一本新的返回给你。
酷表
上传 excel,然后用自然语言描述你的需求,它会帮你自动调整表结构、编写函数,等。直到你满意,就可以下载表格,继续编辑。
目前来看有些文件会上传失败,可能还不太稳定,可以持续观望。
部署 Stable Diffusion 到 AutoDL.com
经 Easy 推荐,我在 AutoDL.com 购买了一台 3090 服务器,给几个朋友部署 Stable Diffusion 环境。AutoDL 的价格比较便宜,支持按小时租用,还有做好的镜像,使用起来比较方便。大概过程如下:
- 抢一台服务器。因为显卡数量有限,价格比较便宜,所以必须过抢。
- 服务器就位后,登录 JupyterLab,按照提示运行
- 使用“自定义服务”获取对外的 IP 和端口
- 因为系统盘容量有限,可以把模型放在数据盘上,然后软链过去使用
- 实测 3090 出图速度很快
复制周姐成功,接下来该学习 Lora 炼丹了。
Hackathon
近期跟 AI 有关的 Hackathon 也很多,我报名了好几个,已经有点忙不过来了……
推荐给大家:
- SegmentFault AIGC Hackathon 2023 黑客马拉松
- 即刻(App 里搜索“AIHackathon”)
- 腾讯 Light(报名已经截止)
现在各种 AI 的新知识简直太多了,看着各种新闻,一方面精神振奋,另一方面又觉得有点慌,感觉不自觉就会地落在别人后面……
另外,原则上来说,ChatGPT 是 OpenAI 的作品之一,很多功能可能要借助 OpenAI API 实现。不过实际讲述时,我就懒得区分了,相信读者应该能看明白。
欢迎吐槽,共同进步