logo科技微讯

人们围绕 OpenAI GPT 开发的有趣项目

作者:科技微讯
日期:2023-03-18
📝 笔记

2023-03-24 补充:最近涌现了一堆使用 OpenAI API 的工具或项目,变化太快,以下部分内容可能很快就会过时,更多请参考AI 项目汇总收集

cursor.so 一个基于 GPT-4 的代码编辑器,让 AI 协助你写代码,这还是一款早期产品,目前免费,内置了聊天模式,聊天模式本意是用来聊代码,但其实可以聊任何话题,相当于免费使用 GPT-4。

Github 推出的 Github Copilot Labs 类似 cursor,不同于 Github Copilot 只是提供 Code Suggestions,Github Copilot Labs 目前可以向你解释一段代码是做什么的,可以把代码翻译为其他语言,可以用自然语言告诉它根据你的需求写代码,可以为代码写测试等。

bloop.ai 也是一款利用 GPT-4 帮助开发者写代码的软件,但它的定位不是代码编辑器,更多的是一款代码阅读器,看源码的好帮手,它支持使用自然语言搜索代码。Understand your codebase with GPT-4 and Semantic Code Search。

N46Whisper:利用 OpenAI 的 Whisper 模型把视频中的语音转换为文字,然后利用 OpenAI 的 GPT 模型把文字翻译为其他语言,例如中文,这个项目对提高字幕组的效率很有帮助。Whisper 其实也有翻译功能,但目前仅支持转换为英文。Whisper 模型对算力要求较高,大多数家用电脑不达标,可以把视频上传到谷歌网盘,代码运行在谷歌 Colab,Colab 的免费额度就能提供足够的运算能力。

generate-subtitles 是另一个类似的项目,利用 Whisper 把视频或音频中的对话提取为文字,但接着它用 LibreTranslate 而不是 GPT 翻译提取的文字。

Stable DiffusionDALL-EMidjourney 是目前知名的利用 AI 生成图片的工具,用户输入一段文字,描述你希望得到一张什么图片,它就会按照你的要求凭空产生一张图片,画质往往很好,其中 DALL-E 是 OpenAI 旗下产品。

OpenAI Cookbook:The OpenAI Cookbook shares example code for accomplishing common tasks with the OpenAI API. 这里收集了一些使用 OpenAI 的 API 的例子,可以理解为做题集,不仅仅是 GPT 的题集,还有 OpenAI 的其他模型,例如 Embeddings、DALL-E。

MyShell:一个 telegram 英文语音聊天机器人,体验很不错,会巧妙地和你展开话题,冷场的完全反义词,不仅可以练英文,还可以学习沟通技巧,但是它不是基于 GPT 写的,用的是免费的 Bing Chat,嗯,这貌似是逆向 New Bing 基于 GPT 的聊天接口。MyShell 的机器人之所以这么擅长聊天,Prompt 是关键。

ChatGPT 出来后,Prompt Engineering 变成了一项学问,网上出现了很多相关文章和分享,例如 Learn PromptingLearning PromptChatGPT3-Free-Prompt-ListJailbreak ChatneatpromptsAwesome ChatGPT Prompts,这些都是 Prompt 的好例子、学习资料、使用技巧分享。

有人基于 Awesome ChatGPT Prompts 做了一个 ChatGPT Prompt Generator,作者把 Awesome ChatGPT Prompts 分享的 Act as xxx 类的 Prompt 放入 BART 模型进行训练,在这个模型的加持下,生成器就会根据你提供的关键词,按照 Act as xxx 的格式生成一个完整的 prompt。

有人把 Prompt Generator 生成的 Prompt 叫做 AI Prompt。类似的 Prompt Generator 很多,针对 Midjourney 的有 Midjourney Prompt Generator,这个生成器是作者基于用户发给 Midjourney 的 250k 条 Prompt 用 GPT-2 训练出来的模型制作的,这个生成器知道什么 Prompt 可以让 Midjourney 生成好看的图片,你只需要往生成器输入一些关键词,它就会生成一些完整的 Prompt。

BTW,根据 OpenAI 的开发文档,一个好的 Prompt 是这样的:

Showing, not just telling, is often the secret to a good prompt. 出处

OpenAI 官方也在一篇文章中给出了具体的最佳实践指引,一共有 8 点。

用来生成图片的 Prompt 可以卖,如果这个 Prompt 可以生成好看的图片的话,有趣的是这个网站的作者就是是 Tinyprojects 的作者。有人觉得卖 Prompt 很搞笑,所以这个人收集了一些免费的图片 Prompt

Prompt 对塑造 AI 的性格、能力是至关重要的,但维护 Prompt 有点麻烦。

GPT 虽然可以理解用户的上下文,但单次能理解的字数有限,例如 GPT-3.5 系列模型最高支持 4096 个 token,GPT-4 默认支持 8192(最高支持 32768),这意味着如果字数超了,你就需要重开一个新对话,或者清空聊天记录,然后你又要从头开始输入你的 prompt。有时候我们为了微调 AI 的性格或能力使之达到最优,这需要调整 Prompt 的某些用词,如果每次都要重新复制整个 Prompt,修改,再粘贴回对话框,这显然不符合程序员的风格。

市面上有一些可以帮助开发者维护 Prompt 的工具,例如 everyprompt,开发者提前定义一些 Prompt,这些 Prompt 可以内置一些变量(这篇文章很好地解释了这种模式),Prompt 可以被部署成函数并能通过 HTTP 被外部服务调用,函数可接收参数,这些参数接着被传入 Prompt 的变量,everyprompt 再把这个新 Prompt 传给 OpenAI 获取响应,这个过程向我们展示了如何开发基于 Prompt 的 API,开发者不需要写一行代码。steamshippromptable.ai 也提供了类似的服务。

可以把 OpenAI 的 API 整合到各种服务中,例如有人整合进 Github issue,用户提交的每一条 issue 都会被 AI 回复;有人整合进论坛,用户发起一个帖子,就会有 AI 回帖,双方可以一直互动下去;有人用它来搜索你的 kindle 笔记;有人用把它自动给代码写文档,用户可以用自然语言查询文档;有人开发了一个 Figma 插件,用自然语言画原型图;有人用它来写 git commit。最后,有人整理了 600+ 款 AI 相关的网站

donation赞赏
thumbsup0
thumbsdown0
暂无评论