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