玩转ChatGPT:Auto-GPT项目部署与测评

news2024/12/24 2:34:44

一、Auto-GPT简介

最近,以ChatGPT为代表的超大规模语言模型火出了圈,各种二次开发项目也是层出不穷。

这周在AI圈炸街的是Auto-ChatGPT,在GitHub上已经61.4K的点赞了。

项目地址:https://github.com/Torantulino/Auto-GPT

用项目的原话介绍:“Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的能力。这个程序由GPT-4驱动,自主地开发和管理企业,以增加净值。作为GPT-4完全自主运行的第一个示例之一,Auto-GPT推动了AI的可能性边界。

小Chat是我们的得力助手,但在使用它完成任务的时候,我们需要使用“咒语”来唤醒它的神奇力量。如果你输入的“咒语”不够合适,小Chat就会抗拒你,然后你只能继续寻找合适的“咒语”,直到小Chat心情好为止。但如果你成功施展了合适的“咒语”,小Chat就会跟你打成一片,愉快地回答你的问题。接下来,你只需要不断使用“咒语”向它提问,直到你完成了任务。这个过程,叫做“人在回路”,熟悉不,这个概念就是在《流浪地球2》的彩蛋中,MOSS跟图恒宇说的:“基于对丫丫意识进行人在回路的学习,balabala”

那么,作为一个成熟的通用人工智能(Artificial General Intelligence,AGI),TA应该学会自己做迭代思考,从而达到最终地目的。比如说,导师问你:“Mp1p蛋白有什么作用?”,作为一个成熟地科研狗,你大概率就会去百度、谷歌、Pubmed找相关文献资料,然后自己出个一二三条。

而这就是Auto-GPT项目想要做的:让人工智能能够像人类一样,通过自我迭代思考来完成任务。因此它具有如下特性:

(1)接入互联网:得会上网,能够通过搜索和信息收集获取各种知识。

(2)长短期内存管理:得有好的记忆力,能够对重要的信息进行长期存储,同时也能快速访问短期内存,方便及时处理任务。

(3)GPT-4文本生成:还需要有文笔,能够使用GPT-4生成高质量的文本,如文章、邮件等。

(4)访问流行网站和平台:要像人类一样,了解最新的时事和热门话题,就必须知道访问哪些流行的网站和平台。

(5)GPT-3.5文件管理:最后,还得会整理文件,像GPT-3.5一样,能够高效地进行文件存储和管理。

二、Auto-GPT部署

先说明部署的必备条件:

  1. 网络通畅;
  2. 有小Chart的账号(因为要用到OpenAI的API Key),不需要PLUS账号;
  3. 安装Python 3.8以上(我的是基于Anaconda环境)。

以上,缺一不可。

可选项目:

  1. PINECONE的API Key(记忆功能);
  2. GOOGLE_API_KEY和CUSTOM_SEARCH_ENGINE_ID(接入谷歌引擎);

第一步 下载项目

(a)这个简单,直接去项目的网址进行下载即可: “Code”——“Download ZIP”

(b)解压到一个路径,最好是全英文的路径,比如我的是:E:\Auto-GPT\Auto-GPT-master-0415;

第二步 安装python依赖库

(a)项目需要的依赖库,都在这个名为“requirements.txt”的文件夹里了,打开看,共是26个

(b)记得先安装Anaconda,打开Anaconda Prompt (anaconda),输入代码:

conda create -n gptac_venv python=3.9 #生成一个名为gptac_venv的环境,我的python版本是3.9

注释:这里用旧图了,跟之前一样的步骤

这里选y;

这样就是安装成功了。

(c)进入新建立的环境,输入代码:

conda activate gptac_venv

注释:这里用旧图了,跟之前一样的步骤

可以看到,前面括号的base变成了gptac_venv也就是从基础环境(base)切换到了我们刚新建的新环境(gptac_venv),接下来就在这个新环境里面安装依赖库。

(d)安装依赖库,首先把路径切换到之前存项目的路径:E:\Auto-GPT\Auto-GPT-master-0415,操作就是:

