Skip to content

AutoGPT + Docker指南

Important

使用Compose文件格式的版本3.9需要Docker Compose版本1.29.0或更高版本。 您可以通过运行以下命令检查系统上安装的Docker Compose版本:

docker compose version

这将显示当前安装在您系统上的Docker Compose版本。

如果您需要升级Docker Compose到较新的版本,可以按照Docker文档中的安装说明进行操作:https://docs.docker.com/compose/install/

基本设置

  1. 确保您已安装Docker,请参阅要求
  2. 为AutoGPT创建一个项目目录

    mkdir AutoGPT
    cd AutoGPT
    
  3. 在项目目录中,创建一个名为docker-compose.yml的文件:

    <= v0.4.7的docker-compose.yml>

version: "3.9"
services:
  auto-gpt:
    image: significantgravitas/auto-gpt
    env_file:
      - .env
    profiles: ["exclude-from-up"]
    volumes:
      - ./auto_gpt_workspace:/app/auto_gpt_workspace
      - ./data:/app/data
      ## 允许auto-gpt将日志写入磁盘
      - ./logs:/app/logs
      ## 如果要使用这些文件,请取消下面的注释
      ## 这些文件必须与docker-compose.yml文件位于同一文件夹中
      #- type: bind
      #  source: ./azure.yaml
      #  target: /app/azure.yaml
      #- type: bind
      #  source: ./ai_settings.yaml
      #  target: /app/ai_settings.yaml
      #- type: bind
      #  source: ./prompt_settings.yaml
      #  target: /app/prompt_settings.yaml

docker-compose.yml> for > v0.4.7 (including master)
version: "3.9"
services:
  auto-gpt:
    image: significantgravitas/auto-gpt
    env_file:
      - .env
    ports:
      - "8000:8000"  # 如果只想在TTY模式下运行单个代理,请删除此行
    profiles: ["exclude-from-up"]
    volumes:
      - ./data:/app/data
      ## 允许auto-gpt将日志写入磁盘
      - ./logs:/app/logs
      ## 如果要使用这些文件,请取消下面的注释
      ## 这些文件必须与docker-compose.yml文件位于同一文件夹中
      #- type: bind
      #  source: ./ai_settings.yaml
      #  target: /app/ai_settings.yaml
      #- type: bind
      #  source: ./prompt_settings.yaml
      #  target: /app/prompt_settings.yaml
  1. 下载.env.template并将其保存为AutoGPT文件夹中的.env文件。
  2. 按照配置步骤进行操作。
  3. Docker Hub拉取最新的镜像

    docker pull significantgravitas/auto-gpt
    

Docker仅支持无头浏览

AutoGPT默认使用无头模式的浏览器:HEADLESS_BROWSER=True。 请不要在与Docker结合使用时更改此设置,否则AutoGPT将崩溃。

配置

  1. 在文本编辑器中打开.env文件。由于点前缀,该文件在某些操作系统中可能默认隐藏。要显示隐藏文件,请按照您特定操作系统的说明操作:[Windows][show hidden files/Windows],[macOS][show hidden files/macOS]。
  2. 找到包含OPENAI_API_KEY=的行。
  3. =之后,输入您的唯一OpenAI API密钥*不带任何引号或空格*。
  4. 输入您希望使用的其他服务的任何API密钥或令牌。

    Note

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

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

可选的额外配置文件(例如 prompt_settings.yml)的模板可以在仓库中找到。

使用 GPT Azure 实例

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

  • azure.yaml.template 重命名为 azure.yaml,并在 azure_model_map 部分提供相关的 azure_api_baseazure_api_version 和所有相关模型的部署 ID。

示例:

# 请将所有这些值指定为带双引号的字符串
# 将尖括号(<>)中的字符串替换为您自己的部署名称
azure_model_map:
    gpt-4-turbo-preview: "<gpt-4-turbo 部署 ID>"
    ...

详细信息可以在openai-python 文档Azure OpenAI 文档中找到嵌入模型的信息。 如果您使用的是 Windows,可能需要安装一个MSVC 库

注意: Azure 支持已在 master 分支中取消,因此这些说明仅适用于 v0.4.7(或更早版本)。

开发者设置

提示

如果您已经克隆了存储库并对代码库进行了更改(或希望进行更改),请使用此设置。

  1. .env.template复制到.env
  2. 按照上面的标准配置步骤进行操作。

使用Docker运行AutoGPT

按照上面的设置说明后,您可以使用以下命令运行AutoGPT:

docker compose run --rm auto-gpt

这将创建并启动一个AutoGPT容器,并在应用程序停止后将其删除。 这并不意味着您的数据将丢失:应用程序生成的数据存储在data文件夹中。

子命令和参数的工作方式与[user guide]中描述的相同:

  • 运行AutoGPT:
    docker compose run --rm auto-gpt serve
    
  • 在TTY模式下运行AutoGPT,并使用连续模式。
    docker compose run --rm auto-gpt run --continuous
    
  • 在TTY模式下运行AutoGPT,并为所有活动插件安装依赖项:
    docker compose run --rm auto-gpt run --install-plugin-deps
    

如果您敢于尝试,还可以使用“原始”docker命令构建和运行它:

docker build -t autogpt .
docker run -it --env-file=.env -v $PWD:/app autogpt
docker run -it --env-file=.env -v $PWD:/app --rm autogpt --gpt3only --continuous