什么是多模态?
多模态(Multimodal)指的是数据或信息的多种表现形式。在人工智能领域,我们经常会听到这个词,尤其是在近期大型模型(如GPT-4)开始支持多模态之后。
- 模态:模态是指数据的一种形式,例如文本、图像、音频等。每一种形式都是一种模态。
- 多模态:多模态就是将不同模态的数据结合起来,以更全面、更丰富的方式来处理信息。比如,我们可以同时处理文本、图像、语音等多种类型的数据。
举个例子,如果我想告诉你“我有一个苹果”,我可以用文字写出来,也可以用语言说出来,还可以用图片画出来。这就是相同信息的多种模态表现形式。
同样地,给大模型一副图片,可以上大模型对这张图片进行详细地描述。给大模型一段文本,可以让大模型进行概要提取,内容总结等。
Spring AI的多模态
多模态是指模型能够同时理解和处理来自各种来源的信息,包括文本、图像、音频和其他数据格式。
Spring AI Message API提供了所有必要的抽象来支持多模态LLMs。
- 消息的
content
字段主要用作文本输入,而可选的media
字段允许添加一个或多个不同模态的附加内容,例如图像、音频和视频。 MimeType
指定模态类型。根据所使用的LLMs,媒体的数据字段可以是编码的原始媒体内容或内容的URI。
例如,我们要实现一个功能:将下面的图片(multimodal.test.png)作为输入,并要求LLM解释它在图片中看到了什么。
项目搭建参考 Spring AI 介绍以及与 Spring Boot 项目整合
下面是多模态代码的实现