输入“e:”——回车,进入到E盘——输入“cd E:\Auto-GPT\Auto-GPT-master-0415”——回车,搞定;

注意:我装autogpt环境是jet_gpt哈,上面之所以是gptac_venv,是因为懒,用的旧图。

接着输入代码:

python -m pip install -r requirements.txt

回车开始安装。

需要安装的东西很多,个人经验:跟网速有关,我是开魔法的。

安装成功的话,全程白字没有报错。要是有红字报错,各位八仙过海各显神通吧。

第三步 配置OPENAI_API_KEY

(a)确保网络通畅(最重要);

(b)OpenAI API Key 生成,进入网址,登陆账号:

https://platform.openai.com/account/api-keyshttps://platform.openai.com/account/api-keys

点击“Create new secret key”——弹出窗口——复制出你的Key。

(c)找到项目文件中的.env.template文件,改名为.env文件,并用记事本打开项目文件的,填入你的API KEY:

注意:这里的API不需要双引号:“”。

第四步 配置PINECONE_API_KEY

(a)确保网络通畅(最重要);

(b)Pinecone API Key 生成,进入网址,注册,登陆账号:

Vector Database for Vector Search | PineconeThe #1 vector database. Search through billions of items for similar matches to any object, in milliseconds. It’s the next generation of search, an API call away.https://login.pinecone.io/

点击“API key”——弹出窗口;

 复制出你的PINECONE_API_KEY(Vaule)和PINECONE_ENV(Environment);

分别填入.env文件:

第四步 配置GOOGLE搜索引擎

这里主要需要填入2个东西:GOOGLE_API_KEY以及CUSTOM_SEARCH_ENGINE_ID。

(a)确保网络通畅(最重要);

(b)Googel API Key 生成,进入网址,注册,登陆账号:

https://console.cloud.google.com/welcome?project=high-unity-383319&pli=1https://console.cloud.google.com/welcome?project=high-unity-383319&pli=1

(c)创造一个无组织的最新项目:

 (d)输入 custom search api,之后选 管理 > 凭据 > 创建凭据 > API密钥

 

 (e)这个就是GOOGLE_API_KEY然后来看USTOM_SEARCH_ENGINE_ID 的ID:

(a)确保网络通畅(最重要);
(b)CUSTOM_SEARCH_ENGINE_ID 生成,进入网址:

https://programmablesearchengine.google.com/about/https://programmablesearchengine.google.com/about/

(c)CUSTOM_SEARCH_ENGINE_ID 生成,进入网址:

(d)复制好CUSTOM_SEARCH_ENGINE_ID。

 最后,打开.env文件,输入GOOGLE_API_KEY以及CUSTOM_SEARCH_ENGINE_ID: 

第五步 运行程序

还是打开刚才的Anaconda Prompt (anaconda),切换到新建的环境,以及项目路径:输入代码:

python -m autogpt --gpt3only

回车!

 出现了绿色字welcome back 就是成功了!

简单用法:给AI取名字 > 设置任务 > 设置任务目标(最多5个)> 程序运行 >  每一步用y、n等指令指挥AutoGPT。

三、Auto-GPT测评

(1)设置目标

Name: JET-GPT

Role: A mycologist with a focus on disseminated fungal infections

Goals: Introduce the research progress of fungal Mp1p protein

简单来说就是帮我简单介绍真菌Mp1p蛋白的研究进展。由于我之前运行过了,这里它自动调取上次的程序,输入y继续运行即可:

(2)程序思考过程:

 用谷歌翻译展示一下:

TA会自己进行任务拆分,首先,去谷歌搜索!!

我们输入y,让TA进行下一步:

 TA去找文献了,还进行了分析:

读出了一些信息: 

 然后TA自己分析了这个方法不太好:“由于我的短期记忆力有限,因此启动受过文本摘要训练的 GPT 代理将减轻我的工作量并节省我的时间”,然后如何解决:“我应该启动一个 GPT 代理来帮助我生成我从网站上收集的有关 Mp1p 蛋白的信息摘要。 为此,我可以使用“start_agent”命令。”

 再运行一次后,给出了一些总结:

好像不太对,给它继续自我反思试一试:TA好像想到了我是想看真菌的Mp1p:

接着他继续上网找文献,然后发现读取不了文献的信息:“此模型的最大上下文长度为 4097 个标记”,没办法GPT3.5的限制。然后只能从TA已知的知识中提取信息,有可能是现编的。

到此为止,我就让TA停下来了。

总结:虽然结果不太理想,但是过程确实让人眼前一亮,毕竟处于初级阶段,而且我只能调用GPT3.5,未来提升的空间还是很大的。

四、几点注意事项

(1)关于不能联网

据说,需要在.env文件中,把这个8000改成4000。江湖传闻,供参考。

 (2)关于API Key的费用

据说,调用OpenAI Key是收费的,新注册账号,至少赠送5美元,用完就无了。

我跑了这一次花费如下,一共是0.13美元,差不多1块钱,成本还是很高的。

所以大家玩归玩,注意这是一个烧钱的过程哈!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/432777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

命令设计模式(Command Pattern)[论点:概念、组成角色、相关图示、示例代码、框架中的运用、适用场景]

文章目录概念组成角色相关图示示例代码框架中的运用适用场景概念 命令设计模式(Command Pattern)是一种行为设计模式,它将请求的操作封装为一个对象,从而实现请求者和执行者之间的解耦。这样,请求者只需要知道如何发送…

Darknet19详细原理(含tensorflow版源码)

Darknet19原理 Darknet19是一个轻量级的卷积神经网络,用于图像分类和检测任务。 它是YOLOv2目标检测算法的主干网络,它的优点在于具有较少的参数和计算量,在计算速度和精度之间取得了良好的平衡,同时在训练过程中也具有较高的准确…

MobileNetV1详细原理(含torch源码)

目录 MobileNetV1原理 MobileNet V1的网络结构如下: 为什么要设计MobileNet: MobileNetV1的主要特点如下: MobileNetV1的创新点: MobileNetV1源码(torch版) 训练10个epoch的效果 MobileNetV1原理 Mo…

玩转ChatGPT:中科院ChatGPT Academic项目部署与测评

一、ChatGPT Academic简介 最近,以ChatGPT为代表的超大规模语言模型火出了圈,各种二次开发项目也是层出不穷。 比如说今天我们玩弄的这个“ChatGPT Academic”,在GitHub上已经13.7K的点赞了。 项目地址:https://github.com/bina…

因为这5大工具,同事直呼我时间管理小王子

写在前面 关于时间管理、如何做计划、如何提高执行力等等相关话题其实很早之前我就想写了,但一直拖着迟迟没有动笔。 在之前的一篇文章里我曾详细聊过自己对于时间管理,如何提高执行力,以及如何摆脱那种没有灵魂的任务计划的一些思考和做法…

【C语言】深度理解指针(中)

前言✈ 上回说到,我们学习了一些与指针相关的数据类型,如指针数组,数组指针,函数指针等等,我们还学习了转移表的基本概念,学会了如何利用转移表来实现一个简易计算器。详情请点击传送门:【C语言…

Windows 下安装和使用Redis

Redis 一般安装在Linux中, 但有时出于学习和其他目的,需要在Windows机器运行Redis, 本篇介绍如果在Windows中运行和使用Redis。 关于Redis的基本介绍可以参考: Redis介绍、安装与初体验 Windows 下Redis的下载 可…

【NestJs】日志收集

Nest 附带一个默认的内部日志记录器实现,它在实例化过程中以及在一些不同的情况下使用,比如发生异常等等(例如系统记录)。这由 nestjs/common 包中的 Logger 类实现。你可以全面控制如下的日志系统的行为: 完全禁用日…

jenkins windows安装 部署项目 前端 后端

