简介:
- 引入多模态对话代理和LLaVA代理以增强LMM的功能。
- 用户可以使用
<img img_path>
标签同时输入文本和图像,以指定图像加载。 - 通过GPT-4V笔记本进行演示。
- 通过LLaVA笔记本进行演示。
引言
大型多模态模型(LMM)通过处理多感官数据来增强大型语言模型(LLM)的能力。
本博文和最新的AutoGen更新专注于视觉理解。用户可以输入图像,提出关于图像的问题,并从这些LMM中获得基于文本的回答。
我们现在支持来自OpenAI的gpt-4-vision-preview
模型和来自Microsoft的LLaVA
模型。
在这里,我们强调多模态对话代理和LLaVA代理,因为它们越来越受欢迎。 GPT-4V代表图像理解的前沿,而LLaVA是一个高效的模型,从LLama-2进行了精细调整。
安装
在AutoGen安装过程中加入lmm
功能:
pip install "pyautogen[lmm]"
然后,从AutoGen中导入多模态对话代理或LLaVA代理:
from autogen.agentchat.contrib.multimodal_conversable_agent import MultimodalConversableAgent # 用于GPT-4V
from autogen.agentchat.contrib.llava_agent import LLaVAAgent # 用于LLaVA
使用方法
已定义了一个简单的语法,可以在单个字符串中同时包含消息和图像。
示例中的上下文学习提示:
prompt = """您现在是一个面部表情分类器。这里有一些例子。
<img happy.jpg> 描述了一个快乐的表情。
<img http://some_location.com/sad.jpg> 代表了一个悲伤的表情。
<img obama.jpg> 描绘了一个中性的表情。
现在,请识别这个人的面部表情:<img unknown.png>
"""
agent = MultimodalConversableAgent()
user = UserProxyAgent()
user.initiate_chat(agent, message=prompt)
MultimodalConversableAgent
会解释输入提示,并从本地或互联网源提取图像。
高级用法
与其他AutoGen代理类似,多模态代理支持与其他代理的多轮对话、代码生成、事实查询和通过GroupChat接口进行管理。
例如,在我们的GPT-4V笔记本和LLaVA笔记本中,FigureCreator
集成了两个代理:一个编码器(AssistantAgent)和评论家(多模态代理)。
编码者为可视化草图编写Python代码,而评论家则提供改进的见解。这些代理人共同努力,旨在改进可视化输出。
通过设置 human_input_mode=ALWAYS
,您还可以为更好的可视化提供建议。
参考资料
未来的改进
如有进一步的疑问或建议,请在AutoGen存储库中提出问题,或直接与我联系,我的邮箱是beibin.li@microsoft.com。
AutoGen将继续发展,融入更多的多模态功能,如DALLE模型集成、音频交互和视频理解。敬请期待这些令人兴奋的发展。