AutoCog — 使用GPT-4生成Cog配置
Cog允许您用很少的代码从机器学习仓库创建Docker镜像。但如果您完全不用写任何代码,岂不是更好?这就是AutoCog的用武之地!
受Auto-GPT和BabyAGI等工具的启发,AutoCog使用GPT-4不仅能编写代码,还能运行并修复代码。其算法大致如下:
- 为AutoCog提供一个机器学习仓库。
- 根据文件对Cog的重要性,对仓库中的文件进行排序。
- 将尽可能多的文件(在GPT-4上下文窗口允许的范围内)传递给GPT-4。
- 指示GPT-4基于仓库中的文件创建
cog.yaml和predict.py文件。 - 创建一个基于生成文件的
cog predictshell命令来运行预测。 - 运行
cog predict命令。 - 如果失败,诊断错误并尝试修复
cog.yaml、predict.py或cog predict命令。从前一步开始重复,最多五次。
人机协同
AutoCog在成功运行时非常神奇。但很多时候它并不奏效。有时它不知道确切的Python包版本,有时它只是走上了一条错误的道路,导致每次尝试都让情况变得更糟。
在这种情况下,您可能只想按Ctrl-C然后自己修复它。幸运的是,您的修复也不必完美,因为AutoCog有一个 --continue 标志,可以从您中断的地方继续。大多数情况下,只需要人类稍微点拨一下,就能帮助AutoCog找到一个可行的解决方案。
为程序员编程
AutoCog本身是由一个人类(我)编写的。编写这样的工具就像是在管理一个技术卓越但判断力欠佳的程序员。过了一段时间,您会对GPT-4产生同理心,并将任务分解成GPT-4有望完成的更小的子任务。
这些子任务由一个提示词和一些用于解析输出的代码组成。例如,对目录中Python文件进行排序的提示词是:
most_relevant.py
second_most_relevant.py
third_most_relevant.py
[…]
least_relevant.py以下是文件路径:
{paths_list}
我们在将路径发送给GPT-4之前对其进行排序的原因是上下文窗口的长度限制。一个仓库的Python代码量常常会超过GPT-4所能接受的8096个tokens,因此AutoCog会截断传递给GPT-4的输入文件。
有限的上下文窗口是编写像AutoCog这样的工具时遇到的主要障碍之一。需要以这样一种方式构建提示词:在不超过限制的前提下,包含尽可能多的信息。
亲自尝试
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
2100

被折叠的 条评论
为什么被折叠?



