公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识,也有全栈交流学习摸鱼群,期待您的关注!
每天3分钟开源
hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下:
仓库名:
geekan/MetaGPT
项目名:
MetaGPT
开源地址:https://github.com/geekan/MetaGPT
主要语言:
Python
stars数量:
37348
forks数量:
4409
开源协议:
MIT License
一句话介绍
这是一个将不同角色的GPTs赋予形成一个协作实体以完成复杂任务的多智能体框架。
详细描述
MetaGPT是一个多智能体框架,它将不同角色的GPTs赋予形成一个协作实体以完成复杂任务。
这个项目的目标是实现自然语言编程,通过分配不同的角色给GPTs,让它们能够协同工作,解决复杂的问题。
它支持多种编程语言,具有序列化、多语言和增量开发等实验性功能。
此外,MetaGPT被选为Open100:顶级100个开源成就之一,并在2023年8月连续第17次位居GitHub趋势月榜首位。
具体功能
MetaGPT能将一行需求作为输入,输出用户故事、竞品分析、需求、数据结构、API、文档等。
内部包括产品经理、架构师、项目经理、工程师等角色,提供软件公司的整个流程以及精心编排的SOPs。
它的核心理念是Code = SOP(Team)
,即将SOP具象化并应用到由LLMs组成的团队中。
如何使用
确保您的系统上安装了Python 3.9+,可以通过使用python --version
来检查。
安装MetaGPT,可以使用如下命令:
conda create -n metagpt python=3.9 && conda activate metagpt
pip install --upgrade metagpt
或者从GitHub直接安装:
pip install --upgrade git+https://github.com/geekan/MetaGPT.git
或者克隆仓库后在仓库目录下安装:
git clone https://github.com/geekan/MetaGPT && cd MetaGPT && pip install --upgrade -e .
配置MetaGPT,可以运行以下命令初始化配置,或者手动创建~/.metagpt/config2.yaml
文件:
metagpt --init-config # it will create ~/.metagpt/config2.yaml, just modify it to your needs
然后根据示例和文档配置~/.metagpt/config2.yaml
文件:
llm:
api_type: "openai" # or azure / ollama / open_llm etc. Check LLMType for more options
model: "gpt-4-turbo-preview" # or gpt-3.5-turbo-1106 / gpt-4-1106-preview
base_url: "https://api.openai.com/v1" # or forward url / other llm url
api_key: "YOUR_API_KEY"
在安装完成后,你可以在命令行界面使用MetaGPT:
metagpt "Create a 2048 game" # this will create a repo in ./workspace
或者作为库使用:
from metagpt.software_company import generate_repo, ProjectRepo
repo: ProjectRepo = generate_repo("Create a 2048 game") # or ProjectRepo("<path>")
print(repo) # it will print the repo structure with files
你也可以使用它的数据解释器:
import asyncio
from metagpt.roles.di.data_interpreter import DataInterpreter
async def main():
di = DataInterpreter()
await di.run("Run data analysis on sklearn Iris dataset, include a plot")
asyncio.run(main()) # or await main() in a jupyter notebook setting
更多详细的使用指南和开发指南,请参考 在线文档。
最后
感谢您的阅读,这里每天都会推送优秀的开源项目,如果觉得有帮助的话,一键三连一下吧~