大模型应用_AutoGPT

1 功能

  • 整体功能,想解决什么问题
    单独使用 ChatGPT 时,只提供基本的聊天,无法实现具体的功能,如果想提供某种功能,则需要结合程序实现。AutoGPT目标是建立和使用 AI Agent,设定一个或多个目标,AutoGPT自动拆解成相对应的任务,并派出 Agent 执行任务直到目标达成,无需编程。
  • 当前解决了什么问题,哪些问题解决不了
    形成了较为完善的整体流程。在解决具体问题过程中,还需要人的进一步参与,仅使用 GPT 和简单的交互,还是不足以解决一般情况下遇到的问题。
  • 提供哪些功能点,其中哪些是刚需
    建立Agent和整体调用流程是其核心功能。个人感觉这个工具并不求大而全,基本思路都是围绕其主功能扩展。除主功能以外,它还提供了:黑客马拉松,benchmark 基线 等功能,供二次开发者使用。
  • 用户使用难度,操作逻辑是否过于复杂
    使用 docker 方式运行比较简单,只需要设置env,基本上是开箱即用;使用其前端需要进一步设置。具体工作时,虽然都是文本交互,但还是需要一些学习成本。

2 技术栈

  • 技术栈是什么
    • 前端使用 Dart+Flutter 开发,修改其前端有一定学习成本。
    • Python 包管理使用 Poetry,依赖包在 pyproject.toml 中设置。
    • LLM主要支持 OPENAI 的 GPT,使用的 openai 的 api 也比较旧。
    • 部署使用 docker + docker-compose
    • 主循环入口:autogpt/autogpt/app/main.py
  • 现有底层工具消化了哪些常用功能
    • 对外部强依赖较少,在配置文件env中可查看其可选组件
  • 代码分析(使用cloc工具统计)
    • docker 大小 1.99G
    • 代码下载 304M,其中主要占空间的是 .git 和 benchmark/reports/
    • 代码量(不计 json 文件和生成的js),其中 Python 24032行,dart 4590行,即以 Python 代码为主,包含少量前端界面;代码量不小,Python代码难度不高。
    • 核心代码:aotogpt/autogpt/autogpt目录下的python文件;其中 core 目录内容相对比较多,它的目标是重构 autogpt,尚在开发之中。

3 商业模式

