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/
基本设置¶
- 确保您已安装Docker,请参阅要求
-
为AutoGPT创建一个项目目录
mkdir AutoGPT cd AutoGPT
-
在项目目录中,创建一个名为
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
- 下载
.env.template
并将其保存为AutoGPT文件夹中的.env
文件。 - 按照配置步骤进行操作。
-
从Docker Hub拉取最新的镜像
docker pull significantgravitas/auto-gpt
Docker仅支持无头浏览
AutoGPT默认使用无头模式的浏览器:HEADLESS_BROWSER=True
。
请不要在与Docker结合使用时更改此设置,否则AutoGPT将崩溃。
配置¶
- 在文本编辑器中打开
.env
文件。由于点前缀,该文件在某些操作系统中可能默认隐藏。要显示隐藏文件,请按照您特定操作系统的说明操作:[Windows][show hidden files/Windows],[macOS][show hidden files/macOS]。 - 找到包含
OPENAI_API_KEY=
的行。 - 在
=
之后,输入您的唯一OpenAI API密钥*不带任何引号或空格*。 -
输入您希望使用的其他服务的任何API密钥或令牌。
Note
要激活和调整设置,请删除
#
前缀。 -
保存并关闭
.env
文件。
可选的额外配置文件(例如 prompt_settings.yml
)的模板可以在仓库中找到。
使用 GPT Azure 实例
如果您想在 Azure 实例上使用 GPT,请将 USE_AZURE
设置为 True
,并创建一个 Azure 配置文件:
- 将
azure.yaml.template
重命名为azure.yaml
,并在azure_model_map
部分提供相关的azure_api_base
、azure_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(或更早版本)。
开发者设置¶
提示
如果您已经克隆了存储库并对代码库进行了更改(或希望进行更改),请使用此设置。
- 将
.env.template
复制到.env
。 - 按照上面的标准配置步骤进行操作。
使用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