【AI的未来 - AI Agent系列】【MetaGPT】0. 你的第一个MetaGPT程序

《MetaGPT智能体开发入门》开课,跟着课程,学习MetaGPT智能体开发。

0. 安装MetaGPT

请确保你的系统已安装Python 3.9+。你可以通过以下命令进行检查:

python3 --version

下面是具体的安装命令:

  • 安装命令
pip install metagpt
  • 如果想安装特定版本
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple metagpt==0.5.2
  • 如果想更新最新的版本和使用最新功能
pip install git+https://github.com/geekan/MetaGPT
  • 想看源代码,使用源代码
git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .

1. 配置MetaGPT

这里使用OpenAI API,所以你首先需要有一个OpenAI的Key。

配置的内容包括三个:

  • OPENAI_API_KEY:你的OpenAI Key
  • OPENAI_API_MODEL:将要使用的大模型,例如“gpt-3.5-turbo”
  • OPENAI_API_BASE:服务地址,如果用中转服务,必填

下面将配置的内容加入工程中。MetaGPT官方提供的配置方式有3种:

  • 环境变量
  • config/key.yaml
  • config/config.yaml

MetaGPT将会按照下述优先级来读取你的配置:config/key.yaml > config/config.yaml > environment variable

我这里使用环境变量的方式。
(1)创建一个工程目录 MyMetaGPT,用VSCode打开
在这里插入图片描述

(2)新建一个.env文件,将以上配置填加到该文件中
在这里插入图片描述
在Python文件(MetaGPT_test.py)中将该.env文件设置的内容加载到环境变量中:

# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

2. 运行第一个MetaGPT程序

我们将创建一个多智能体团队,根据我们的一句话需求编写一个二十一点的游戏软件。
(1)导入已实现的角色

import asyncio
from metagpt.roles import (
    Architect,
    Engineer,
    ProductManager,
    ProjectManager,
)
from metagpt.team import Team

(2)初始化公司团队,配置对应的智能体,设置对应的预算以及提供一个写一个小游戏的需求。

async def startup(idea: str):
    company = Team()
    company.hire(
        [
            ProductManager(),
            Architect(),
            ProjectManager(),
            Engineer(),
        ]
    )
    company.invest(investment=3.0)
    company.start_project(idea=idea)

    await company.run(n_round=5)

(3)运行

asyncio.run(startup(idea="write a cli blackjack game")) # blackjack: 二十一点

运行成功后,可以看到输出结果:

  • 运行过程

在这里插入图片描述

  • 运行结束之后在工程目录下会出现一个workspace文件夹,里面就是生成的游戏代码

在这里插入图片描述

3. 让我们来看下它写出来的程序怎么样

运行它生成的main.py文件,可以运行成功,然后跟它玩21点游戏,我输了。
在这里插入图片描述
功能还是很强大的,整个过程我们只输入了一句话“write a cli blackjack game”。

4. 运行时可能遇到的问题

(1)MetaGPT中用的OpenAI接口好像是<1.0,所以不要安装>1.0的版本,否则无法运行。这就需要Anaconda这样的虚拟环境进行环境隔离,以避免影响到你需要使用openai > 1.0接口的其它项目运行。
(2)运行过程中报错如下,可参考这篇文章解决。
在这里插入图片描述
未完待续,请看下篇文章:【AI的未来 - AI Agent系列】【MetaGPT】1. AI Agent如何重构世界