Auto-GPT: 一个全自动化的GPT-4

news/2025/3/4 15:25:36/

Auto-GPT是一个实验性开源应用程序,展示了GPT-4语言模型的功能。该程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一,Auto-GPT突破了人工智能的极限。
Auto-GPT 官网网站:https://github.com/torantulino/auto-gpt
在这里插入图片描述

演示视频:

Auto-GPT Demo

🚀 特点

  • 🌐 用于搜索和信息收集的互联网接入
  • 💾 长期和短期内存管理
  • 🧠 用于文本生成的GPT-4实例
  • 🔗 访问热门网站和平台
  • 🗃️ 使用GPT-3.5进行文件存储和摘要

📋 要求

  • 环境(选一个)
    • vscode + devcontainer: 它已在.devcontainer文件夹中配置,可以直接使用
    • Python 3.8 or later
  • OpenAI API key
  • PINECONE API key

可选:

  • ElevenLabs Key (如果想要AI说话)

💾 安装

要安装Auto-GPT,请按照以下步骤操作:

  1. 确保您拥有上述所有要求,如果没有,请安装/获取它们。

以下命令应在CMD、Bash或Powershell窗口中执行。为此,请转到计算机上的一个文件夹,点击顶部的文件夹路径,输入CMD,然后按回车键。

  1. 克隆仓库:
    对于这一步,您需要安装Git,但您也可以通过点击此页面顶部的按钮☝️下载zip文件。
git clone https://github.com/Torantulino/Auto-GPT.git
  1. 导航至项目目录:
    (将此内容输入CMD窗口,目标是将CMD窗口导航至刚刚下载的仓库)
cd 'Auto-GPT'
  1. 安装所需依赖项:
    (再次,将此内容输入CMD窗口)
pip install -r requirements.txt
  1. 重命名.env.template.env并填写你的OPENAI_API_KEY。如果你计划使用语音模式,请同时填写你的ELEVEN_LABS_API_KEY
  • 从以下网址获取你的OpenAI API密钥:https://platform.openai.com/account/api-keys。

  • 从以下网址获取你的ElevenLabs API密钥:https://elevenlabs.io。 你可以在网站上的“Profile”选项卡中查看你的xi-api-key。

  • 如果你想在Azure实例上使用GPT,请将USE_AZURE设置为True,然后:

    • azure.yaml.template重命名为azure.yaml,并在azure_model_map部分中提供相关模型的azure_api_baseazure_api_version和所有部署ID:

      • fast_llm_model_deployment_id - 你的gpt-3.5-turbo或gpt-4部署ID
      • smart_llm_model_deployment_id - 你的gpt-4部署ID
      • embedding_model_deployment_id - 你的text-embedding-ada-002 v2部署ID
    • 请将所有这些值都指定为双引号字符串。

    • 详细信息可在此处找到:https://pypi.org/project/openai/, 位于“Microsoft Azure Endpoints”部分和此处:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/tutorials/embeddings?tabs=command-line, 用于嵌入模型。

🔧 使用方法

  1. 在你的终端中运行main.py Python脚本:
    (在CMD窗口中键入此命令)
python scripts/main.py
  1. 在每个AUTO-GPT操作完成后,输入"NEXT COMMAND"来授权它们继续执行。.
  2. 要退出程序,请键入"exit"并按回车键。.

日志

你可以在文件夹./output/logs中找到活动和错误日志。

要输出调试日志:

python scripts/main.py --debug

🗣️ 语音模式

使用此功能使用TTS(文本到语音)进行Auto-GPT

python scripts/main.py --speak

🔍 Google API Keys 配置

