大模型构建合作性的Agent,多代理框架MetaGpt

大模型构建合作性的Agent,多代理框架MetaGpt

前言

MetaGPT 框架将标准的操作程序(SOP)与基于大模型的多智能体相结合,使用标准操作程序来编码提示,确保协调结构化和模块化输出。

MetaGPT 允许 Agent 在类似流水线的范式中扮演多中角色,通过结构化的 Agent 协作和强化领域特定专业知识来处理复杂任务,以提高在协作软件工程任务中解决方案的连贯性和正确性。

可能小伙伴们还很陌生,不太明白具体它能做什么,我下面通过具体例子详细来介绍分析一下。

我们以软件公司举例,我们拥有老板,产品经理,架构师,项目经理,工程师和测试角色。

每个角色各司其职处理复杂的任务,MetaGPT 就像是模仿了这些角色,通过一些需求,它可以输出用户故事,竞争分析,需求,数据结构,API,文档等。

然后 MetaGPT 通过精心安排来模拟软件公司的流程,它的核心理念就是 Code = SOP(Team),将 SOP 具体化应用于由大模型组建的团队。

  • 老板为项目设定需求,
  • 产品经理负责编写和修订产品需求文档,
  • 架构师负责编写和修订设计,审查产品需求文档和代码,
  • 项目经理编写任务,分配任务,审查产品需求文档,设计和代码,
  • 工程师编写代码,调试代码,
  • 测试工程师进行测试,确保软甲质量。

MetaGpt 描述的这个合作环境中,每个角色都为项目开发和完成作出贡献。

下面我们从头开始进入 MetaGPT

1.MetaGPT安装

pip install metagpt

安装完成之后执行下面命令生成 config2.yaml 配置文件

metagpt --init-config

然后打开如下目录:

打开配置文件,填写你的 openai key

  api_type: "openai"  # or azure / ollama / open_llm etc. Check LLMType for more options
  model: "gpt-4o-mini"  # or gpt-3.5-turbo-1106 / gpt-4-1106-preview
  base_url: ""  # or forward url / other llm url
  api_key: ""

当然不仅仅支持 openai ,还支持 claude智普科大讯飞谷歌千帆阿里通义 以及我们本地的 ollama 等多种大模型,它们的配置字段都一样,根据自己的需要进行配置。

ollama API:

  llm:
  api_type: 'ollama'
  base_url: 'http://127.0.0.1:11434/api'
  model: 'llama2'

阿里云 DashScope API

llm:
  api_type: dashscope
  api_key: 'YOUR_API_KEY'
  model: 'YOUR_ENDPOINT_NAME like qwen-max'

2:简单的团队协作处理任务

导入角色,架构师,开发工程师,产品经理,项目经理:

import asyncio
fro

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

香橙派列出附近所有的WiFi

使用 nmcli nmcli 是 NetworkManager 的命令行工具,它可以用来检索和管理网络连接。 nmcli device wifi list这个命令会列出所有周围的WiFi网络。

Vitis AI 进阶认知(pybind11)

目录 1. 简介 2. 代码分析 2.1 pybind11 介绍 2.2 writefile 魔法命令 2.3 快速编译和加载 2.3.1 语法主体 2.3.2 查看模块位置 2.3.3 中间文件 2.4 编译器链接器标志 3. pybind11 语法 3.1 基础示例 3.1.1 example.cpp 3.1.2 编译 3.1.3 关键字参数 3.1.4 帮助…

java 设计模式-代理模式

目录 概述 一. 什么是代理模式 1. 举例说明 二. 代理模式作用 1. 保护代理 2. 增强功能 3. 代理交互 4. 远程代理: 三. 代理模式3个角色 四. 静态代理 1. 代码示例: 五. JDK动态代理 1. 代码示例: 六. CGLIB 动态代理 1.代码示…

P1.8COB小间距成本下降,增大COB超微小间距LED显示屏市场份额

随着P1.8 COB(Chip On Board)小间距技术的不断成熟与成本的有效控制,其在LED显示屏市场中的竞争力日益凸显。这一趋势不仅激发了行业内对超微小间距LED显示屏的浓厚兴趣,更推动了市场的快速扩张。 随着成本的进一步下降&#xff…

支持图片和视频分割,SAM2最新分割一切大模型分享

Segment Anything Model 2(简称SAM 2)是由Meta(Facebook AI)开发的最新一代图像和视频分割模型。 SAM2能够实现对静态图像和动态视频中的对象进行实时、可提示的分割,将图像与视频分割功能整合到了同一个系统中。 SA…

