Connect with us

人工智能

Auto-GPT & GPT-Engineer:对当今领先的AI代理的深入指南

mm

当比较ChatGPT与Auto-GPT和GPT-Engineer等自主AI代理时,决策过程中出现了显著的差异。虽然ChatGPT需要人工干预来驱动对话,根据用户提示提供指导,但规划过程主要依赖于人工干预。

生成式AI模型,如变换器,是这些自主AI代理背后的最新技术。这些变换器是在大型数据集上训练的,使它们能够模拟复杂的推理和决策能力。

自主代理的开源根源:Auto-GPT和GPT-Engineer

许多这些自主AI代理源自由创新个人领导的开源计划,它们改变了传统的工作流程。与只是提供建议不同,像Auto-GPT这样的代理可以独立处理任务,从在线购物到构建基本应用程序。OpenAI的代码解释器旨在将ChatGPT从仅建议想法升级为积极解决问题的工具。

Auto-GPT和GPT-Engineer都具备GPT 3.5和GPT-4的能力。它们理解代码逻辑,合并多个文件,并加速开发过程。

Auto-GPT的核心功能在于其AI代理。这些代理被编程为执行特定的任务,从日常任务如安排会议到需要战略决策的复杂任务。然而,这些AI代理在用户设定的边界内运行。通过控制API访问,用户可以确定AI可以执行的操作的深度和范围。

例如,如果任务是创建一个集成ChatGPT的聊天网页应用,Auto-GPT会自主地将目标分解为可执行的步骤,例如创建HTML前端或编写Python后端。虽然应用程序自主生成这些提示,但用户仍然可以监视和修改它们。正如AutoGPT的创造者@SigGravitas所示,它能够根据Python构建和执行一个测试程序。

https://twitter.com/SigGravitas/status/1642181498278408193

虽然下面的图表描述了一个更一般的自主AI代理的架构,但它对幕后过程提供了有价值的见解。

AI代理架构,如AutoGPT,GPT Engineer

自主AI代理架构

该过程从验证OpenAI API密钥和初始化各种参数(包括短期内存和数据库内容)开始。一旦将关键数据传递给代理,模型就会与GPT3.5/GPT4交互以检索响应。然后将此响应转换为JSON格式,代理解释它以执行各种函数,例如进行在线搜索,读取或写入文件,甚至运行代码。Auto-GPT使用预训练模型将这些响应存储在数据库中,未来交互使用此存储信息作为参考。循环继续直到任务被认为是完成的。

Auto-GPT和GPT-Engineer的设置指南

设置像GPT-Engineer和Auto-GPT这样的尖端工具可以简化您的开发过程。以下是结构化指南,帮助您安装和配置这两个工具。

Auto-GPT

1. 先决条件:

  1. Python环境:确保您已安装Python 3.8或更高版本。您可以从官方网站获取Python。
  2. 如果您计划克隆存储库,请安装Git
  3. OpenAI API密钥:与OpenAI交互需要API密钥。从您的OpenAI帐户获取密钥
Open AI API密钥

Open AI API密钥生成

内存后端选项:内存后端作为AutoGPT访问其操作所需数据的存储机制。AutoGPT使用短期和长期存储能力。 PineconeMilvusRedis等都是可用的选项。

2. 设置工作空间:

  1. 创建虚拟环境:python3 -m venv myenv
  2. 激活环境:
    1. MacOS或Linuxsource myenv/bin/activate

3. 安装:

  1. 克隆Auto-GPT存储库(确保您已安装Git):git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. 要使用Auto-GPT的0.2.2版本,您需要检查出该特定版本:git checkout stable-0.2.2
  3. 导航到下载的存储库:cd Auto-GPT
  4. 安装所需的依赖项:pip install -r requirements.txt

4. 配置:

  1. 在主/Auto-GPT目录中找到.env.template。复制并将其重命名为.env
  2. 打开.env并在OPENAI_API_KEY=旁边设置您的OpenAI API密钥
  3. 同样,要使用Pinecone或其他内存后端,请更新.env文件中的Pinecone API密钥和区域。

5. 命令行指令:

Auto-GPT提供了一组丰富的命令行参数来自定义其行为:

  • 一般用法
    • 显示帮助:python -m autogpt --help
    • 调整AI设置:python -m autogpt --ai-settings <filename>
    • 指定内存后端:python -m autogpt --use-memory <memory-backend>