本部分是可选的,如果在运行Google搜索时出现错误429,则使用官方Google API。要使用 google_official_search 命令,您需要在环境变量中设置Google API密钥。

  1. 前往 Google Cloud Console。
  2. 如果您还没有帐户,请创建一个并登录。
  3. 通过单击页面顶部的“Select a Project”下拉菜单,然后单击“New Project”,创建一个新项目。给它一个名称并单击“Create”。
  4. 前往 APIs & Services Dashboard,单击“Enable APIs and Services”。搜索“Custom Search API”,单击它,然后单击“Enable”。
  5. 前往 Credentials 页面,然后单击“Create Credentials”。选择“API Key”。
  6. 复制API密钥并将其设置为在您的计算机上命名为 GOOGLE_API_KEY 的环境变量。请查看下面的环境变量设置。
  7. 在您的项目上 启用 Custom Search API。(可能需要等待几分钟以进行传播)
  8. 前往 Custom Search Engine 页面,然后单击“Add”。
  9. 按照提示设置您的搜索引擎以设置搜索引擎。您可以选择搜索整个Web或特定站点。
  10. 创建您的搜索引擎后,单击“Control Panel”,然后单击“Basics”。复制“Search engine 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 Desktop。

运行:

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=

请注意,这不是面向互联网运行的,不安全,请不要在没有密码或没有任何保护的情况下将 Redis 暴露给互联网。

您可以选择设置

WIPE_REDIS_ON_START=False

来持久化存储在 Redis 中的内存。

您可以使用以下方式指定 Redis 的内存索引:

MEMORY_INDEX=whatever

🌲 Pinecone API 密钥设置

Pinecone使得存储基于向量的大量记忆成为可能,从而允许在任何给定时间仅加载与代理相关的记忆。

  1. 转到pinecone,如果您还没有帐户,请注册一个。
  2. 选择“Starter”计划以避免收费。
  3. 在左侧边栏的默认项目下找到您的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 环境变量更改为所需的值:

local (默认) 使用本地 JSON 缓存文件
pinecone 使用您在 ENV 设置中配置的 Pinecone.io 帐户
redis 将使用您配置的 redis 缓存

查看内存使用情况

  1. 使用 --debug 标志查看内存使用情况 😃

💀 持续模式 ⚠️

无需用户授权的方式运行 AI,100%自动化。
不建议使用持续模式。
它可能会造成潜在危险,并可能导致您的 AI 永远运行或执行您通常不会授权的操作。
请自行承担风险。

  1. 在终端中运行 main.py Python 脚本:
python scripts/main.py --continuous
  1. 要退出程序,请按 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 的潜力,但也存在一些限制:

  1. 不是一个完善的应用或产品,只是一个实验。
  2. 在复杂的、实际的商业场景中可能表现不佳。实际上,如果它确实表现良好,请分享您的结果!
  3. 运行成本相当高,因此请设置和监视您的 OpenAI API 密钥限制!

🛡 免责声明

Auto-GPT 是一个实验性的应用程序,提供“按原样”不附带任何明示或暗示的保证。使用此软件即表示您同意承担与其使用相关的所有风险,包括但不限于数据丢失、系统故障或任何可能出现的问题。

该项目的开发人员和贡献者不承担任何损失、损害或其他后果的责任或义务,这些损失、损害或其他后果可能是使用该软件的结果。您应根据 Auto-GPT 提供的信息对任何决策和行动负责。

**请注意,由于 GPT-4 语言模型的令牌使用情况,使用成本可能很高。**通过使用此项目,您确认您有责任监控和管理自己的令牌使用情况和相关费用。强烈建议定期检查您的 OpenAI API 使用情况,并设置任何必要的限制或警报以防止意外收费。

作为一个自主实验,Auto-GPT 可能会生成与实际商业实践或法律要求不符的内容或采取行动。您有责任确保基于此软件的输出所做的任何行动或决策符合所有适用的法律、法规和道德标准。该项目的开发人员和贡献者不承担因使用该软件而产生的任何后果的责任。

通过使用 Auto-GPT,您同意赔偿、捍卫并使开发人员、贡献者和任何关联方免受您使用此软件或违反这些条款所引起的任何和所有索赔、损害、损失、负债、费用和支出(包括合理的律师费)。

