【MetaGPT】配置教程

MetaGPT配置教程(使用智譜AI的GLM-4)

文章目錄

  • MetaGPT配置教程(使用智譜AI的GLM-4)
    • 零、為什么要學MetaGPT
    • 一、配置環境
    • 二、克隆代碼倉庫
    • 三、設置智譜AI配置
    • 四、 示例demo(狼羊對決)
    • 五、參考鏈接

零、為什么要學MetaGPT

  • 因為MetaGPT是 LLM Agent領域第一高分論文,全網Star數最高的多智能體框架。ICLR 2024 Oral 🙌

ICLR 2024錄用結果公布:MetaGPT 的論文 《MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework》將被展示為Oral(口頭報告)。這一榮譽僅占全部提交論文中的1.2%,并且位列LLM-based Agent 關鍵字第一!

  • 因為可以當帕魯LLM老板:輸入一句話的老板需求,輸出用戶故事 / 競品分析 / 需求 / 數據結構 / APIs / 文件等。

在這里插入圖片描述

  • 因為報名了Datawhale的組隊學習。(正解)

說了再多也得從環境配置開始…

一、配置環境

創建一個新的conda環境并激活它:

conda create -n for_meta python==3.11
conda activate for_meta

檢查Python版本以確保它大于3.9:

python --version

二、克隆代碼倉庫

然后,從GitHub上克隆MetaGPT的最新代碼倉庫:

git clone https://github.com/geekan/MetaGPT.git
cd MetaGPT

然后,使用pip安裝倉庫中的代碼:

pip install -e .

但是現在的MetaGPT更新飛快,興許以后的版本就不同了。所以先確定下現在的版本。

pip show metagpt # Version: 0.7.2

三、設置智譜AI配置

安裝之后,可以新建一個項目目錄來檢索默認的配置文件地址。

from metagpt.const import DEFAULT_WORKSPACE_ROOT, METAGPT_ROOT, OPTIONS
default_yaml_file = METAGPT_ROOT / "config/config.yaml"
print(METAGPT_ROOT / "config/config.yaml")

我們輸出的是在MetaGPT的源碼目錄中config/config2.yaml文件,我們在此設置智譜AI的配置。
修改為以下內容:

llm:api_type: 'zhipuai'api_key: 'Your api key....'model: 'glm-4'

確保將api_key替換為您的智譜AI API密鑰。

新注冊有百萬token,具體可以從這里智譜AI開放平臺查看。
(要是有邀請碼,邀請別人送token就好了…)

四、 示例demo(狼羊對決)

實際上就是角色扮演

from metagpt.team import Team
from metagpt.roles import Role
from metagpt.environment import Environment
from metagpt.actions import Action
import asyncioaction1 = Action(name="喜羊羊說", instruction="批駁別人想法,表明你的創新發明并帶有情感,不要重復。")
action2 = Action(name="灰太狼說", instruction="批駁別人想法,表明你的創新發明并帶有情感,不要重復。")honglong = Role(name="喜羊羊", profile="羊村發明家",goal="贏得青青草原最強發明產品", actions=[action1], watch=[action2])
bob = Role(name="灰太狼", profile="狼堡發明家",goal="贏得青青草原最強發明產品", actions=[action2], watch=[action1])env = Environment(desc="最強發明評選大賽")team = Team(investment=10.0, env=env, roles=[honglong, bob])asyncio.run(team.run(idea="主題:實用性與美觀性。每條消息不超過4句話。", send_to="喜羊羊", n_round=5))
# 這里設置的n_round=5是指兩個人一共對話的次數是5個回合。

Tip:如果你遇到ModuleNotFoundError: No module named 'pwd'的錯誤,請將import pwd移動到使用它的位置。借鑒群里的圖。

在這里插入圖片描述

至此,我們就可以直接運行代碼,得到如下輸出結果。
一共對話5次,中途發生了一點點的網絡問題,不過問題不大,依舊能繼續執行下去。

請添加圖片描述

