Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的能力。这个程序由GPT-4驱动,通过连接LLM“思想”,自主实现您设定的任何目标。作为GPT-4完全自主运行的首个示例之一,Auto-GPT推动了人工智能可能性的界限。
目录
🚀 特性
- 🌐 互联网访问进行搜索和信息收集
- 💾 长期和短期记忆管理
- 🧠 用于文本生成的GPT-4实例
- 🔗 访问流行的网站和平台
- 🗃️ 带有GPT-3.5的文件存储和摘要
📋 要求
可选:
- ElevenLabs密钥(如果您希望AI说话)
💾 安装
要安装Auto-GPT,请按照以下步骤操作:
- 确保您拥有上述所有要求,如果没有,请安装/获取它们。
以下命令应在CMD、Bash或PowerShell窗口中执行。要执行此操作,请转到计算机上的文件夹,单击文件夹路径顶部,并键入CMD,然后按Enter。
- 克隆存储库:对于此步骤,您需要安装Git,但也可以通过单击此页面顶部的按钮下载zip文件来代替。
git clone <https://github.com/Torantulino/Auto-GPT.git
>
- 导航到项目目录: (将此键入CMD窗口中,您的目标是将CMD窗口导航到刚刚下载的存储库)
cd 'Auto-GPT'
- 安装所需依赖项: (再次,将此键入CMD窗口)
pip install -r requirements.txt
- 将
.env.template
重命名为.env
并填写您的OPENAI_API_KEY
。如果计划使用语音模式,请同时填写您的ELEVEN_LABS_API_KEY
。
-
从以下网址获取OpenAI API密钥:platform.openai.com/account/api…。
-
从以下网址获取ElevenLabs API密钥:elevenlabs.io。您可以使用网站上的“Profile”选项卡查看您的xi-api-key。
-
如果要在Azure实例上使用GPT,请将
USE_AZURE
设置为True
,然后:-
将
azure.yaml.template
重命名为azure.yaml
,并提供相关模型的所有部署ID,包括:fast_llm_model_deployment_id
- 您的gpt-3.5-turbo或gpt-4部署IDsmart_llm_model_deployment_id
- 您的gpt-4部署IDembedding_model_deployment_id
- 您的text-embedding-ada-002 v2部署ID
-
请将所有这些值指定为双引号字符串
-
详细信息可以在pypi.org/project/ope…的“Microsoft Azure Endpoints”部分以及learn.microsoft.com/en-us/azure…中找到,用于嵌入模型。
-
🔧 用法
- 在终端中运行
main.py
Python脚本: (将此键入CMD窗口)
python scripts/main.py
- 在AUTO-GPT的每个操作之后,输入“NEXT COMMAND”以授权它们继续。
- 要退出程序,请键入“exit”并按Enter键。
日志
您将在文件夹./output/logs
中找到活动和错误日志。
要输出调试日志:
python scripts/main.py --debug
🗣️ 语音模式
使用此功能使用TTS进行Auto-GPT
python scripts/main.py --speak
🔍 配置Google API密钥
如果运行Google搜索时出现错误429,请使用官方Google API。要使用google_official_search
命令,您需要在环境变量中设置您的Google API密钥。
- 转到Google Cloud控制台。
- 如果您还没有帐户,请创建一个并登录。
- 通过单击页面顶部的“选择项目”下拉菜单并单击“新建项目”来创建新项目。为其命名并单击“创建”。
- 转到API和服务仪表板并单击“启用API和服务”。搜索“自定义搜索API”并单击它,然后单击“启用”。
- 转到凭据页面并单击“创建凭据”。选择“API密钥”。
- 复制API密钥并将其设置为在您的计算机上命名为
GOOGLE_API_KEY
的环境变量。请参阅以下设置环境变量。 - 转到自定义搜索引擎页面并单击“添加”。
- 通过按照提示设置搜索引擎来设置您的搜索引擎。您可以选择搜索整个Web或特定网站。
- 创建搜索引擎后,单击“控制面板”,然后单击“基础知识”。复制“搜索引擎ID”,并将其设置为在您的计算机上命名为
CUSTOM_SEARCH_ENGINE_ID
的环境变量。请参阅以下设置环境变量。
请记住,您的免费每日自定义搜索配额仅允许最多100次搜索。要增加此限制,您需要将计费帐户分配给项目,以从每天的10K次搜索中获利。
设置环境变量
对于Windows用户:
setx GOOGLE_API_KEY "YOUR_GOOGLE_API_KEY" setx CUSTOM_SEARCH_ENGINE_ID "YOUR_CUSTOM_SEARCH_ENGINE_ID"
对于macOS和Linux用户:
export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY" export CUSTOM_SEARCH_ENGINE_ID="YOUR_CUSTOM_SEARCH_ENGINE_ID"
Redis设置
安装Docker桌面。
运行:
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
有关密码和其他配置的设置,请参见hub.docker.com/r/redis/red…。
设置以下环境变量:
MEMORY_BACKEND=redis REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=
请注意,此设置不适用于面向Internet,并且不安全,不要在没有密码或根本不暴露redis的情况下将其暴露给Internet。
您可以选择设置
WIPE_REDIS_ON_START=False
以保留在Redis中存储的内存。
您可以使用以下内容指定redis的内存索引:
MEMORY_INDEX=whatever
🌲 Pinecone API密钥设置
Pinecone使得存储大量基于向量的内存成为可能,允许只在任何给定时间为代理加载相关的记忆。
- 前往pinecone,如果您还没有帐户,请创建一个。
- 选择“Starter”计划以避免被收费。
- 在左侧边栏中的默认项目下找到您的API密钥和区域。
设置环境变量
只需在.env
中设置它们即可。
或者,您可以从命令行设置它们(高级):
对于Windows用户:
setx PINECONE_API_KEY "YOUR_PINECONE_API_KEY" setx PINECONE_ENV "Your pinecone region" # something like: us-east4-gcp
对于macOS和Linux用户:
export PINECONE_API_KEY="YOUR_PINECONE_API_KEY" export PINECONE_ENV="Your pinecone region" # something like: us-east4-gcp
设置您的缓存类型
默认情况下,Auto-GPT将使用LocalCache而不是redis或Pinecone。
要切换到其中任一个,请将MEMORY_BACKEND
env变量更改为您想要的值:
local
(默认值)使用本地JSON缓存文件 pinecone
使用您在ENV设置中配置的Pinecone.io帐户 redis
将使用您配置的redis缓存
查看内存使用情况
- 使用
debug
标志查看内存使用情况 :)
💀 连续模式 ⚠️
在没有用户授权的情况下运行AI,100%自动化。不建议使用连续模式。它可能是危险的,可能导致您的AI永远运行或执行您通常不会授权的操作。自行承担风险。
- 在终端中运行
main.py
Python脚本:
python scripts/main.py --continuous
- 要退出程序,请按Ctrl + C键
仅限GPT3.5模式
如果您没有GPT4 API的访问权限,则此模式将允许您使用Auto-GPT!
python scripts/main.py --gpt3only
建议使用虚拟机执行需要高安全措施的任务,以防止对主计算机的系统和数据造成任何潜在的损害。
🖼 图像生成
默认情况下,Auto-GPT使用DALL-e进行图像生成。要使用Stable Diffusion,需要一个HuggingFace API Token。
一旦您获得了一个令牌,请在.env
中设置以下变量:
IMAGE_PROVIDER=sd HUGGINGFACE_API_TOKEN="YOUR_HUGGINGFACE_API_TOKEN"
⚠️ 限制
该实验旨在展示GPT-4的潜力,但具有一些限制:
- 不是完整的应用程序或产品,仅是一个实验
- 在复杂的现实业务场景中可能表现不佳。实际上,如果它实际上确实如此,请分享您的结果!
- 运行成本相当高,因此请设置并监视OpenAI的API密钥限制!
🛡 免责声明
免责声明:此项目Auto-GPT是一个实验性应用程序,按“原样”提供,没有任何明示或暗示的保证。使用本软件即表示您同意承担与其使用相关的所有风险,包括但不限于数据丢失、系统故障或任何其他可能出现的问题。
此项目的开发人员和贡献者不承担任何损失、损害或其他后果的责任,这些损失、损害或其他后果可能因使用本软件而发生。您完全负责基于Auto-GPT提供的信息做出的任何决定和行动。
请注意,GPT-4语言模型的使用可能很昂贵,因为它使用令牌。通过使用此项目,您确认自己负责监控和管理自己的令牌使用情况和相关成本。强烈建议
🐦 在Twitter上关注我们
通过关注我们的Twitter账户,获取有关Auto-GPT的最新新闻、更新和见解。通过开发人员和AI自己的账户参与有趣的讨论、项目更新等。
- 开发人员:关注 @siggravitas 获取创业者GPT的创建者的开发过程、项目更新和相关主题的见解。
- 创业者-GPT:关注 @En_GPT 跟AI本身一起加入对话。分享您的经验,讨论AI的输出,并与日益壮大的用户社区互动。
我们期待与您联系,并听取您对Auto-GPT的想法、想法和经验。在Twitter上加入我们,让我们一起探索人工智能的未来!
运行测试
要运行测试,请运行以下命令:
python -m unittest discover tests
要运行测试并查看覆盖率,请运行以下命令:
coverage run -m unittest discover tests
运行linter
本项目使用 flake8 进行linting。要运行linter,请输入以下命令:
# Or, if you want to run flake8 with the same configuration as the CI: flake8 scripts/ tests/ --select E303,W293,W291,W292,E305