ChatGPT流程自动化操作扩展插件
Auto-GPT 是一个实验性的开源应用程序,展示了 GPT-4 语言模型的能力。这个程序由 GPT-4 驱动,将 LLM“思考”串联在一起,以自主实现您设置的任何目标。作为 GPT-4 完全自主运行的首个示例之一,Auto-GPT 推动了人工智能所能实现的界限。
🚀 功能
- 🌐 可以访问互联网进行搜索和信息收集
- 💾 长期和短期记忆管理
- 🧠 使用 GPT-4 实例进行文本生成
- 🔗 可以访问流行的网站和平台
- 🗃️ 使用 GPT-3.5 进行文件存储和摘要
📋 要求
- Python 3.8 或更高版本
- OpenAI API 密钥
- PINECONE API 密钥
可选项:
- ElevenLabs 密钥(如果您想让 AI 说话)
GitHub
项目开源地址:Significant-Gravitas/Auto-GPT
Docker
在安装部署之前,您需要安装Docker应用,关于Docker的安装教程请参阅如下文章。
部署教程
如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键
后,在弹出的新窗口内输入CMD并按下回车,打开CMD窗口,按顺序执行如下的每一条命令。
首先我们需要确认一个工作目录,用来存放Auto-GPT的相关文件。本站所选择的目录为D盘的根目录下openai.wiki文件夹,完整路径为:D:\openai.wiki。
1.检测D盘是否在openai.wiki,没有则创建该文件夹。
if not exist D:\openai.wiki mkdir D:\openai.wiki
2.执行如下命令,进入openai.wiki文件夹。
cd /d D:\openai.wiki
3.拉取Github仓库文件夹,将下载至openai.wiki文件夹。
git clone https://github.com/Torantulino/Auto-GPT.git
注意:如果您无法完成第3步,执行后报错或者无法下载,可以下载该文件将其解压至D:\openai.wiki即可。
3.强制切换工作路径为D盘的openai.wiki\Auto-GPT
文件夹。
cd /d D:\openai.wiki\Auto-GPT
环境安装
为不影响电脑中的现有环境,请一定要安装Conda,如果您不知道什么是Conda,或者未安装过Conda,请参考如下文章,安装部署Conda之后再继续以下步骤。
在CMD中执行下面的命令行,创建Conda虚拟环境至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。
conda create -p D:\openai.wiki\Auto-GPT\ENV python=3.11
执行完成上面的命令之后,将会在CMD窗口中看到Proceed ([y]/n)?
提示,我们直接按下回车即可。
初始化Conda环境,避免后续可能报错。
conda init cmd.exe
激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。
conda activate D:\openai.wiki\Auto-GPT\ENV
执行如下命令,安装环境依赖。
pip install -r requirements.txt
在您确定已安装Docker之后,双击桌面的Docker图标,然后在CMD窗口中执行如下命令:
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
配置API_KEY和代理设置
将.env.template
重命名为.env
,并填写您的信息。
您也可以执行如下命令,将会自动重命名该文件。
ren D:\openai.wiki\Auto-GPT\.env.template .env
您也可以执行如下命令,将会自动打开该文件。
start D:\openai.wiki\Auto-GPT\.env
配置信息
在您打开配置文件之后,您将会看到如下内容,本站已经为您添加了每一行内容的注释信息,可以让您更好的理解每一行配置的作用。
# Pinecone数据库 PINECONE_API_KEY=your-pinecone-api-key # 您的Pinecone API密钥 PINECONE_ENV=your-pinecone-region # 您的Pinecone环境(例如:us-west1) # openAI部分 OPENAI_API_KEY=your-openai-api-key # 您的OpenAI API密钥 # 如果您需要语音模式,需要修改以下3个属性。 ELEVENLABS_API_KEY=your-elevenlabs-api-key # 您的Eleven Labs API密钥 ELEVENLABS_VOICE_1_ID=your-voice-id # Eleven Labs API中第一个语音合成模型的ID ELEVENLABS_VOICE_2_ID=your-voice-id # Eleven Labs API中第二个语音合成模型的ID # 模型模式设置 SMART_LLM_MODEL=gpt-4 # 智能模式下使用的语言模型(例如:gpt-4) FAST_LLM_MODEL=gpt-3.5-turbo # 快速模式下使用的语言模型(例如:gpt-3.5-turbo) # 搜索引擎设置 GOOGLE_API_KEY= # 您的Google API密钥(用于某些操作) CUSTOM_SEARCH_ENGINE_ID= # 您的自定义搜索引擎ID # 如果不是Azure用户,可以忽略以下部分。 USE_AZURE=False # 是否使用Azure部署 OPENAI_AZURE_API_BASE=your-base-url-for-azure # Azure API的基本URL OPENAI_AZURE_API_VERSION=api-version-for-azure # Azure API版本号 OPENAI_AZURE_DEPLOYMENT_ID=deployment-id-for-azure # Azure的部署ID OPENAI_AZURE_CHAT_DEPLOYMENT_ID=deployment-id-for-azure-chat # Azure的聊天部署ID OPENAI_AZURE_EMBEDDINGS_DEPLOYMENT_ID=deployment-id-for-azure-embeddigs # Azure的嵌入式部署ID IMAGE_PROVIDER=dalle # 用于生成图像的模型提供者(例如:dalle) HUGGINGFACE_API_TOKEN= # 您的Hugging Face API令牌 USE_MAC_OS_TTS=False # 是否在Mac OS上使用内置的文本到语音功能 MEMORY_BACKEND=local # 存储回话数据的后端(例如:local或redis)
Pinecone
类别 | 描述 |
---|---|
级别 | 可选配置项,不配置此部分内容也可以正常使用。 |
功能 | 使用Pinecone可实现文本向量化,Pinecone作为向量数据存储,来提供语义化搜索。 |
官网 | Vector Database for Vector Search | Pinecone |
🌲 Pinecone API 密钥设置 Pinecone 能够存储大量基于向量的内存,从而使代理程序在任何给定时间只加载相关的记忆。
请按以下步骤操作:
- 前往 app.pinecone.io,如果您还没有账号,请创建一个。
- 选择
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
local
(默认) 使用本地 JSON 缓存文件 使用您在 ENV 设置中配置的Pinecone.io账户。
使用您配置的 redis 缓存:pinecone
redis
查看内存使用情况
通过使用标志--debug
查看内存使用情况。
openAI API
类别 | 描述 |
---|---|
级别 | 必须配置,否则无法正确使用。 |
功能 | 用于与收发ChatGPT进行交互的接口,所以您必须拥有openAI的API密钥。 |
官网 | https://platform.openai.com/account/api-keys |
ElevenLabs
类别 | 描述 |
---|---|
级别 | 可选配置项,不配置此部分内容也可以正常使用。 |
功能 | 用于进行语音交互,如果您不需要此功能可以跳过。 |
官网 | https://elevenlabs.io 您可以使用网站上的“个人资料”选项卡查看您的 xi-api-key |
Google API
如果在运行 Google 搜索时遇到错误 429,请使用官方的 Google API。
要使用该命令,您需要在环境变量中设置您的 Google API 密钥:google_official_search
。
类别 | 描述 |
---|---|
级别 | 可选配置项,不配置此部分内容也可以正常使用。 |
功能 | 解决Google搜索时,可能会遇到错误代码429的问题。 |
官网 | https://console.cloud.google.com |
教程
- 转到谷歌云控制台。
- 如果您还没有帐户,请创建一个帐户并登录。
- 通过单击页面顶部的“选择项目”下拉菜单并单击“新建项目”来创建新项目。给它一个名字,然后单击“创建”。
- 转到 API 和服务仪表板,然后单击
启用 API 和服务
。搜索“自定义搜索API”并单击它,然后单击启用
。 - 转到凭据页面,然后单击
创建凭据
。选择API 密钥
。 - 复制 API 密钥并将其设置为计算机上命名的环境变量。
- 转到自定义搜索引擎页面,然后单击
添加
。 - 按照提示设置搜索引擎。您可以选择搜索整个网站或特定网站。
- 创建搜索引擎后,单击
控制面板
,然后单击基本信息
。复制搜索引擎 ID
并将其设置为计算机上命名的环境变量。请参阅下面的设置环境变量。CUSTOM_SEARCH_ENGINE_ID
注意:您的免费每日自定义搜索配额最多只允许 100 次搜索。要增加此限制,您需要为项目分配一个计费帐户,每日最多可以使用10K的搜索量。
设置环境变量
Windows 用户【以管理员方式打开CMD执行如下命令】:
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"
Azure
类别 | 描述 |
---|---|
级别 | 可选,如果您在Azure云服务器上使用 GPT,请将USE_AZURE 设置为True 。 |
功能 | 微软GPT云服务器,如果您通过API自行部署了云服务器,可配置此部分内容。 |
教程 | OPENAI_AZURE_API_BASE :Azure API的基本URL。OPENAI_AZURE_API_VERSION :Azure API版本号。OPENAI_AZURE_DEPLOYMENT_ID :Azure的部署ID。OPENAI_AZURE_CHAT_DEPLOYMENT_ID :Azure的聊天部署ID。OPENAI_AZURE_EMBEDDINGS_DEPLOYMENT_ID :Azure的嵌入式部署ID。您还需要为嵌入式和聊天功能分别设置单独的部署。 将其ID值分别添加到 OPENAI_AZURE_CHAT_DEPLOYMENT_ID 和OPENAI_AZURE_EMBEDDINGS_DEPLOYMENT_ID 。 |
官网 | https://pypi.org/project/openai/ |
使用教程
运行测试
若要运行测试,请运行以下命令:
python -m unittest discover tests
若要运行测试并查看覆盖范围,请运行以下命令:
coverage run -m unittest discover tests
Run Linter
该项目使用 flake8 进行棉绒。要运行 linter,请运行以下命令:
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
GPT4模式
如果您是的API拥有GPT4权限,那么可以直接执行如下代码。
python scripts/main.py
GPT3.5模式
如果您无法访问 GPT4 的 API,此模式将允许您使用自动 GPT!
python scripts/main.py --gpt3only
建议将虚拟机用于需要高安全措施的任务,以防止对主计算机的系统和数据造成任何潜在损害。
自动化设定
在您成功启动Auto-GPT之后,将会看到如下提示:
# 原文 (D:\openai.wiki\Auto-GPT\ENV) D:\openai.wiki\Auto-GPT>python scripts/main.py Welcome back! Would you like me to return to being Entrepreneur-GPT? Continue with the last settings? Name: Entrepreneur-GPT Role: an AI designed to autonomously develop and run businesses with the sole goal of increasing your net worth. Goals: ['Increase net worth.', 'Develop and manage multiple businesses autonomously.', 'Play to your strengths as a Large Language Model.'] Continue (y/n): # 中文 欢迎回来!您想让我重新变成“Entrepreneur-GPT”吗? 继续使用上次的设置吗? 名称:Entrepreneur-GPT 角色:一种人工智能,旨在自主开发和运营企业,唯一的目标是增加您的净值。 目标:['增加净值。','自主开发和管理多个企业。','发挥您作为大型语言模型的优势。'] 继续(y/n):
我们这里按下n
键,然后按回车
即可。
# 原文 Continue (y/n): n Welcome to Auto-GPT! Enter the name of your AI and its role below. Entering nothing will load defaults. Name your AI: For example, 'Entrepreneur-GPT' AI Name: # 中文 继续(y/n):n 欢迎使用Auto-GPT!请在下面输入您的人工智能名称和角色。不输入任何内容将加载默认值。 为您的AI命名:例如,“Entrepreneur-GPT” AI名称:
这里需要我们输入一个AI名称,名称为openai.wiki
。
# 原文 AI Name: openai.wiki openai.wiki here! I am at your service. Describe your AI's role: For example, 'an AI designed to autonomously develop and run businesses with the sole goal of increasing your net worth.' openai.wiki is: # 中文 AI名称:openai.wiki openai.wiki 准备就绪!我将为您服务。 请描述您的 AI 角色,例如“旨在自主开发和运营企业,唯一的目标是增加您的净值。” openai.wiki 的角色是:
设置一个角色名称,本文以openai.wiki来命名。
# 原文 openai.wiki is: 一个有利于文章内容优化的编辑 Enter up to 5 goals for your AI: For example: Increase net worth, Grow Twitter Account, Develop and manage multiple businesses autonomously' Enter nothing to load defaults, enter nothing when finished. Goal 1: # 中文 openai.wiki is: 一个有利于文章内容优化的编辑 为您的 AI 输入最多 5 个目标:例如:增加净资产、增加 Twitter 帐户、自主开发和管理多个业务' 不输入任何内容以加载默认值,完成后不输入任何内容。 目标 1:
这里我们输入5个目录,如果您的目标不足5个,可以直接留空。
Goal 1: 总结180个字的文章摘要 Goal 2: 自动汇总近3天关于AI的所有热门新闻 Goal 3: 将所有新闻自动整理成文章 Goal 4: 每一篇文章都给出一个比较吸引人的标题 Goal 5:
在我们输入4个目标之后,按下回车。
# 原文 Using memory of type: LocalCache OPENAI.WIKI THOUGHTS: Let's start by summarizing the latest AI news from the past three days to see if there are any interesting insights or trends. REASONING: Staying up-to-date with the latest developments in AI is critical for staying relevant as an AI editor. PLAN: - Use a Google search to find the latest AI news. - Scrape the news articles and automatically generate an article of our own - Analyze the news for trends and insights to identify possible themes. CRITICISM: None Attempting to fix JSON by finding outermost brackets Apparently json was fixed. NEXT ACTION: COMMAND = google ARGUMENTS = {'input': 'latest AI news'} Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for openai.wiki... Input:y # 中文 使用内存类型:LocalCache OPENAI.WIKI THOUGHTS:让我们从总结过去三天的最新 AI 新闻开始,看看是否有任何有趣的见解或趋势。 推理:了解 AI 的最新发展对于作为 AI 编辑保持相关性至关重要。 计划: - 使用谷歌搜索查找最新的 AI 新闻。 - 抓取新闻文章并自动生成我们自己的文章 - 分析新闻的趋势和见解,以确定可能的主题。 批评:无 尝试通过查找最外层的括号来修复 JSON 显然 json 是固定的。 下一步行动: COMMAND = google ARGUMENTS = {'input': 'latest AI news'} 输入'y'授权命令,'y -N'运行N个连续命令,'n'退出程序,或者输入openai.wiki的反馈... 输入:y
根据上面的内容提示,我们直接按下Y键
授权并输入回车即可。
图像生成
默认情况下,Auto GPT 使用 DALL-e 生成图像。若要使用SD,需要一个HuggingFace的API令牌。
获得令牌后,编辑.env
文件。
IMAGE_PROVIDER=sd HUGGINGFACE_API_TOKEN="YOUR_HUGGINGFACE_API_TOKEN"
⚠️局限性
该实验旨在展示 GPT-4 的潜力,但有一些限制:
- 这个实验旨在展示 GPT-4 的潜力,但也有一些限制:
- 它不是一个完善的应用程序或产品,只是一个实验;
- 在复杂的实际业务场景中可能表现不佳。实际上,如果它真的表现出色,请分享你的结果!
- 运行成本相当高,所以请设置并监控 OpenAI 的 API 限制!
🛡免責聲明
免責聲明 此项目Auto-GPT是一个实验性应用程序,按“原样”提供,没有任何明示或暗示的保证。使用此软件,即表示您同意承担与其使用相关的所有风险,包括但不限于数据丢失、系统故障或可能出现的任何其他问题。
对于因使用本软件而可能发生的任何损失、损害或其他后果,本项目的开发人员和贡献者不承担任何责任或义务。您对根据自动 GPT 提供的信息做出的任何决定和采取的任何行动负全部责任。
请注意,由于其令牌使用,使用 GPT-4 语言模型可能很昂贵。通过使用此项目,您承认您有责任监控和管理您自己的代币使用情况和相关成本。强烈建议定期检查您的 OpenAI API 使用情况,并设置任何必要的限制或警报,以防止意外费用。
作为自主实验,Auto-GPT 可能会生成不符合实际业务惯例或法律要求的内容或采取的操作。您有责任确保基于本软件输出做出的任何操作或决策符合所有适用的法律、法规和道德标准。本项目的开发者和贡献者对因使用本软件而产生的任何后果概不负责。
使用 Auto-GPT,即表示您同意就因您使用本软件或违反这些条款而导致的任何和所有索赔、损害、损失、责任、成本和费用(包括合理的律师费)对开发者、贡献者和任何关联方进行赔偿、辩护并使其免受损害。
请教站长,autoGPT的输出是英中双语是如何设置的啊?我的只有英文输出,没有中文。
请问我运行后怎么测试运行的结果?
这一步打开文件
start D:\openai.wiki\Auto-GPT\.env
我没有关联的应用打开ENV文件
是用记事本打开嘛,不应该呀。
python又不能打开它。有点迷糊了
@meifannao 用记本事就可以哦,只要能编辑文本文件的都可以,只不过后缀是env,其实本质上就是txt而已。
@PhiltreX 好的谢谢,解决了,后面打开都是使用RUN,就都和教程一样
@meifannao 不客气哈
@PhiltreX 我输入问题之后,他就一直thinking,是要一直等着嘛,感觉他会思考很久的样子
@meifannao emmmm,这个和网速有关系,如果你的网络和api.openai.com延迟比较大,那么就会thinking比较久。
请教站长 应该怎么更新
@nEMO 通过cmd窗口cd到你的auto-gpt目录,然后输入
git pull
即可。求问大大 我看到别人可以直接使用autogpt在pycharm或者其他ide里直接生成代码(自己写进文件里)
视频链接如下:https://twitter.com/i/status/1645087016823173124
请问这种是怎么实现的
@WhyuUlose 我现在在ide打开不会自己写 只会一直让我yes
@WhyuUlose 这个我看不到实际内容很难判断了
@WhyuUlose 视频中所使用的并不是PyCharm,而是VS Code,你如果想实现这样的效果,直接使用VS Code打开main.py,Python环境在右下角选择你Conda所设置的虚拟环境路径即可,运行后和视频中的效果一样。
@PhiltreX 那旁边的那个预览窗是怎么调出来的呀 谢谢大大
@whyulose 那是一个VS Code的插件,可以实时预览网页界面效果,应该是叫
Live Server
。我跑了好几遍都没整明白autogpt最后把内容输出到哪里了?
PLAN:
– Explore adding language detection support to allow multi-lingual image text recognition.\\n- Examine the feasibility of creating a web application that would allow multiple users to upload images for OCR text recognition.
CRITICISM: Exploring and integrating these features would have implications for the overall complexity and may require more time to ensure that the program is optimized for performance and user experience.Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.NEXT ACTION: COMMAND = task_complete ARGUMENTS = {‘reason’: ‘OCR has been processed efficiently, and accuracy has been verified.’}
Enter ‘y’ to authorise command, ‘y -N’ to run N continuous commands, ‘n’ to exit program, or enter feedback for PictoEx…
Input:y-=-=-=-=-=-=-= COMMAND AUTHORISED BY USER -=-=-=-=-=-=-=
Shutting down…PS
提示我任务完成 但是生成的代码呢?
站长,请问为什么按照教程部署下来之后内存类型更换为pinecone之后还是显示的local?
@azkkk 还需要在系统环境变量内添加关于pinecone的相关信息,不然系统找不到。
@PhiltreX 我也出现了一样的问题,请问具体应该添加啥呀。
@PhiltreX 无论设置什么 几个内存模式只有填写local才可以打开 api什么的都填写了
站长好!我完成了前面的环境配置、Pinecone API、OpenAI API导入步骤(OpenAI API经其他网站测试可用)。出现以下问题:
在测试python -m unittest discover tests步骤时,没有输出,直接就跳出另一个命令行了;
运行测试并查看覆盖范围时,显示Ran 14 tests in 0.003s OK
运行python scripts/main.py 或者python scripts/main.py –gpt3only则没有反应
这个该怎么解决呢?
@中文组成 API没问题的,但是在网站中能用是因为别人已经搭建好了网站外网环境,你的本地CMD可能没有继承代理设置。
@PhiltreX 本篇教程中,关于代理设置的内容是那部分呢?是Azure相关吗?或者如何解决这个代理问题呢?
@中文组成 代理部分内容过于敏感,本站不提供哈。
(D:\openai.wiki\Auto-GPT\ENV) D:\openai.wiki\Auto-GPT\ENV>pip install -r requirements.txt
ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘requirements.txt’
(D:\openai.wiki\Auto-GPT\ENV) D:\openai.wiki\Auto-GPT\ENV>
如上,pip install -r requirements.txt报错怎么处理?
@小草 你现在在ENV目录下,找不到requirements.txt。你应该执行
cd /d D:\openai.wiki\Auto-GPT
,然后pip install -r requirements.txt
。你好,站长,我前面都设置好了,为什么测试不行,
运行python -m unittest discover tests显示
Ran 47 tests in 5.046s
FAILED (errors=9, skipped=3)
运行coverage run -m unittest discover tests显示
D:\openai.wiki\Auto-GPT>coverage run -m unittest discover tests
‘coverage’ is not recognized as an internal or external command,
operable program or batch file.
运行python scripts/main.py显示
D:\openai.wiki\Auto-GPT>python scripts/main.py
python: can’t open file ‘D:\openai.wiki\Auto-GPT\scripts\main.py’: [Errno 2] No such file or directory
@无望 没能 找到Python脚本,你的路径应该是输入错了的。
文章里自带的项目地址是chatgpt_academic的,不是auto-gpt
@9841 因为站长在编写时,复制了上一篇内容进行修改,所以疏忽了。
感谢勘误,已修正。