五、參考鏈接

  1. 論文地址:https://arxiv.org/abs/2308.00352
  2. 代碼倉庫:https://github.com/geekan/MetaGPT
  3. 官方文檔:https://docs.deepwisdom.ai/zhcn/guide/get_started/introduction.html
  4. Datawhale學習倉庫:https://github.com/datawhalechina/hugging-multi-agent

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718059.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大數據技術(一)

大數據技術概述 大數據技術層面及其功能 數據采集與預處理 利用ETL(extract-transform-load)工具將分布的、異構數據源中的數據,如關系數據、平面數據文件等,抽取到臨時中間層后進行清洗、轉換、集成,最后加載到數據倉庫或數據集市中&…

C語言什么是循環嵌套?

一、問題 分?結構是可以進?嵌套的,循環結構同樣也?持嵌套,那什么是循環嵌套呢? 二、解答 ?個循環體內?包含另?個完整的循環結構,就稱之為循環嵌套。內嵌的循環中還可以嵌套循環,這就是多層循環,也叫…

類與對象詳解 C++ (1)

1.struct和class 與C語言不同的是,C中struct和class可以定義成員變量和成員函數。更偏好用class。 2.類的定義 格式如下: class 為 定義類的 關鍵字, ClassName 為類的名字, {} 中為類的主體,注意 類定義結束時后面…

前端canvas項目實戰——簡歷制作網站(五):右側屬性欄(字體、字號、行間距)