AutoGPT CLI

AutoGPT CLI

6. 启动Auto-GPT

一旦配置完成,使用以下命令启动Auto-GPT:

  • Linux或Mac./run.sh start
  • Windows.\run.bat

Docker集成(推荐的设置方法)

对于那些想要将Auto-GPT容器化的人来说,Docker提供了一种简化的方法。然而,请注意Docker的初始设置可能有点复杂。请参考Docker的安装指南以获取帮助。

按照以下步骤修改OpenAI API密钥。确保Docker在后台运行。现在转到AutoGPT的主目录,并在终端上执行以下步骤

  • 构建Docker镜像:docker build -t autogpt .
  • 现在运行:docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

使用docker-compose:

  • 运行:docker-compose run --build --rm auto-gpt
  • 对于额外的自定义,您可以集成其他参数。例如,要运行–gpt3only和–continuous:docker-compose run --rm auto-gpt --gpt3only--continuous
  • 鉴于Auto-GPT从大型数据集中生成内容的广泛自主性,因此存在它无意中访问恶意Web源的潜在风险。

为了减轻这些风险,请在虚拟容器中运行Auto-GPT,例如Docker。这确保任何潜在的有害内容都保持在虚拟空间内,而您的外部文件和系统保持不受影响。或者,Windows沙盒也是一个选项,尽管它会在每个会话后重置并且无法保留其状态。

为了安全,请始终在虚拟环境中运行Auto-GPT,以确保您的系统免受意外输出的影响。

鉴于所有这些,仍然有可能您无法获得所需的结果。Auto-GPT用户报告了反复出现的问题,当他们尝试写入文件时,经常会遇到由于问题文件名而导致的失败尝试。以下是此类错误之一:Auto-GPT(版本0.2.2)不追加文本,错误“write_to_file返回:错误:文件已更新

解决这些问题的各种解决方案已在相关的GitHub线程中进行了讨论。

GPT-Engineer

GPT-Engineer工作流程:

  1. 提示定义:使用自然语言编写项目的详细描述。
  2. 代码生成:根据您的提示,GPT-Engineer开始工作,生成代码片段、函数,甚至整个应用程序。
  3. 改进和优化:生成后,总是有改进的余地。开发人员可以修改生成的代码以满足特定的要求,确保最高质量。

设置GPT-Engineer的过程已被浓缩成一个易于遵循的指南。以下是分步骤的分解:

1. 准备环境:在开始之前,请确保您已准备好项目目录。打开终端并运行以下命令

  • 创建一个名为“网站”的新目录:mkdir website
  • 转到目录:cd website

2. 克隆存储库git clone https://github.com/AntonOsika/gpt-engineer.git .

3. 导航和安装依赖项:克隆后,切换到目录cd gpt-engineer,并安装所有必要的依赖项make install

4. 激活虚拟环境:根据您的操作系统,激活创建的虚拟环境。

  • 对于macOS/Linuxsource venv/bin/activate
  • 对于Windows,由于API密钥设置,它略有不同:set OPENAI_API_KEY=[your api key]

5. 配置 – API密钥设置:要与OpenAI交互,您需要API密钥。如果您还没有,请在OpenAI平台上注册,然后:

  • 对于macOS/Linuxexport OPENAI_API_KEY=[your api key]
  • 对于Windows(如前所述):set OPENAI_API_KEY=[your api key]

6. 项目初始化和代码生成:GPT-Engineer的魔力从projects文件夹中的main_prompt文件开始。

  • 如果您想启动一个新项目:cp -r projects/example/ projects/website

这里,请用您的项目名称替换“网站”。

  • 使用您选择的文本编辑器编辑main_prompt文件,撰写您的项目要求。

  • 一旦您对提示感到满意,请运行:gpt-engineer projects/website

您的生成代码将驻留在项目文件夹内的workspace目录中。

7. 生成后:虽然GPT-Engineer很强大,但它可能并不完美。检查生成的代码,如果需要,请进行手动更改,并确保一切运行顺畅。

示例运行

提示

“我想使用Python开发一个基本的Streamlit应用程序,通过交互式图表可视化用户数据。该应用程序应允许用户上传CSV文件,选择图表类型(例如,条形,饼图,线图),并动态可视化数据。它可以使用Pandas进行数据操作和Plotly进行可视化。”

</

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。