跳转到主要内容

category

AutoGPT是一个实验性开源应用程序,展示了GPT-4语言模型的功能。该程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一,AutoGPT突破了人工智能的极限。

https://vimeo.com/879672682

特征

 

  • 用于搜索和信息收集的互联网接入
  • 使用以下任一项进行长期和短期记忆管理:
    • 1.json_file使用本地json缓存文件
    • 2.Pinecone使用您在ENV设置中配置的Pinecone.io帐户
    • 3.Redis将使用您配置的Redis缓存
    • 4.Milvus将使用您配置的Milvus缓存
    • 5.Weaviate将使用您配置的Weaviate缓存
  • 用于文本生成的GPT-4实例(需要OpenAI密钥)
  • 使用GPT-3.5进行文件存储和摘要(需要OpenAI密钥)
  • 与十一个语音实验室集成(TTS,需要API密钥)。按照以下说明进行配置。
  • 使用以下任一项生成图像的功能:
  • 访问热门网站和平台
  • 插件的可扩展性

它的工作原理


当给定要执行的任务时,AutoGPT会为自己设置目标和约束。它查询LLM(默认为OpenAI)以实现其目标。对于LLM无法获得的知识,它可以浏览互联网来收集完成目标所需的数据。
最后,AutoGPT支持插件,使其能够执行许多复杂的任务,如发送电子邮件、在Twitter或Instagram上发帖等。

 

现在,将AutoGPT设置为使用本地托管的LLM与使用AutoGen进行相同操作相比并不容易。幸运的是,这里有一些开源实现,我们可以参考。

要在本地设置带有插件支持的AutoGPT,您可以:

  • 创建一个新环境。


conda create -n autogpt python=3.10 -y
conda activate autogpt

 

  • 在某些情况下,插件可能仍然无法工作或无法加载,在这种情况下,您必须安装此requirements.txt。
  • pip install -r requirements.txt

调查结果和应用


现在,与AutoGen不同,AutoGPT不具备让多个代理协作以产生更好结果的功能。相反,它所要做的是扩展其功能的插件支持,其中最关键的是内置的网络访问,它可以直接从互联网上获取数据。

使用这些插件,它可以通过创建文件和文件夹直接与环境交互,根据当前活动的插件,甚至可以调用某些API,例如,Twitter插件允许它调用Twitter API等。AutoGPT的插件模板是开源的,因此任何人都可以按照此处给出的说明生成AutoGPT插件。

当有任何任务需要完成时,它会将其重新构建为一组目标或子任务。然后,在完成子任务的过程中,它会以以下格式显示结果:

  • 思想——它想要采取的行动来完成子任务。
  • 推理——它想采取这种行动的原因。
  • 计划——完成行动的计划。
  • 批判主义——对该计划的任何回溯。
  • 演讲——对思维过程的总结。
  • 下一步行动——将调用以执行计划的实际函数。

这个细致的过程允许AutoGPT迭代自己的结果并对其进行细化。但它也需要更快地在实践中取得成果。

因此,对于任何定义宽泛或不需要非常精确输入的问题语句,AutoGPT是您的首选。如上面的演示所示,我使用了AutoGPT及其EMail插件创建了一个自主的上下文感知电子邮件响应代理,该代理可以读取我最新的未读电子邮件,并可以根据该电子邮件中的内容做出响应。如果需要,它甚至可以创建和发送附件。

最后,AutoGPT具有极好的支持和与docker的兼容性。要使用docker设置AutoGPT,请执行以下操作。此外,任何必须在本地运行的代码,如果有选择的话,都会尝试在docker容器中运行。

可以实现AutoGPT的一些领域包括:

  • 问题陈述涉及web抓取和数据收集,并且需要快速处理收集的数据的用例。AutoGPT不仅可以通过谷歌或DuckDuckGo搜索原生访问网络,还可以访问维基百科搜索、SerpApi、百度搜索、必应搜索等插件,从而从搜索结果中获得丰富的信息。收集的数据可用于各种目的,包括创建数据集。
  • AutoGPT为所有大量使用的社交媒体应用程序(如Reddit、Twitter、Instagram等)提供了插件。结合使用这些插件,我们可以建立一个社交媒体分析和管理系统,该系统可以定期从这些平台上刮取并分析它,并在所有这些平台上发布生成和策划的内容。
  • AutoGPT具有语音和视觉集成功能,因此可以有效地提供多模式输出。为了使其采用多模式输入,我们可以为其设计插件。
  • 回答问题、浏览网络以收集和汇总信息、在更大范围内生成代码(如创建整个网站)等,AutoGen是更好的选择,因为它可以更好地访问信息。

弱点


AutoGPT不适用于需要一定精度的任务,例如调用需要非常特殊形式输入的API。例如,我想为我的网站创建一个旅行社,因此每次都需要AutoGPT只调用我的API。但在实现时,调用的API是

类似地,需要执行特定逻辑流的任务(如创建后端)不仅需要代码,还需要环境、数据库、测试、CI/CD工作流、部署文件等。因此,尽管AutoGPT将能够为其中的大多数创建文件,但以逻辑方式执行它们将超出其范围。当我尝试使用AutoGPT创建NextJS博客应用程序时,它正确地推断出它需要运行npx create next app命令,但无法实际执行,尽管它有能力执行。

AutoGPT的输出也存在一致性问题,即在不同的运行过程中,同一个代理和提示给出的输出截然不同,在大多数情况下都是错误的。

结论


AutoGPT利用GPT-4语言模型的功能,代表了自主人工智能应用领域的突破性进展。它令人印象深刻的一套功能,特别是通过插件的可扩展性,在数据收集、与web平台的交互以及多模式功能方面提供了无与伦比的多功能性。然而,需要注意的是,尽管AutoGPT在广泛的问题陈述中大放异彩,但其在某些任务中的准确性和一致性仍有待改进。与任何不断发展的技术一样,当前的限制为进一步改进提供了令人兴奋的机会,确保AutoGPT及其后续版本将在人工智能驱动的解决方案的未来发挥关键作用。