MetaGPT入门(一)

发布时间:2024年01月16日

本文在Win11操作系统下进行,工具pycharm

一、环境准备

1.建议使用conda虚拟环境

安装anaconda参考:Windows10下Anaconda的安装_windows anaconda 路径-CSDN博客

打开Anaconda Powershell Prompt命令窗口,输入下面命令,创建3.10版本的python解释器

conda create -n metagpt python=3.10

2.切换到创建的metagpt虚拟环境

conda activate metagpt

3.安装metagpt,输入下面命令,以指定源形式,安装特定版本的metagpt

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple metagpt==0.5.2

4、配置metagpt

没有openai,练习用,国内api也行啊,用智谱的吧,一个月 有效,够练习的了

https://open.bigmodel.cn/usercenter/resourcepack

智谱AI开放平台 (bigmodel.cn)

修改key.yaml文件ZHIPUAI_API_KEY:

5、开始练习吧,按照第3章,编写实现一个单动作Agent

???????????????????????????????????????????《MetaGPT智能体开发入门》教程 - 飞书云文档 (feishu.cn)

代码如下

import re
import asyncio
from metagpt.actions import Action

class WriteSimpleCode(Action):

    PROMPT_TEMPLATE = ''' 
    Write a python function that can {instruction} and provide two runnable test cases.
    Return ```python your_code_here ``` with NO other texts,
    your code:
    '''

    def __init__(self,name:'WriteSimpleCode',context=None, llm=None):
        super().__init__(name,context,llm)

    async def run(self, instruction:str):

        prompt = self.PROMPT_TEMPLATE.format(instruction=instruction)
        rsp = await self._aask(prompt)

        code_text = WriteSimpleCode.parse_code(rsp)
        return code_text

    @classmethod
    def parse_code(rsp):
        pattern = r'"""python(.*)"""'
        match = re.match(pattern,rsp,re.DOTALL)
        code_text = match.group(1) if match else rsp
        return code_text

if __name__ == '__main__':
    # 创建 WriteSimpleCode 类的实例
    action = WriteSimpleCode(name='WriteSimpleCode', context=None, llm=None)

    # 调用 run 方法,传入指令参数
    instruction = 'reverse_string'
    # 使用 await 调用 run 方法,传入指令参数
    code_text = asyncio.run(action.run(instruction))

    # 打印提取出的 Python 代码
    print(code_text)
   

代码含义见上面开发文档

虽然报错了,但是运行成功了

资源消耗情况

数量正好对上,本次练习完成,接着练习其他的吧!!!

文章来源:https://blog.csdn.net/zhengknight/article/details/135548664
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。