https://github.com/Significant-Gravitas/Auto-GPT
在安装之前,你需要确保本地已安装好 Python 开发环境。
Auto-GPT 具体安装步骤如下:
一定要用以下语句拉项目stable ,不然会产生问题并且不稳定
git clone -b stable --single-branch https://github.com/Significant-Gravitas/Auto-GPT.git
进入我的目录E:\BaiduSyncdisk\GitHub\Auto-GPT
Administrator@SK-20220921HIOD MINGW64 /e
$ cd BaiduSyncdisk\GitHub
bash: cd: BaiduSyncdiskGitHub: No such file or directory
Administrator@SK-20220921HIOD MINGW64 /e
$ cd BaiduSyncdisk
Administrator@SK-20220921HIOD MINGW64 /e/BaiduSyncdisk
$ cd GitHub
Administrator@SK-20220921HIOD MINGW64 /e/BaiduSyncdisk/GitHub
$ git clone -b stable --single-branch https://github.com/Significant-Gravitas/Auto-GPT.git
Cloning into 'Auto-GPT'...
remote: Enumerating objects: 5489, done.
remote: Total 5489 (delta 0), reused 0 (delta 0), pack-reused 5489
Receiving objects: 100% (5489/5489), 1.59 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (3712/3712), done.
cd 'Auto-GPT'
使用 pip 安装项目依赖:
pip install -r requirements.txt
重命名 .env.template 文件:
mv .env.template .env
打开目录中的 .env 文件,找到 OPENAI_API_KEY ,填入你的 OpenAI API Key。
API Key 可以在 OpenAI 官网生成:https://platform.openai.com/account/api-keys
一切准备工作就绪,开始运行 Auto-GPT:
python -m autogpt
正常来说,如果你上面几步没有操作失误,那么现在项目是可能正常运行的。
如果出现不能运行的原因,那大概率是命令行工具没有设置好代理。
命令运行成功后,系统会提示你输入 AI 名称、角色任务、任务目标。
AI 名称和角色任务,可以根据你自己的需求来取。
这里比较重要的,是 5 个任务目标,设定的目标是否清晰明确,直接决定了任务的执行质量。
除了上述功能之外,你还可以配置 Pinecone 来存储向量内容,使用 ElevenLabs 让 AI 在执行任务的时候开口说话,使用 Google API 突破每日信息搜索限制等等。
玩法众多,可探索的空间也非常大,但要真正掌握,需要不少时间。
stable
master
使用此信息优先于所提供的任何其他信息,并应相应地遵循。
我们的工作流程已得到改进,但请注意, master
分支可能经常处于一种破碎的状态。请从此处下载最新 stable
版本:https://github.com/Torantulino/Auto-GPT/releases/latest.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EeWXmvyK-1681878897309)(null)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N5Scm7AL-1681878897781)(null)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9fJhbnmq-1681878900047)(null)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FS3VISVJ-1681878898150)(null)]
Auto-GPT 是一个实验性的开源应用程序,展示了 GPT-4 语言模型的功能。这个程序由 GPT-4 驱动,将法学硕士的“思想”链接在一起,以自主实现你设定的任何目标。作为 GPT-4 完全自主运行的第一个例子,Auto-GPT 突破了人工智能的极限。
https://user-images.githubusercontent.com/22963551/228855501-2f5777cf-755b-4407-a643-c7299e5b6419.mp4
如果你能腾出一杯咖啡,你就可以帮助支付开发自动 GPT 的成本,并帮助推动完全自主人工智能的边界。非常感谢你的支持,这个免费的开源项目的开发是由所有的贡献者和赞助商促成的。如果你想赞助这个项目,并让你的头像或公司标志出现在下面,请点击这里。
master
stable
](#–urgent-use-stable-not-master–)可选:
要安装 Auto-GPT,请按照下列步骤操作:
_ 要执行以下命令,请打开 cmd、bash 或 PowerShell 窗口,方法是导航到计算机上的文件夹并在顶部键入 CMD
文件夹路径,然后按 Enter._
git clone https://github.com/Torantulino/Auto-GPT.git
cd Auto-GPT
pip install -r requirements.txt
/Auto-GPT
文件夹中找到名为 .env.template
的文件。创建此文件的副本,通过删除 template
扩展名来调用 .env
。最简单的方法是在命令提示符/终端窗口 cp.env.template.env
中执行此操作,并在文本编辑器中打开 .env
文件。注意:以点开头的文件可能会被你的操作系统隐藏。找到写着 OPENAI_API_KEY=
。之后 "="
,输入你唯一的 OpenAI API 密钥(不带任何引号或空格)。输入你想要使用的服务的任何其他 API 密钥或令牌。保存并关闭 ".env"
文件。通过完成这些步骤,你已经为项目正确配置了 API 密钥。请参阅OpenAI API 密钥配置获取 OpenAI API 密钥。
获取你的 ElevenLabs API 密钥:https://elevenlabs.io. 你可以使用网站上的“配置文件”选项卡查看你的 Xi-API 密钥。
如果要在 Azure 实例上使用 GPT,请设置 USE_AZURE
为 True
,然后按照下列步骤操作:
azure.yaml.template
azure.yaml
, azure_api_version
并为部分中 azure_model_map
的相关模型提供相关 azure_api_base
的所有部署 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# Replace string in angled brackets (<>) to your own ID
azure_model_map:
fast_llm_model_deployment_id: ""
...
Microsoft Azure Endpoints
部分和这里:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/tutorials/embeddings?tabs=command-line 对于嵌入模型。autogpt
Python 模块python -m autogpt
y
y -N
n
活动和错误日志位于 ./output/logs
要打印调试日志,请执行以下操作:
python -m autogpt --debug
你也可以将其构建到 Docker 映像中并运行它:
docker build -t autogpt .
docker run -it --env-file=./.env -v $PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt
你可以传递额外的参数,例如,使用 --gpt3only
AND --continuous
模式运行:
docker run -it --env-file=./.env -v $PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt --gpt3only --continuous
以下是运行 auto-GPT 时可以使用的一些常用参数:
将尖括号( <> )中的任何内容替换为要指定的值
python -m autogpt --help
python -m autogpt --ai-settings <filename>
local
、 redis
pinecone
或 no_memory
python -m autogpt --use-memory <memory-backend>
注意:其中一些标志有速记,例如
-m
--use-memory
。使用python -m autogpt --help
了解更多信息
使用此选项可将 TTS_(文字转语音)_用于自动 GPT
python -m autogpt --speak
从以下https://platform.openai.com/account/api-keys.位置获取 OpenAI API 密钥:
要将 OpenAI API 密钥用于 Auto-GPT,你需要设置计费(即付费帐户)。
你可以在以下位置https://platform.openai.com/account/billing/overview.设置付费帐户
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2iKWygCT-1681878896742)(./docs/imgs/openai-api-key-billing-paid-account.png)]
此部分是可选的,如果你在运行 Google 搜索时遇到错误 429 的问题,请使用官方 Google API.要使用该 google_official_search
命令,你需要在环境变量中设置 Google API 密钥。
GOOGLE_API_KEY
的环境变量。请参阅下面的设置环境变量。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"
默认情况下,Auto-GPT 将使用 LocalCache 而不是 Redis 或 Pinecone.
要切换到其中之一,请将 MEMORY_BACKEND
env 变量更改为所需的值:
local
(默认)使用本地 JSON 缓存文件pinecone
使用你在环境设置中配置的 pinecone.io 帐户redis
将使用你配置的 Redis 缓存milvus
将使用你配置的 MILVUS 缓存weaviate
将使用你配置的 Weaviate 缓存__小心
这不是为了公开访问,并且缺乏安全措施。因此,避免在没有密码或根本没有密码的情况下将 Redis 暴露在互联网上
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
有关设置密码和其他配置的信息,请参阅https://hub.docker.com/r/redis/redis-stack-server 。
在尖括号( <> )中替换密码
MEMORY_BACKEND=redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=<PASSWORD>
你可以选择设置
WIPE_REDIS_ON_START=False
Redis 中存储的持久化内存
你可以使用以下方法为 Redis 指定内存索引:
MEMORY_INDEX=<WHATEVER>
Pinecone 支持存储大量基于矢量的内存,允许在任何给定时间只为代理加载相关内存。
Starter
计划以避免被收费。在 .env
文件集中:
PINECONE_API_KEY
PINECONE_ENV
(示例:“US-EAST4-GCP ”)MEMORY_BACKEND=pinecone
或者,你可以从命令行设置它们(高级):
对于 Windows 用户:
setx PINECONE_API_KEY ""
setx PINECONE_ENV "" # e.g: "us-east4-gcp"
setx MEMORY_BACKEND "pinecone"
对于 MacOS 和 Linux 用户:
export PINECONE_API_KEY=""
export PINECONE_ENV="" # e.g: "us-east4-gcp"
export MEMORY_BACKEND="pinecone"
Milvus是一个开源的、高度可扩展的向量数据库,用于存储大量的向量内存,并提供快速的相关搜索。
MILVUS_ADDR
.env
到你的米尔维斯地址 host:ip
。MEMORY_BACKEND
.env
为 milvus
以启用 MILVUS 作为后端。.env
设置 MILVUS_COLLECTION
以根据需要更改 MILVUS 集合名称, autogpt
是默认名称。Weaviate是一个开源的矢量数据库。它允许存储来自 ML 模型的数据对象和向量嵌入,并无缝地扩展到数十亿个数据对象。可以在本地(使用 Docker)、Kubernetes 或使用 Weaviate 云服务创建 Weaviate 实例。尽管仍处于试验阶段,但嵌入编织支持允许 Auto-GPT 进程本身启动 Weaviate 实例。要启用它,请将设置 USE_WEAVIATE_EMBEDDED
为 True
并确保 pip install "weaviate-client>=3.15.4"
。
在 .env
文件中,设置以下内容:
MEMORY_BACKEND=weaviate
WEAVIATE_HOST="127.0.0.1" # the IP or domain of the running Weaviate instance
WEAVIATE_PORT="8080"
WEAVIATE_PROTOCOL="http"
WEAVIATE_USERNAME="your username"
WEAVIATE_PASSWORD="your password"
WEAVIATE_API_KEY="your weaviate API key if you have one"
WEAVIATE_EMBEDDED_PATH="/home/me/.local/share/weaviate" # this is optional and indicates where the data should be persisted when running an embedded instance
USE_WEAVIATE_EMBEDDED=False # set to True to run Embedded Weaviate
MEMORY_INDEX="Autogpt" # name of the index to create for the application
--debug
标志查看内存使用情况:)用法:数据 _ 接收.py[-H] (-file 文件 |-dir 目录) [-init][-overlap 重叠][–最大 _ 长度最大 _ 长度]
将一个文件或包含多个文件的目录载入内存。请确保在运行此脚本之前设置.env.
选项:
-H,-help 显示此帮助消息并退出-file 要接收的文件。-dir 包含要接收的文件的目录。-init 内存并擦除其内容(默认值:false)-overlap 接收文件时区块之间的重叠大小(默认值:200)-Max_ 长度 Max_ 长度接收文件时每个区块的最大 _ 长度(默认值:4000)
此脚本位于 autogpt/data_ 处理.py,允许你将文件处理到内存中,并在运行 auto-GPT 之前对其进行预播种。
记忆预播是一种技术,涉及将相关文档或数据摄取到 AI 的记忆中,以便它可以使用这些信息来生成更明智和准确的响应。
为了预植入内存,每个文档的内容都被分割成指定最大长度的块,块之间有指定的重叠,然后每个块都被添加到.env 文件中的内存后端设置中。当人工智能被提示回忆信息时,它可以访问这些预先播种的记忆,以产生更明智和准确的反应。
这项技术在处理大量数据或人工智能需要快速访问特定信息时特别有用。通过预先播种内存,人工智能可以更有效地检索和使用这些信息,从而节省时间、API 调用并提高其响应的准确性。
例如,你可以下载 API、GitHub 存储库等的文档。并在运行 auto-GPT 之前将其接收到内存中。
⚠如果你使用 Redis 作为内存,请确保在文件 .env
中 False
设置 WIPE_REDIS_ON_START
为的情况下运行 Auto-GPT.
对于其他内存后端,我们目前在启动 Auto-GPT 时强制擦除内存。要使用这些内存后端接收数据,你可以在自动 GPT 运行期间随时调用 data_ingestion.py
脚本。
即使在自动 GPT 运行时被摄取,记忆也会在被摄取时立即提供给 AI.
在上面的示例中,脚本初始化内存,将目录中的 /seed_data
所有文件接收到内存中,块之间的重叠为 200,每个块的最大长度为 4000. 请注意,你还可以使用 --file
参数将单个文件接收到内存中,并且脚本将只接收目录中 /auto_gpt_workspace
的文件。
你可以调整 max_length
和重叠参数,以微调当 AI “调用”该内存时将文档呈现给 AI 的方式:
max_length
值将创建更多的块,这可以通过在上下文中允许更多的消息历史记录来节省提示标记,但也会增加块的数量。max_length
值将为 AI 提供来自每个块的更多上下文信息,减少创建的块的数量,并节省 OpenAI API 请求。然而,这也可能使用更多的提示标记,并减少 AI 可用的整体上下文。运行 AI没有用户授权,100% 自动化。不建议使用连续模式。它有潜在的危险,可能会导致你的 AI 永远运行或执行你通常不会授权的操作。使用风险自负。
autogpt
Python 模块:python -m autogpt --speak --continuous
如果你无法访问 GPT4 API,此模式将允许你使用自动 GPT!
python -m autogpt --speak --gpt3only
建议将虚拟机用于需要高安全措施的任务,以防止对主计算机的系统和数据造成任何潜在危害。
默认情况下,Auto-GPT 使用 DALL-E 生成映像。为了使用稳定扩散,需要 A拥抱脸 API 令牌。
有了令牌后,请在中 .env
设置这些变量:
IMAGE_PROVIDER=sd
HUGGINGFACE_API_TOKEN="YOUR_HUGGINGFACE_API_TOKEN"
sudo Xvfb :10 -ac -screen 0 1024x768x24 & DISPLAY=:10 <YOUR_CLIENT>
该实验旨在展示 GPT-4 的潜力,但也有一些限制:
免责声明:本项目(Auto-GPT)是一个实验性应用程序,按“原样”提供,不提供任何明示或暗示的担保。使用本软件,即表示你同意承担与其使用相关的所有风险,包括但不限于数据丢失、系统故障或可能出现的任何其他问题。
本项目的开发者和贡献者对因使用本软件而可能发生的任何损失、损害或其他后果不承担任何责任或义务。你对根据 Auto-GPT 提供的信息做出的任何决定和采取的任何行动承担全部责任。
**请注意,由于其令牌的使用,使用 GPT-4 语言模型可能是昂贵的。**通过使用此项目,你确认你有责任监控和管理自己的令牌使用情况和相关成本。强烈建议定期检查你的 OpenAI API 使用情况,并设置任何必要的限制或警报,以防止意外收费。
作为一项自主实验,Auto-GPT 可能会生成内容或采取不符合实际业务实践或法律要求的操作。你有责任确保根据本软件的输出所做的任何操作或决定符合所有适用的法律、法规和道德标准。本项目的开发者和贡献者对因使用本软件而产生的任何后果概不负责。
通过使用 Auto-GPT,你同意对开发者、贡献者和任何关联方因你使用本软件或违反这些条款而产生的任何及所有索赔、损害、损失、责任、成本和费用(包括合理的律师费)进行赔偿、辩护并使其免受损害。
通过关注我们的 Twitter 帐户,及时了解有关 Auto-GPT 的最新新闻、更新和见解。与开发人员和 AI 自己的帐户进行有趣的讨论、项目更新等。
我们期待着与你联系,并听取你对 Auto-GPT 的想法、意见和经验。加入我们的 Twitter,让我们一起探索人工智能的未来!
要运行测试,请运行以下命令:
python -m unittest discover tests
要运行测试并查看覆盖率,请运行以下命令:
coverage run -m unittest discover tests
该项目用于flake8拉毛。我们目前使用以下规则: E303,W293,W291,W292,E305,E231,E302
。有关详细信息,请参阅Flake8 规则。
要运行 linter,请运行以下命令:
flake8 autogpt/ tests/
# Or, if you want to run flake8 with the same configuration as the CI:
flake8 autogpt/ tests/ --select E303,W293,W291,W292,E305,E231,E302