跳到主要内容

一篇文章标记为“LMM”

查看所有标签

· 3 min read
Beibin Li

LMM Teaser

简要:

  • 引入多模态可对话代理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 AgentLLaVA 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模型集成、音频交互和视频理解。敬请期待这些令人兴奋的进展。