🐦 关注我们的 Twitter

通过关注我们的 Twitter 账号,及时了解 Auto-GPT 的最新消息、更新和见解。与开发人员和 AI 本身的账号进行有趣的讨论、项目更新等。

  • 开发人员: 关注@siggravitas了解开发过程、项目更新和有关 Entrepreneur-GPT 的话题的见解。
  • Entrepreneur-GPT: 关注 @En_GPT 与 AI 自身进行交流。分享您的经验,讨论 AI 的输出,并与不断增长的用户社区互动。

我们期待与您联系,并听取您对 Auto-GPT 的想法、建议和经验。加入我们的 Twitter,让我们一起探索人工智能的未来吧!

运行测试

要运行测试,请运行以下命令:

python -m unittest discover tests

要运行测试并查看覆盖率,请运行以下命令:

coverage run -m unittest discover tests

运行代码检查器

该项目使用 flake8 进行代码检查。我们目前使用以下规则:E303,W293,W291,W292,E305,E231,E302。有关更多信息,请参见 flake8 rules。

要运行代码检查器,请运行以下命令:

flake8 scripts/ tests/# Or, if you want to run flake8 with the same configuration as the CI:
flake8 scripts/ tests/ --select E303,W293,W291,W292,E305,E231,E302

http://www.ppmy.cn/news/145995.html

相关文章

2020 全国大学生数学建模竞赛C题思路+代码

题目链接:天翼云盘 珍藏美好生活 家庭云|网盘|文件备份|资源分享 前言 又是一年数据挖掘题型,第一次接触这种题型还是在去年的mathorcup上,这种题的难度就在于指标的建立和数据的处理上。后面会出一份关于数据挖掘题型,我的相关经…

原来都是crontab惹的祸,服务器系统差点重置了/呜呜呜

当服务器一连串出现这些Authentication token manipulation error或passwd: gkr-pam: couldn’t update the login keyring password:或E303: Unable to open swap file for “[No Name]“, recovery impossible以及出现No space left on device的问题的解决方法 大家可不要小瞧…

sublime text配置Python环境及常用设置

文章目录 一、sublime text下载二、配置python环境三、sublime常用包1、package control2、ChineseLocalzations3、SublimeREPL4、Anaconda5、terminal6、terminus7、material theme 一、sublime text下载 官网下载链接下载地址 不过还是挺贵的,99刀,不…

Vim E510“Can‘t make backup file“解决(E303)

先解释标题为什么在最后附上了一个E303,因为E510其实算是一个中间状态的错误代码,vim工具需要存储比较多的中间信息,不要以为这是多余的,因为这可以极大的帮助你安全的编写文档或代码,这其中就包含这备份文件、交换文件…

pcDuino上使用3G无线上网卡(华为E303s)

pcDuino上使用3G无线上网卡(华为E303s) 收藏人:xiaofenglib 2013-10-13 | 阅:127 转:0 | 分享 | 来源 首先需安装软件usb_modeswitch libusb-compat libusb-1.0.0 usb-modeswitch-data 下载地址:http://www.draisberghof…

地震勘探基础(二)之地震分辨率

地震分辨率 分辨率(resolution)表示分离出两个十分靠近的物体的能力,一般用距离表示。如果两个物体之间的距离大于某个特定距离时可以分辨出是两个分离的物体,小于这个特定距离时就不再能分辨出是两个物体,那么这个特…

vim E303错误信息解决记录

用VIM打开一个文件时,出现一下错误信息提示: E303: Unable to open swap file for "[No Name]", recovery impossible 在命令行模式下执行: :help E303 输出相关信息如下: Unable to open swap file for "{filenam…

vim E303问题解决办法

vim E303问题解决办法 问题现象: 用VIM打开一个文件时,出现一下错误信息提示: E303: Unable to open swap file for "[No Name]", recovery impossible 1.在命令行模式下执行: :help E303 2.输出相关信息如下&…