跳到内容

AutoGPT Agent 设置

🐋 使用 Docker 设置和运行  |  👷🏼 面向开发者

📋 要求

Linux / macOS

  • Python 3.10 或更高版本
  • Poetry (说明)

Windows (WSL)

Windows

注意

我们推荐使用 WSL 设置 AutoGPT。有些功能在 Windows 上工作方式不太一样,目前我们无法为所有这些情况提供专门的说明。

设置 AutoGPT

获取 AutoGPT

由于我们不提供 AutoGPT 的桌面应用程序,您需要从 GitHub 下载项目并将其放置在您的计算机上。

Screenshot of the dialog to clone or download the repo

  • 要获取最新的前沿版本,请使用 master
  • 如果您寻求更高的稳定性,请查看最新的 AutoGPT 发布版本

注意

如果您想将 AutoGPT 作为 Docker 镜像运行,这些说明不适用。请参阅Docker 设置指南。

完成设置

克隆或下载项目后,您可以在 original_autogpt/ 文件夹中找到 AutoGPT Agent。在此文件夹中,您可以使用 .env 文件和(可选)一个 JSON 配置文件来配置 AutoGPT 应用程序

  • .env 用于环境变量,主要用于存储敏感数据,如 API 密钥
  • 一个 JSON 配置文件,用于自定义 AutoGPT 组件的某些功能

有关可用环境变量的列表,请参阅配置参考。

  1. 找到名为 .env.template 的文件。在某些操作系统中,由于文件名前缀为点,此文件可能默认隐藏。要显示隐藏文件,请按照您的特定操作系统说明进行操作:WindowsmacOS
  2. 创建 .env.template 的副本并将其命名为 .env;如果您已在命令提示符/终端窗口中
    cp .env.template .env
    
  3. 在文本编辑器中打开 .env 文件。
  4. 设置您要使用的 LLM 提供商的 API 密钥:请参阅下文
  5. 输入您希望使用的其他服务的任何 API 密钥或令牌。

    注意

    要激活和调整设置,请移除 # 前缀。

  6. 保存并关闭 .env 文件。

  7. 可选:运行 poetry install 安装所有必需的依赖项。应用程序启动时也会检查并安装所有必需的依赖项。
  8. 可选:使用您所需的设置配置 JSON 文件(例如 config.json)。如果您不提供 JSON 配置文件,应用程序将使用默认设置。了解如何设置 JSON 配置文件

您现在应该能够探索 CLI (./autogpt.sh --help) 并运行应用程序。

有关更多说明,请参阅用户指南

设置 LLM 提供商

您可以将 AutoGPT 与以下任何 LLM 提供商一起使用。每个提供商都有自己的设置说明。

AutoGPT 最初构建在 OpenAI 的 GPT-4 之上,但现在您也可以使用其他模型/提供商获得类似且有趣的结果。如果您不知道如何选择,可以放心地选择 OpenAI*。

* 可能有变动

OpenAI

注意

要将 AutoGPT 与 GPT-4(推荐)一起使用,您需要设置一个付费的 OpenAI 账户并充值。有关更多说明,请参阅 OpenAI(链接)。免费账户仅限于 GPT-3.5,每分钟只能发送 3 个请求。

  1. 确保您拥有已充值付费账户:设置 > 组织 > 账单
  2. 从以下位置获取您的 OpenAI API 密钥:API 密钥
  3. 打开 .env
  4. 找到包含 OPENAI_API_KEY= 的行
  5. 将您的 OpenAI API 密钥直接插入到 = 后面,无需引号或空格

    OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    使用 Azure GPT 实例

    如果您想在 Azure 实例上使用 GPT,请将 USE_AZURE 设置为 True 并创建一个 Azure 配置文件。

    azure.yaml.template 重命名为 azure.yaml,并为您要使用的模型提供相关的 azure_api_baseazure_api_version 和部署 ID。

    例如,如果您想使用 gpt-3.5-turbogpt-4-turbo

    # Please specify all of these values as double-quoted strings
    # Replace string in angled brackets (<>) to your own deployment Name
    azure_model_map:
        gpt-3.5-turbo: "<gpt-35-turbo-deployment-id>"
        gpt-4-turbo: "<gpt-4-turbo-deployment-id>"
        ...
    

    详细信息可在 openai/python-sdk/azure 中找到,对于嵌入模型,可在 [Azure OpenAI docs] 中找到。如果您使用的是 Windows,可能需要安装 MSVC 库

