39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程

作者:Aitrainee | AI进修生

排版太难了,请点击这里查看原文:39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程

cover_image

39.1k Star ! Meta GPT:AI Agent 排名第一,第一家人工智能软件公司,迈向自然语言编程

原创 Aitrainee [ AI进修生 ](javascript:void(0)😉

AI进修生

微信号 AitraineeGPT

功能介绍 AI算法工程师 / Prompt工程师 / ROS机器人开发者 | 分享AI动态与算法应用资讯,提升技术效率。



Aitrainee | 公众号:AI进修生

MetaGPT:🌟 多Agent框架:第一家人工智能软件公司,迈向自然语言编程,MetaGPT的论文在 ICLR 2024 上被接受为oral报告(前
1.2%),在基于 LLM 的智能体类别中排名第一.

MetaGPT将一行需求作为输入,并输出 用户故事 / 竞争分析 / 需求 / 数据结构 / API / 文档 等。在内部,MetaGPT包括
产品经理 / 架构师 / 项目经理 / 工程师 。它提供了整个软件公司的流程,以及精心编排的标准操作程序(SOP)。

代码= SOP (团队) 是核心理念。我们实现SOP并将其应用于由LLM组成的团队。

一个软件公司由基于LLM的角色组成。

MetaGPT 最初是一家软件公司,但它的能力并不仅限于此。您可以在自己的场景中使用这个多代理框架来构建自己的应用程序。具体可以参考用例下的研究员。

快速入门和演示视频

官方演示视频

M atthew Berm an: 如何安装 MetaGPT - 只需一个提示即可创建一家初创公司!

数据解释器: DataInterpreter

什么是数据解释器

DataInterpreter是MetaGPT多个Agent中的一环。数据解释器是一个通过代码解决数据相关问题的代理。它了解用户需求,制定计划,编写执行代码,并在必要时使用工具。这些功能使其能够应对各种场景。请随意查看本文和下面的示例。

机器学习建模

官方演示了MetaGPT的数据解释器用于机器学习建模的两个例子

解决数学问题

用于DataInterpreter解决从数学数据集的 level5 级别中随机选择的数学问题。

收据OCR识别

基于paddle OCR生成工具代码,然后在利用大模型的语义理解

网页仿制

人 机交互

MetaGPT在进行项目创建、执行任务的途中,仍然可以接受人类的指令,进行人机交互

Researcher: 搜索网络和编写报告

与上面的数据解释器,类似的另外一个Agent是研究者,用户输入研究问题。

研究人员使用 GPT
生成一组研究问题,对任何给定任务形成客观意见。收到GPT分解后的问题后,研究人员针对每个研究问题通过搜索引擎进行搜索以获得初步搜索结果。使用浏览器获取
URL 检索网页内容并总结网页内容。整合所有汇总内容并跟踪其来源。

最后,指导GPT根据整合内容生成最终研究报告。以下是研究员角色架构的流程图

官方给出了一个代码示例:

python3 -m metagpt.roles.researcher "tensorflow vs. pytorch"

多个Agent

组合智能体的操作例子,比如斯坦福小镇,我的世界这些…

使 Docker 安

安装方面还是挺简单的,首先的话确保你安装了Docker,然后你需要修改一下config2.yaml来确保你选择基准的LLM模型。


# Step 1: Download metagpt official image and prepare config2.yamldocker pull metagpt/metagpt:latestmkdir -p /opt/metagpt/{config,workspace}docker run --rm metagpt/metagpt:latest cat /app/metagpt/config/config2.yaml > /opt/metagpt/config/config2.yamlvim /opt/metagpt/config/config2.yaml # Change the config  # Step 2: Run metagpt demo with containerdocker run --rm \    --privileged \    -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \    -v /opt/metagpt/workspace:/app/metagpt/workspace \    metagpt/metagpt:latest \    metagpt "Write a cli snake game"  # You can also start a container and execute commands in itdocker run --name metagpt -d \    --privileged \    -v /opt/metagpt/config/config2.yaml:/app/metagpt/config/config2.yaml \    -v /opt/metagpt/workspace:/app/metagpt/workspace \    metagpt/metagpt:latest  docker exec -it metagpt /bin/bashmetagpt "Write a cli snake game"

支持的模型api非常多,我使用了 gpt3.5和最新的LLama3 70B,获取API: 6种免费使用Llama3
70B的方法及英伟达提供的免费API接口调用!



我们可以在这个文件夹下找到config2.yaml

/opt/metagpt/config/

LLam3 70B是这样配置的:

获取Gpt3.5免费API: 利用免登录 ChatGPT Web 提供的无限制免费GPT-3.5-Turbo API 服务

在该文件夹下可以看到它生成的项目,我用它生成了贪吃蛇,还有时钟摆动的一些项目

/opt/metagpt/workspace/

如何建立自己的Agents?

智能体

学术界和工业界对术语“智能体”提出了各种定义。大致来说,一个智能体应具备类似人类的思考和规划能力,拥有记忆甚至情感,并具备一定的技能以便与环境、智能体和人类进行交互。

智能体 = 大语言模型(LLM) + 观察 + 思考 + 行动 + 记忆

这个公式概括了智能体的功能本质。为了理解每个组成部分,让我们将其与人类进行类比:

大语言模型(LLM):LLM作为智能体的“大脑”部分,使其能够处理信息,从交互中学习,做出决策并执行行动。

观察:这是智能体的感知机制,使其能够感知其环境。智能体可能会接收来自另一个智能体的文本消息、来自监视摄像头的视觉数据或来自客户服务录音的音频等一系列信号。这些观察构成了所有后续行动的基础。

思考:思考过程涉及分析观察结果和记忆内容并考虑可能的行动。这是智能体内部的决策过程,其可能由LLM进行驱动。

行动:这些是智能体对其思考和观察的显式响应。行动可以是利用 LLM
生成代码,或是手动预定义的操作,如阅读本地文件。此外,智能体还可以执行使用工具的操作,包括在互联网上搜索天气,使用计算器进行数学计算等。

记忆:智能体的记忆存储过去的经验。这对学习至关重要,因为它允许智能体参考先前的结果并据此调整未来的行动。

多智能体

多智能体系统可以视为一个智能体社会,其中

多智能体 = 智能体 + 环境 + 标准流程(SOP) + 通信 + 经济

这些组件各自发挥着重要的作用:

智能体:在上面单独定义的基础上,在多智能体系统中的智能体协同工作,每个智能体都具备独特有的LLM、观察、思考、行动和记忆。

环境:环境是智能体生存和互动的公共场所。智能体从环境中观察到重要信息,并发布行动的输出结果以供其他智能体使用。

标准流程(SOP):这些是管理智能体行动和交互的既定程序,确保系统内部的有序和高效运作。例如,在汽车制造的SOP中,一个智能体焊接汽车零件,而另一个安装电缆,保持装配线的有序运作。

通信:通信是智能体之间信息交流的过程。它对于系统内的协作、谈判和竞争至关重要。

经济:这指的是多智能体环境中的价值交换系统,决定资源分配和任务优先级。

一个例子

这是一个简单的例子,展示了智能体如何工作:

在环境中,存在三个智能体Alice、Bob和Charlie,它们相互作用。

他们可以将消息或行动的输出结果发布到环境中,同时也会被其他智能体观察到。

下面将揭示智能体Charlie的内部过程,该过程同样适用于Alice和Bob。

在内部,智能体Charlie具备我们上述所介绍的部分组件,如LLM、观察、思考、行动。Charlie思考和行动的过程可以由LLM驱动,并且还能在行动的过程中使用工具。

Charlie观察来自Alice的相关文件和来自Bob的需求,获取有帮助的记忆,思考如何编写代码,执行写代码的行动,最终发布结果。

Charlie通过将结果发布到环境中以通知Bob。Bob在接收后回复了一句赞美的话。

现在你对这些概念有了初步了解。随时进行下一步的学习,了解MetaGPT是如何为你构建智能体并为其动态提供框架支持的。

智能体实践

通过以下命令运行以及Colab笔记

python3 examples/build_customized_agent.py--msg "write a function that calculates the sum of a list"https://colab.research.google.com/drive/1SF3bJiDjKw6Xwnz2Rf0j8Hc0U4KsSB2L?usp=sharing

参考链接

https://github.com/geekan/MetaGPT

https://docs.deepwisdom.ai/main/zh/guide/get_started/configuration/llm_api_configuration.html

https://docs.deepwisdom.ai/main/en/guide/get_started/installation.html#install-
with-docker

https://docs.deepwisdom.ai/main/zh/guide/tutorials/concepts.html

** 点这里 👇 关注我,记得标星哦~ **

**
**

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

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

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

相关文章

账号安全及应用

一、账号安全控制 1.1系统账号清理 将用户设置为无法登陆 锁定账户 删除账户 设定账户密码,本质锁定 锁定配置文件-chattr: -a 让文件或目录仅供附加用途。只能追加 -i 不得任意更动文件或目录。 1.2密码安全控制 chage 1.3历史命令 history&am…

【Java框架】SpringMVC(二)——SpringMVC数据交互

目录 前后端数据交互RequestMapping注解基于RequestMapping注解设置接口的请求方式RequestMapping注解的常用属性一个方法配置多个接口method属性params属性headers属性consumes属性produces属性 SpringMVC中的参数传递默认单个简单参数默认多个简单参数默认参数中有基本数据类…

验证二叉搜索树(98)

解题思路:可以直接中序遍历放进一个数组里根据特性判断是否是递增就可以,如果采用递归的思路话用中序遍历和创建一个指针指向前一个节点,根据前一个节点是否比上一个节点小来判断是否是二叉树 具体代码如下: class Solution { …

使用gdal均匀筛选点矢量

使用gdal均匀筛选点矢量 作用: 通过计算各点之间的欧式距离,筛选出符合目标的、均匀发布在空间中的N个数据点。 效果示意图 运行环境 python 3.10 安装:tqdm、numpy和tqdm这三个库 完整代码 import numpy as np from osgeo import ogr,…

[柏鹭杯 2021]试试大数据分解?

题目:(NSSCTF | 在线CTF平台) 题目就是如此,我没看到有5个不同的文本,其中最后一个文本以pem后缀,所以我们先来了解一下什么是pem格式。 PEM 格式 PEM格式通常用于数字证书认证机构(Certifica…

【MySQL】SQL优化

SQL优化 插入数据 insert 一次插入数据和批量插入数据 insert into tb_test (id, name) values (1,Tom); insert into tb_test (id, name) values (1,Tom),(2,Jack),(3,Jerry);优化方案: 手动控制事务,且按主键顺序插入。start transaction; insert …

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程

我独自升级崛起怎么下载 一文分享我独自升级崛起游戏下载教程 我独自升级:崛起是一款由韩国漫画改编而成的热门多人网络在线联机游戏,这款游戏是一款的角色扮演类型游戏,游戏有着独一无二的剧情模式。小伙伴们在游戏中可以体验到独特的成长系…

哈希表详解

目录 1.unordered系列关联式容器 2.哈希 3.unordered_map和unordered_set哈希实现 4.代码总和 1.unordered系列关联式容器 1.1unordered系列 c98的STL里面提供了底层为红黑树的关联式容器(set和map); 但是在结点数目很多的时候查询的效率就低了, 所以c11里STL又提供了四个…

SFP、SFP+、SFP28 与 QSFP28 收发器之间的差异:兼容性和性能

近年来,网络技术发展迅速,因此,计算专业人员面临着越来越令人困惑的术语和缩写词。 管理数据中心时必须了解的一个关键领域是收发器,特别是 SFP (1550nm/1310nm)、SFP (850nm) 和 QSFP28 (4x25G) 之间的差异。 这些型号在兼容性方…

绿联 安装Tomcat服务器

绿联 安装Tomcat服务器以及反代说明 1、tomcat版本 镜像名,根据项目决定选择哪个版本以及对应的JDK tomcat8.x.x: tomcat:8-jdk8 tomcat:8-jdk11 tomcat:8-jdk17 tomcat:8-jdk21 tomcat9.x.x: tomcat:9-jdk8 tomcat:9-jdk11 tomcat:9-jdk17 …

扫描工具nmap

介绍 说到黑客,知识就是力量。您对目标系统或网络的了解越多,可用的选项就越多。因此,在进行任何利用尝试之前,必须进行适当的枚举。 假设我们获得了一个 IP(或多个 IP 地址)来执行安全审计。在我们做任何…

《自动机理论、语言和计算导论》阅读笔记:p261-p314

《自动机理论、语言和计算导论》学习第 10 天,p261-p314总结,总计 48 页。 一、技术总结 1.generating & reachable 2.Chomsky Normal Form(CNF) 乔姆斯基范式。 3.pumping lemma 泵作用引理。引理:引理是数学中为了取得某个更好的…