目錄 前言一、效果展示二、實現步驟1. 優化代碼,提取常量2. 實現3個編輯模塊3. 實現updateFontProperty方法4. 一個常見的用法:僅更新當前選中文字的樣式 三、Show u the code后記 前言 上一篇博文中,我們擴充了線條對象(fabric.…

springboot 整合oauth2

1、EnableOAuth2Client:客戶端,提供OAuth2RestTemplate,用于客戶端訪問資源服務。 簡要步驟:客戶端訪問資源->客戶端發現沒有資源訪問token->客戶端根據授權類型生成跳轉url->瀏覽器 302 到認證授權服務進行認證、授權。…

Dockerfile構建過程詳解

Dockerfile介紹 docker是用來構建docker鏡像的文件!命令參數腳本! 構建步驟: 1、編寫一個dockerfile文件 2、docker build構建成為一個鏡像 3、docker run 運行鏡像 …

PDF轉Excel的未來:人工智能技術如何提升轉換效率和準確性

隨著信息技術的快速發展,PDF和Excel作為兩種重要的文件格式,在日常生活和工作中扮演著至關重要的角色。PDF以其獨特的跨平臺閱讀特性,成為了文件分享和傳輸的首選格式;而Excel則以其強大的數據處理能力,成為了數據分析…

【二分查找】【C++算法】378. 有序矩陣中第 K 小的元素

作者推薦 視頻算法專題 本文涉及的基礎知識點 二分查找算法合集 LeetCode378. 有序矩陣中第 K 小的元素 給你一個 n x n 矩陣 matrix ,其中每行和每列元素均按升序排序,找到矩陣中第 k 小的元素。 請注意,它是 排序后 的第 k 小元素&…

機器人持續學習基準LIBERO系列10——文件結構

0.前置 機器人持續學習基準LIBERO系列1——基本介紹與安裝測試機器人持續學習基準LIBERO系列2——路徑與基準基本信息機器人持續學習基準LIBERO系列3——相機畫面可視化及單步移動更新機器人持續學習基準LIBERO系列4——robosuite最基本demo機器人持續學習基準LIBERO系列5——…

力扣日記3.3-【回溯算法篇】332. 重新安排行程

力扣日記:【回溯算法篇】332. 重新安排行程 日期:2023.3.3 參考:代碼隨想錄、力扣 ps:因為是困難題,望而卻步了一星期。。。T^T 332. 重新安排行程 題目描述 難度:困難 給你一份航線列表 tickets &#xf…

牛客小白月賽86

A-水鹽平衡_牛客小白月賽86 (nowcoder.com) #include<bits/stdc.h> #define endl \n #define int long long using namespace std; int a,b,c,d; void solve() {cin>>a>>b>>c>>d;if((double)a/b>(double)c/d) cout<<S<<endl;els…

關于脈沖負載應用中電阻器,您需要了解的 11 件事?

不幸的是&#xff0c;電阻器在脈沖負載下可能會失效。當脈沖功率耗散到器件的電阻元件時&#xff0c;它會產生熱量并增加電阻器的溫度。過熱會損壞電阻元件&#xff0c;導致電阻變化甚至設備開路。為了避免在設計中出現這種情況&#xff0c;以下是您在選擇元件時應了解的有關電…

excel統計分析——拉丁方設計

參考資料&#xff1a;生物統計學 拉丁方設計也是隨機區組設計&#xff0c;是對隨機區組設計的一種改進。它在行的方向和列的方向都可以看成區組&#xff0c;因此能實現雙向誤差的控制。在一般的試驗設計中&#xff0c;拉丁方常被看作雙區組設計&#xff0c;用于提高發現處理效應…

Skipped breakpoint at because it happened inside debugger evaluation親測可用

問題描述&#xff1a; 在多線程項目中&#xff0c;在idea中打斷點時&#xff0c;有時會遇到下面這種情況&#xff1a; idea左下角出現一行紅底或者綠底文字提示&#xff1a; Skipped breakpoint at because it happened inside debugger evaluation 然后我們能感受到的就是…

HTML中自定義鼠標右鍵菜單

今天突然有人跟我提到了HTML中如何自定義鼠標右鍵菜單&#xff0c;這里大概記錄一下吧&#xff0c;方便下次直接復制。免得還去看API文檔。 文章目錄 HTML中自定義鼠標右鍵菜單結果如下所示可以稍微改一下鼠標懸浮到右鍵菜單時的樣式結果如下所示 只在某個特定的div才可以顯示…

javascript 的eval()和with是干嘛的

原來JavaScript 中的eval() 和 with 是兩個強大的功能&#xff0c;但同時它們也具有潛在風險的特性&#xff0c;所以謹慎使用。 首先說說eval() 函數&#xff1a; 它接收一個字符串參數&#xff0c;并將其作為 JavaScript 代碼來解析和執行。 這意味著你可以使用 eval() 動態地…

《Scratch等級認證CCF-GESP真題解析》專欄總目錄

?? 專欄名稱:《Scratch等級認證CCF-GESP真題解析》 ?? 專欄介紹:中國計算機學會GESP《CCF編程能力等級認證》Scratch圖形化編程(1~4級)歷屆真題解析。 ?? 訂閱專欄:訂閱后可閱讀專欄內所有真題解析,真題持續更新中,限時9.9元,歡迎訂閱! Scratch圖形化編程一級 序…

2368. 受限條件下可到達節點的數目

2368. 受限條件下可到達節點的數目 題目鏈接&#xff1a;2368. 受限條件下可到達節點的數目 代碼如下&#xff1a; //深度優先遍歷 //參考&#xff1a;https://leetcode.cn/problems/reachable-nodes-with-restrictions/solutions/2662538/shu-shang-dfspythonjavacgojsrust-…

C++自學精簡實踐教程

一、介紹 1.1 教程特點 一篇文章從入門到就業有圖有真相&#xff0c;有測試用例&#xff0c;有作業&#xff1b;提供框架代碼&#xff0c;作業只需要代碼填空規范開發習慣&#xff0c;培養設計能力 1.2 參考書 唯一參考書《C Primer 第5版》?參考書下載&#xff1a; 藍奏云…

Acwing---3777. 磚塊

磚塊 1.題目2.基本思想3.代碼實現 1.題目 n 個磚塊排成一排&#xff0c;從左到右編號依次為 1~n。 每個磚塊要么是黑色的&#xff0c;要么是白色的。 現在你可以進行以下操作若干次&#xff08;可以是 0 次&#xff09;&#xff1a; 選擇兩個相鄰的磚塊&#xff0c;反轉它…