安装 需要安装的程序: 1.下载jenkins windows版本 2.400 此版本需要jdk11 https://www.jenkins.io/ 按着提示安装即可 2.下载jdk 11 https://login.oracle.com/ 按着提示安装即可 部署pc 1.新建项目 2.源码管理 3.添加git用户 4.Build Steps 构建 初始化np…

vue2数据响应式原理(2)搭建webpack认识一下Object.defineProperty

在1中我们讲到 Object.defineProperty() 是vue2实现数据响应的关键 那么我们就来好好的看看这个方法 方法字面意思是定义属性 而他是通过Object对象调用的 所以说 他是用来控制对象的某个属性的 比较官方的解释是 object.defineProperty() 方法会直接在一个对象上定义一个新属…

单片机添加版本号的一些小技巧

平时我们写程序,通常都会备注软件版本,那么,怎么在单片机中保存版本信息呢? 方法其实有很多,但基本原理都是在指定存储区域(Flash)中写入软件版本信息。 实现方法 下面就分享一个最常用&#xf…

算法风险防控

算法风险防控是指在算法应用过程中,通过对算法应用场景、数据、模型和结果等多个方面的风险进行评估和控制,以保障算法应用的安全性、可靠性和合法性。以下是一些常见的算法风险防控措施: 数据风险防控:在算法应用中,…

【python】Python基础入门:从变量到异常处理

天池实验室代码链接:https://tianchi.aliyun.com/notebook-ai/home#notebookLabId491001 简介 Python 是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了…

51单片机定时器与计数器

文章目录 51单片机定时器与计数器一、定时器与计数器的结构与功能计数功能定时功能 二、定时器与计数器的控制TMOD 工作方式寄存器TCON 定时器控制寄存器 三、仿真案例(一).8个LED 1 秒周期闪烁。(二) 产品包装生产线。 51单片机定时器与计数器 一、定时器与计数器的结构与功能…

ESP32设备驱动-BMP388气压传感器驱动

BMP388气压传感器驱动 文章目录 BMP388气压传感器驱动1、BMP388介绍2、硬件准备3、软件准备4、驱动实现1、BMP388介绍 BMP388 是一款非常小巧、低功耗和低噪声的 24 位绝对气压传感器。 它可以实现精确的高度跟踪,特别适合无人机应用。 BMP388 在 0-65C 之间的同类最佳 TCO,…

港联证券|AI概念板块无死角杀跌,主题炒作熄火后资金会流向哪些板块?

ChatGPT概念指数大跌7%,单日跌幅创历史之最。 4月10日,炒作逾月的ChatGPT概念板块团体大跌,云从科技(688327.SH)、三六零(601360.SH)、科大讯飞(002230.SZ)等热门股跌停&…

集中式版本控制工具 —— SVN

一、简介 1️⃣ SVN 是什么? 代码版本管理工具他能记住每次的修改查看所有的修改记录恢复到任何历史版本恢复已经删除的文件 2️⃣ SVN 与 Git 相比有什么优势? 使用简单、上手快目录级权限控制,企业安全必备子目录 Checkout,…

RK3568平台开发系列讲解(Linux系统篇)文件系统的读写

🚀返回专栏总目录 文章目录 一、文件IO1.1、文件 IO read()1.2、文件 IO write()二、系统调用层和虚拟文件系统层三、ext4 文件系统层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起学习 read 和 write 调用过程。 一、文件IO 1.1、文件 IO read() rea…

openLdap2.4.44的安装部署

openLdap2.4.44的安装部署 一、安装 1.从yum源拉取 yum install -y openldap openldap-clients openldap-servers 2.复制DB到指定目录 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 3.给目录授权 (如果没有ldap ,可…

定时任务框架快速入门

一、Quartz 1. Quartz 概述 Quartz 是一个开源的作业调度框架(job scheduler),几乎可以集成到任何 Java 应用程序中,从最小的独立应用程序到最大的电子商务系统。Quartz 可用于创建简单或复杂的调度来执行数十个、数百个甚至数万个作业;其任务…