简要:
- 引入多模态可对话代理和LLaVA代理以增强LMM功能。
- 用户可以使用
<img img_path>
标签同时输入文本和图像来指定图像加载。 - 通过GPT-4V笔记本展示。
- 通过 LLaVA 笔记本 进行演示。
介绍
大型多模态模型(LMMs)增强了大型语言模型(LLMs)处理多感官数据的能力。
此博客文章和最新的AutoGen更新专注于视觉理解。用户可以输入图像,提出相关问题,并从这些大语言模型(LMMs)获得基于文本的回复。
我们现在支持来自OpenAI的gpt-4-vision-preview
模型和来自微软的LLaVA
模型。
在这里,我们强调多模态对话代理和LLaVA代理,因为它们越来越受欢迎。GPT-4V代表了图像理解的最前沿,而LLaVA是一个从LLama-2微调的高效模型。
安装
在安装AutoGen时加入lmm
功能:
pip install "autogen-agentchat[lmm]~=0.2"
随后,从AutoGen导入Multimodal Conversable Agent或LLaVA Agent:
from autogen.agentchat.contrib.multimodal_conversable_agent import MultimodalConversableAgent # for GPT-4V
from autogen.agentchat.contrib.llava_agent import LLaVAAgent # for LLaVA
使用
已经定义了一个简单的语法,将消息和图像结合在一个字符串中。
上下文学习提示的示例:
prompt = """You are now an image classifier for facial expressions. Here are
some examples.
<img happy.jpg> depicts a happy expression.
<img http://some_location.com/sad.jpg> represents a sad expression.
<img obama.jpg> portrays a neutral expression.
Now, identify the facial expression of this individual: <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模型集成、音频交互和视频理解。敬请期待这些令人兴奋的进展。