AutoGPT 首先提供了一个完整的架构和可用的全功能。但它不是一个已经把各种问题解决的很好,拿来就能用的具体工具。从当前版本看,它更像是一个以架构为主,提供平台,希望大家开发和调优专门解决具体问题的 agent。并提供展示和比较的平台(黑客马拉松:Hackathon),各种 benchmark 基线(排行榜:https://leaderboard.agpt.co/),评测,底层结构和基本工具。
鼓励大家基于其架构开发解决具体问题的 agent,从而建立一种以Agent为核心的用大模型解决具体问题的生态。

4 安装

4.1 build docker image
$ git clone 
$ cd AutoGPT/autogpts/autogpt
$ cp .env.template .env
$ vi .env # 至少修改 OPENAI_API_KEY, OPENAI_API_BASE_URL,建议修改 LLM 以节省费用
$ docker build --build-arg HTTP_PROXY=xxx --build-arg HTTPS_PROXY=xxx . -t auto-gpt
4.2 运行
$ docker run --rm --env-file .env -p 8000:8000 -e HTTPS_PROXY="xxx" -e HTTPS_PROXY="xxx" -it auto-gpt run
4.3 使用体会

如果上述安装运行正常,则出现提示,让用户输入项目描述,然后程序将工作划分为多个步骤,每一步与用户确认,在交互过程中执行。

5 资料

Document: https://docs.agpt.co/

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

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

相关文章

数据库——字段拆分与合并

一、GP或PostgreSQL 1.字段拆分成行 unnest(string_to_array(test, ,)) 例如某一字段值为"a,b,c,d",使用string_to_array将其拆分为数组,然后使用unnest将数组平铺成一张表 SELECT unnest(string_to_array(555,666,777, ,)) 2.字段拆分成列…

【EI征稿倒计时3天】第四届IEEE信息科学与教育国际学术会议(ICISE-IE 2023)

第四届IEEE信息科学与教育国际学术会议(ICISE-IE 2023) 2023 4th International Conference on Information Science and Education(ICISE-IE 2023) ICISE-IE2024已上线岭南师范学院官网(点击查看) 第四届IEEE信息科学与教育国…

双荧光素酶报告基因检测(五)

关于双荧光素酶报告基因检测中遇到的问题及解决措施 问题1:为什么要用荧光素酶实验来做检测,不用其他报告基因来做,GFP可以吗? 采用荧光素酶来做实验是由其自身的优势所决定的:(1)蛋白不需要翻…

@Transactional失效问题

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 关于Transactional 日…

解读 | 为什么有很多名人让人们警惕人工智能

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 这个话题总能引起很…

六、ZGC深度剖析

一、引言 对于Java 程序员来说,JVM 帮助我们做了很多事情。 JVM是虚拟机,能够识别字节码,就是class文件或者你打包的jar文件,运行在操作系统上。 JVM帮我们实现了跨平台,你只需要编译一次,就可以在不同的…

在线课堂知识付费小程序源码系统 开发组合PHP+MySQL:用手机随时随地地学习,讲师亲自在线授业解惑 带安装部署教程

近年来,人们对于学习的需求也日益增加。传统的课堂教学已经无法满足人们的学习需求,而在线课堂则能够让人们随时随地地进行学习。同时,随着知识付费的兴起,越来越多的讲师也愿意将自己的知识和经验分享给更多的人。因此&#xff0…

Mysql社区版日志审计插件

过去从Mysql官方自带general.log日志的相比其他插件性能是最差的,我们考虑参考行业中较好的插件是MariaDB Audit Plugin, 可惜并不兼容mysql 5.7与mysql 8.0以上版本。 采用github开源项目,该项目支持MySQL 5.7和MySQL 8.0两个分支。 https://github.c…

如何管理医疗设备用电?这才是最佳方法!

随着社会对可持续发展和环保的关注不断上升,蓄电池监控系统作为能源存储和管理的关键技术,正在崭露头角。 蓄电池监控系统不仅为能源行业带来了新的可能性,同时也为各个领域的能源使用者提供了更加智能、高效的解决方案。 客户案例 工业生产…

ansible部署安装Tomcat

我们需要用到的文件jdk以及tomcat安装包 下载链接:https://pan.baidu.com/s/1sjG8Yl8k-SUbOv7KwKXZMA 提取码:t71z 准备n台机器(我这里就简单部署三台机器) ansible的安装部署以及配置可以看博主之前的文章自动化运维工具-ansible部署 ansib…

建筑可视化数据大屏汇总,UI源文件(PC端大屏设计)

酷炫的大屏设计让数据更好的展现,方便业务人员分析数据,辅助领导决策。现在分享大屏Photoshop源文件,以下为部分截图示意。 划重点:文末可获得完整素材包~ 01 科技建筑平台数据可视化 02 建筑公司可视化数据汇总平台 03 深蓝…

计算机视觉-机器学习-人工智能 顶会会议召开地址

计算机视觉-机器学习-人工智能 顶会会议召开地址 最近应该要整理中文资料的参考文献,很多会议文献都需要补全会议地点(新国标要求)。四处百度感觉也挺麻烦的,而且没有比较齐全的网站可以搜索。因此自己整理了一下计算机视觉-机器…

JVM虚拟机系统性学习-对象存活判断算法、对象引用类型和垃圾清除算法

垃圾回收 在 JVM 中需要对没有被引用的对象,也就是垃圾对象进行垃圾回收 对象存活判断算法 判断对象存活有两种方式:引用计数法、可达性分析算法 引用计数法 引用计数法通过记录每个对象被引用的次数,例如对象 A 被引用 1 次&#xff0c…

c#面试基础语法——现有⼀个整数number,请写⼀个⽅法判断这个整数是否是2的N次⽅

1.number%20 取余(取模)只能判断number是不是2的倍数但不一定是2的N次方,如:6%20但是他并不是2的N次方 2.(number&(number-1))0 原理:如果number是2的N次方则表示2进制位只有一位是1。如:2 &#xff08…

多示例VS多标签VS多示例多标签-week2

一、多示例 多示例学习属于弱监督学习中的一种,在对模型进行训练时,我们需要把训练数据分成正负包,再将每个包分成大小相同的示例,并且我们只对包的正负进行标注,而不对示例进行分类。当某个包被标识为正时&#xff0c…

Java怎么实现动态代理?

Java怎么实现动态代理? Java中实现动态代理主要依赖于java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。动态代理可以用于在运行时创建代理类及其实例。以下是一个简单的动态代理示例: 首先,定义一个接口:…

Python常见面试知识总结(二):数据结构、类方法及异常处理

【十三】Python中assert的作用? Python中assert(断言)用于判断一个表达式,在表达式条件为 f a l s e false false的时候触发异常。 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃…

光伏设计方案:实现清洁能源的未来

随着全球气候变化和能源需求日益增长的问题日益严重,光伏发电作为一种清洁、可再生的能源形式,正逐渐成为全球能源转型的主力军。而在光伏发电技术的广泛应用中,一个优秀的光伏设计方案对于实现高效、稳定和安全的发电目标至关重要。 光伏设…

【项目管理】如何用思维导图做计划?

思维导图是一种可视化的思维工具,它可以让我们的思考过程变得很直观。它可以帮助我们考虑到计划的各个方方面面,确定各要素之间的关系。 思维导图总结功能很强,完成计划后,可以用思维导图进行总结,为下一次做计划积累…

Linux中tar命令详解

具体用法 tar命令是Linux中用于打包和压缩文件或目录的命令,常用于备份和归档。它可以将多个文件或目录打包成一个单一的文件,并可以选择是否压缩打包文件。 打包文件或目录 tar -cvf archive.tar file1 file2 directory1上面的命令将file1、file2和dir…