AutoGPT 代理设置¶
🐋 使用 Docker 进行设置与运行 | 👷🏼 开发者指南
📋 要求¶
Linux / macOS¶
- Python 3.10 或更高版本
- Poetry(安装说明)
Windows (WSL)¶
- WSL 2
- 另请参阅 Linux 的要求
- Docker Desktop
Windows¶
注意
我们建议使用 WSL 设置 AutoGPT。某些功能在 Windows 上运行方式不同,我们目前无法为所有情况提供专门的说明。
- Python 3.10 或更高版本(安装说明)
- Poetry(安装说明)
- Docker Desktop
设置 AutoGPT¶
获取 AutoGPT¶
由于我们不将 AutoGPT 作为桌面应用程序分发,您需要从 GitHub 下载项目并在您的计算机上为其指定一个位置。
- 要获取最新的前沿版本,请使用
master
。 - 如果您需要更稳定的版本,请查看最新的 AutoGPT 发布[releases]。
注意
如果您打算将 AutoGPT 作为 Docker 镜像运行,这些说明不适用。请查看 Docker 设置 指南。
完成设置¶
克隆或下载项目后,您可以在 original_autogpt/
文件夹中找到 AutoGPT 代理。
在此文件夹中,您可以使用 .env
文件和(可选)JSON 配置文件来配置 AutoGPT 应用程序:
.env
用于环境变量,主要用于敏感数据如 API 密钥- JSON 配置文件用于自定义 AutoGPT 的某些功能 组件
有关可用环境变量的列表,请参阅 配置 参考。
- 找到名为
.env.template
的文件。在某些操作系统中,由于点前缀,此文件可能默认隐藏。要显示隐藏文件,请按照您的特定操作系统的说明操作: Windows 和 macOS。 - 创建
.env.template
的副本并命名为.env
;如果您已经在命令提示符/终端窗口中:cp .env.template .env
- 在文本编辑器中打开
.env
文件。 - 设置您想要使用的 LLM 提供商的 API 密钥:请参阅 下文。
-
输入您想要使用的任何其他 API 密钥或令牌。
注意
要激活和调整设置,请删除
#
前缀。 -
保存并关闭
.env
文件。 - 可选:运行
poetry install
以安装所有必需的依赖项。 应用程序在启动时也会检查并安装任何必需的依赖项。 - 可选:使用您所需的设置配置 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 个请求。
- 确保您已设置了一个有信用的付费账户:设置 > 组织 > 账单
- 从以下位置获取您的 OpenAI API 密钥:API 密钥
- 打开
.env
- 找到显示
OPENAI_API_KEY=
的行 -
在 = 后直接插入您的 OpenAI API 密钥,不带引号或空格:
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
使用 GPT Azure 实例
如果您想在 Azure 实例上使用 GPT,请将
USE_AZURE
设置为True
并 创建一个 Azure 配置文件。将
azure.yaml.template
重命名为azure.yaml
并提供相关的azure_api_base
、azure_api_version
和您想要使用的模型的部署 ID。例如,如果您想使用
gpt-3.5-turbo
和gpt-4-turbo
:# 请将所有值指定为双引号字符串 # 将尖括号 (<>) 中的字符串替换为您自己的部署名称 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 文档] 中找到,用于嵌入模型。 如果您在 Windows 上,可能需要安装 MSVC 库。
重要
请密切关注 使用页面 上的 API 成本。
Anthropic¶
- 确保您的账户中有信用:设置 > 计划与账单
- 从 设置 > API 密钥 获取您的 Anthropic API 密钥
- 打开
.env
- 找到显示
ANTHROPIC_API_KEY=
的行 - 在 = 后直接插入您的 Anthropic API 密钥,不带引号或空格:
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 将
SMART_LLM
和/或FAST_LLM
设置为您想要使用的 Claude 3 模型。 有关可用模型的信息,请参阅 Anthropic 的 模型概览。 示例:SMART_LLM=claude-3-opus-20240229
重要
请密切关注 使用页面 上的 API 成本。
Groq¶
注意
尽管 Groq 受支持,但其内置的函数调用 API 尚不成熟。 使用此 API 的任何功能可能会遇到性能下降的问题。 请告诉我们您的体验!
- 从 设置 > API 密钥 获取您的 Groq API 密钥
- 打开
.env
- 找到显示
GROQ_API_KEY=
的行 - 在 = 后直接插入您的 Groq API 密钥,不带引号或空格:
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 将
SMART_LLM
和/或FAST_LLM
设置为您想要使用的 Groq 模型。 有关可用模型的信息,请参阅 Groq 的 模型概览。 示例:SMART_LLM=llama3-70b-8192
Llamafile¶
使用 llamafile 您可以在本地运行模型,这意味着无需设置账单,并且保证数据隐私。
有关更多信息和深入文档,请查看 llamafile 文档。
警告
目前,llamafile 一次只能服务一个模型。这意味着您不能
将 SMART_LLM
和 FAST_LLM
设置为两个不同的 llamafile 模型。
警告
由于以下链接的问题,llamafiles 在 WSL 上无法工作。要在 WSL 中使用 llamafile 与 AutoGPT,您必须在 Windows 中运行 llamafile(在 WSL 之外)。
说明
- 通过以下两种方式之一获取
llamafile/serve.py
脚本:- 在您的 Windows 环境中克隆 AutoGPT 仓库,
脚本位于
classic/original_autogpt/scripts/llamafile/serve.py
- 在您的 Windows 环境中仅下载 serve.py 脚本
- 在您的 Windows 环境中克隆 AutoGPT 仓库,
脚本位于
- 确保已安装
click
:pip install click
- 在 WSL 中运行
ip route | grep default | awk '{print $3}'
以获取 WSL 主机的地址 - 运行
python3 serve.py --host {WSL_HOST_ADDR}
,其中{WSL_HOST_ADDR}
是您在步骤 3 中找到的地址。 如果端口 8080 被占用,请使用--port {PORT}
指定不同的端口。 - 在 WSL 中,在
.env
中设置LLAMAFILE_API_BASE=http://{WSL_HOST_ADDR}:8080/v1
。 - 按照下面的常规说明继续操作。
注意
这些说明将下载并使用 mistral-7b-instruct-v0.2.Q5_K_M.llamafile
。
mistral-7b-instruct-v0.2
是目前唯一经过测试和受支持的模型。
如果您想尝试其他模型,您必须将它们添加到 llamafile.py
中的 LlamafileModelName
。
为了获得最佳结果,您可能还需要添加一些逻辑来调整消息格式,
如 LlamafileProvider._adapt_chat_messages_for_mistral_instruct(..)
所做的那样。
- 运行 llamafile 服务脚本:
第一次运行时,它将下载包含模型 + 运行时的文件,这可能需要一些时间和几 GB 的磁盘空间。
python3 ./scripts/llamafile/serve.py
要强制使用 GPU 加速,请在命令中添加 --use-gpu
。
-
在
.env
中,将SMART_LLM
/FAST_LLM
或两者设置为mistral-7b-instruct-v0.2
-
如果服务器运行在不同于
http://localhost:8080/v1
的地址上, 请在.env
中将LLAMAFILE_API_BASE
设置为正确的基础 URL