大家好,MetaGPT 是基于大型语言模型(LLMs)的多智能体协作框架,GitHub star数量已经达到31.3k+。
接下来我们聊一下快速上手
python 环境最好是 3.9
利用 anaconda 创建 python3.9 的虚拟环境
conda create -n python39 python-3.9
git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .
也可以采取以下方式
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
API 可以在万能的某宝上获取,再次就不多赘述。在此主要想和大家聊了聊怎么调用 AIP 。
在此之前我们需要:
openai
库pip install --upgrade openai
【控制面板】->【网络和Internet】->【Internet选项】->【连接】->【局域网设置】
之后在python里运行下方的代码,将冒号内的内容改为上图红色框框里的地址。
os.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"
如下图
打开我们亲爱的 jupyter
(也而已是 pycharm
) 运行 简单的测试代码
import os
from openai import OpenAI
os.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"
os.environ["OPENAI_API_KEY"] = "sk-*****"
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},
{"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}
]
)
print(completion.choices[0].message)
得到以下输出, 调用API成功。
接下来通过二十一点和贪吃蛇两个游戏来带大家简单运用一些 MetaGpt
该代码在 jupter 运行
代码如下
import asyncio
from metagpt.roles import (
Architect,
Engineer,
ProductManager,
ProjectManager,
)
from metagpt.team import Team
import os
from openai import OpenAI
os.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"
os.environ["OPENAI_API_KEY"] = "sk-*“
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)
await startup(idea="write a cli blackjack game")
这段代码体现了 MetaGPT 的设计理念,该设计理念认为每个项目都可以抽象为一个标准流程(SOP)。在这个 SOP 下,不同的角色(Role)负责项目的不同方面,组成一个项目组(Team),共同完成项目。在上述代码中,MetaGPT 利用了 ProductManager、Architect、ProjectManager 和 Engineer 四个角色组成了一个项目组(Team),并共同完成了一个游戏开发任务。
metagpt生成了所有的设计文件和代码框架。
接下来我们在 终端 运行
1.首先修改配置文件,拷贝样例配置 config.yaml 中的内容到你的新文件中,然后添加一下内容
OPENAI_BASE_URL: "https://api.openai.com/v1"
OPENAI_PROXY: "http://127.0.0.1:7890"
OPENAI_API_KEY: "sk-***" # set the value to sk-xxx if you host the openai interface for open llm model
OPENAI_API_MODEL: "gpt-3.5-turbo"
# OPENAI_API_MODEL: "gpt-4-1106-preview"
MAX_TOKENS: 1500
RPM: 10
TIMEOUT: 60 # Timeout for llm invocation
2.然后再终端运行
metagpt "写一个贪吃蛇游戏"
就会在终端显示思路和代码,随后我们可以在 workspace
目录下看到游戏的全部代码
运行
MetaGPT\workspace\game_snake\game_snake> python .\main.py
启动!
在这里讲一讲 openai api key 的获取方法
在获取OpenAI API key
之前我们需要openai官网中注册一个账号。这里假设我们已经有了openai
账号,先在openai官网登录,然后选择API
。(如下图)
在OPENAI的API官网首页左侧边栏找到API keys,点击进入:
点击 Create new secret key