本文在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)
代码含义见上面开发文档
虽然报错了,但是运行成功了
资源消耗情况
数量正好对上,本次练习完成,接着练习其他的吧!!!