AutoGPT 代理设置¶
📋 要求¶
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 发布。
注意
如果您打算将 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¶
注意
要使用 GPT-4 运行 AutoGPT(推荐),您需要设置一个付费的 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 docs]中找到。如果你使用的是Windows,可能需要安装MSVC库。
Important
请密切关注你在使用页面上的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
Important
请密切关注你在使用页面上的API费用。
Groq¶
Note
尽管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文档]。
Warning
目前,llamafile一次只能服务一个模型。这意味着你不能将SMART_LLM和FAST_LLM设置为两个不同的llamafile模型。
Warning
由于以下问题,llamafile在WSL上无法工作。要在WSL中使用AutoGPT的llamafile,你必须在Windows(非WSL环境)中运行llamafile。
说明
- 通过以下两种方式之一获取
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。 -
按照下面的常规说明进行其余操作。
- Mozilla-Ocho/llamafile#100
Note
这些说明将下载并使用 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