在Centos中的mysql的备份与恢复

1.物理备份 冷备份:关闭数据库时进行热备份:数据库运行时进行,依赖于数据库日志文件温备份:数据库不可写入但可读的状态下进行 2.逻辑备份 对数据库的表或者对象进行备份 3.备份策略 完全备份:每次都备份完整的数…

【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)

关于java应用的监控本系列有文章如下: 【运维监控】influxdb 2.0telegraf 监控tomcat 8.5运行情况 【运维监控】influxdb 2.0grafana 监控java 虚拟机以及方法耗时情况 【运维监控】Prometheusgrafana监控tomcat运行情况 【运维监控】Prometheusgrafana监控spring b…

数学建模强化宝典(13)M-K检验法

前言 M-K检验法,全称为Mann-Kendall检验法,是一种非参数的假设检验方法,广泛应用于时间序列数据的趋势性变化检验,特别是气候序列中的趋势分析和突变点检测。以下是对M-K检验法的详细介绍: 一、定义与背景 M-K检验法由…

Leetcode面试经典150题-83.删除链表中的重复元素

解法都在代码里,不懂就留言或者私信 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val …

服务器监控工具都是监控服务器的哪些性能和指标

服务器监控工具通常用于确保服务器及其相关服务的正常运行。这些工具可以帮助管理员快速识别并解决问题,从而减少停机时间和性能下降的风险。以下是服务器监控工具通常会监控的一些主要内容: 系统健康状态: CPU使用率 内存(RAM&…

油猴插件录制请求,封装接口自动化参数

参考:如何使用油猴插件提高测试工作效率 一、背景 在酷家乐设计工具测试中,总会有许多高频且较繁琐的工作,比如: 查询插件版本:需要打开Chrome控制台,输入好几个命令然后过滤出版本信息。 查询模型商品&…

JAVA—单元测试

单元测试:就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试 之前是使用main函数调用来进行检测,无法实现自动化测试 也会影响其他方法的测试 目录 1.junit框架概述 2.junit框架的常见注解 1.junit框架…

基于C++实现(MFC界面)家谱管理系统

一、题目:家谱管理系统 二、内容: 2.1 概述 2.1.1 选题原因 做此题的原因是因为可以比较方便的记录家族历代成员的情况与关系,能很好的保存家族每一代的信息,而不用人工纸质的方式来存取家谱,更便于人们保存和使用…

基于STELLA系统动态模拟技术及在农业、生态环境等科学领域中的实践应用

STELLA是一种用户友好的计算机软件。通过绘画出一个系统的形象图形,并给这个系统提供数学公式和输入数据,从而建立模型。依据专业兴趣,STELLA可以用来建立各种各样的农业、生态、环境等方面的系统动态模型,为科研、教学、管理服务…

Day16_0.1基础学习MATLAB学习小技巧总结(16)——元胞数组

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。 素材来源“数学建模清风” 特此说明:本博客的内容只在于总结在…

linux top命令介绍以及使用

文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示…

pikachu文件包含漏洞靶场攻略

1.File inclusion(local)(本地文件包含) 提交一个球员信息 filename后面输入../../../../../1.php访问php文件 2.File Inclusion(remote)(远程文件包含) 修改配置 远程包含漏洞的前提:需要php.ini配置如下&#…

深入理解 Babel - 微内核架构与 ECMAScript 标准化|得物技术

随着浏览器版本的持续更新,浏览器对JavaScript的支持越来越强大,Babel的重要性显得较低了。但Babel的设计思路、背后依赖的ECMAScript标准化思想仍然值得借鉴。 本文涉及的Babel版本主要是V7.16及以下,截至发文时,Babel最新发布的…

利用SSH加密实现的HTTP隧道分析与检测

1.隧道介绍 Chisel是一个快速稳定的TCP/UDP隧道工具,该工具基于HTTP实现,并通过SSH加密保证通信安全。Chisel可以进行端口转发、反向端口转发以及SOCKS流量代理,使用GO语言编写,具备较好的跨平台特性。该工具的主要用于绕过防火墙…

Hive数据库与表操作全指南

目录 Hive数据库操作详解 创建数据库 1)语法 2)案例 查询数据库 1)展示所有数据库 (1)语法 (2)案例 2)查看数据库信息 (1)语法 (2&#…