重要

请在使用量页面留意您的 API 费用。

Anthropic

  1. 确保您的账户中有余额:设置 > 计划与账单
  2. 设置 > API 密钥 获取您的 Anthropic API 密钥
  3. 打开 .env
  4. 找到包含 ANTHROPIC_API_KEY= 的行
  5. 将您的 Anthropic API 密钥直接插入到 = 后面,无需引号或空格
    ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
  6. SMART_LLM 和/或 FAST_LLM 设置为您要使用的 Claude 3 模型。有关可用模型的信息,请参阅 Anthropic 的模型概述。示例
    SMART_LLM=claude-3-opus-20240229
    

重要

请在使用量页面留意您的 API 费用。

Groq

注意

虽然支持 Groq,但其内置函数调用 API 尚未成熟。使用此 API 的任何功能可能会出现性能下降。请告诉我们您的使用体验!

  1. 设置 > API 密钥 获取您的 Groq API 密钥
  2. 打开 .env
  3. 找到包含 GROQ_API_KEY= 的行
  4. 将您的 Groq API 密钥直接插入到 = 后面,无需引号或空格
    GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
  5. SMART_LLM 和/或 FAST_LLM 设置为您要使用的 Groq 模型。有关可用模型的信息,请参阅 Groq 的模型概述。示例
    SMART_LLM=llama3-70b-8192
    

Llamafile

使用 llamafile,您可以在本地运行模型,这意味着无需设置计费,并保证数据隐私。

有关更多信息和深入文档,请查看 llamafile 文档

警告

目前,llamafile 只能同时服务一个模型。这意味着您不能将 SMART_LLMFAST_LLM 设置为两个不同的 llamafile 模型。

警告

由于下面链接的问题,llamafile 在 WSL 上无法工作。要在 WSL 中使用 llamafile 和 AutoGPT,您必须在 Windows 中(WSL 外部)运行 llamafile。

说明

  1. 通过以下两种方式之一获取 llamafile/serve.py 脚本
    1. 将 AutoGPT 仓库克隆到您的 Windows 环境中的某个位置,脚本位于 classic/original_autogpt/scripts/llamafile/serve.py
    2. 仅将 serve.py 脚本下载到您的 Windows 环境中的某个位置
  2. 确保已安装 clickpip install click
  3. 在 WSL 内部运行 ip route | grep default | awk '{print $3}' 获取 WSL 主机地址
  4. 运行 python3 serve.py --host {WSL_HOST_ADDR},其中 {WSL_HOST_ADDR} 是您在第 3 步找到的地址。如果端口 8080 被占用,也请使用 --port {PORT} 指定不同的端口。
  5. 在 WSL 中,在您的 .env 文件中设置 LLAMAFILE_API_BASE=http://{WSL_HOST_ADDR}:8080/v1
  6. 遵循下面的其余常规说明。

注意

这些说明将下载并使用 mistral-7b-instruct-v0.2.Q5_K_M.llamafilemistral-7b-instruct-v0.2 是目前唯一经过测试和支持的模型。如果您想尝试其他模型,您必须将其添加到 llamafile.py 中的 LlamafileModelName。为了获得最佳结果,您可能还需要添加一些逻辑来调整消息格式,就像 LlamafileProvider._adapt_chat_messages_for_mistral_instruct(..) 所做的那样。

  1. 运行 llamafile 服务脚本
    python3 ./scripts/llamafile/serve.py
    
    首次运行时,它将下载包含模型和运行时的文件,这可能需要一段时间并占用几 GB 的磁盘空间。

要强制使用 GPU 加速,请在命令中添加 --use-gpu

  1. .env 文件中,将 SMART_LLM/FAST_LLM 或两者都设置为 mistral-7b-instruct-v0.2

  2. 如果服务器运行在与 http://localhost:8080/v1 不同的地址上,请在 .env 中将 LLAMAFILE_API_BASE 设置为正确的基础 URL