主页 > 创业  > 

AutoGen学习笔记系列(二)Tutorial-Messages

AutoGen学习笔记系列(二)Tutorial-Messages

这篇文章瞄准的是 AutoGen 官方教程中的 Messages 小节内容,介绍了这个库中的一个数据类型 Messages 的定义与使用:

官方链接: microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/messages.html# ;
Types of Messages

根据官网上的描述,AutoGen 库提供了Message类,其作用是实现 消息传递,在设计上考虑了两种消息传递的需求:Agent-Agent之间传递、内部事件传递。这个作用有点像他们定义了一个通讯协议或者说是对内容进行了结构化,所有该库内的信息都需要遵守这个通讯协议,这样做的最大好处在于可以规避文本解析出错风险。


Agent-Agent Messages

官网在这一小节给出了两个实例来教你如何定义messages,这些信息都可以直接通过 on_messages() 或者 run() 传递给模型。

纯文本信息 TextMessage: from autogen_agentchat.messages import TextMessage text_message = TextMessage(content="Hello, world!", source="User") print(text_message.content)

运行结果如下:

$ python demo.py Hello, world! 图像数据 MultiModalMessage : from io import BytesIO import requests from autogen_agentchat.messages import MultiModalMessage from autogen_core import Image as AGImage from PIL import Image import cv2 import numpy as np # 拉取一张图片 pil_image = Image.open(BytesIO(requests.get(" picsum.photos/300/200").content)) img = AGImage(pil_image) # 定义图像数据 multi_modal_message = MultiModalMessage(content=["Can you describe the content of this image?", img], source="User") img # 此处额外增加了一部分显示图像的功能 opencv_image = np.array(pil_image) opencv_image = cv2.cvtColor(opencv_image, cv2.COLOR_RGB2BGR) cv2.imshow("Image", opencv_image) cv2.waitKey(0) cv2.destroyAllWindows()

运行结果如下:

$ python demo.py

【Note】:上面的代码中使用了 picsum.photos/300/200 这个链接,你可以直接登录他们的网页 picsum.photos 查看更多使用示例,这个网页提供了随机生成固定size照片的功能,是一个很有意思的网站。


Internal Events

作为一个现代 AI Agent 库,AutoGen 同样支持多个 Agent 协同工作,而 Messsage 本身也可以用于在多个Agent中进行内部传递。

官网教程在此处没有进行进一步举例,为了保证主干笔记与官网的一致性,我这里也不添加额外内容,后续会在该系列笔记的番外篇介绍如何花样使用 Messages 信息。

标签:

AutoGen学习笔记系列(二)Tutorial-Messages由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“AutoGen学习笔记系列(二)Tutorial-Messages