官网
spring-ai网址【https://docs.spring.io/spring-ai/reference/api/multimodality.html】
多模态是指模型同时理解和处理来自各种来源的信息的能力,包括文本、图像、音频和其他数据格式(目前新的模型支持多模态),OpenAI的GPT-4o、Google的Vertex AI Gemini 1.5、Anthropic的Claude3,以及开源的Llama3.2
能以极简代码同时调用文本、图像、音频等多模态大模型,大幅降低多模态 AI 应用的开发门槛

核心消息模型(Message API
用户消息的content字段主要用于文本输入,而可选的media字段允许添加一个或多个不同模态的附加内容,如图像、音频和视频。MimeType指定模态类型。Media数据字段根据所使用的LLM,可以是原始媒体内容作为Resource对象或URI内容的链接
三大模态客户端
| 模态 | 客户端 | 典型模型 | 能力 |
|---|---|---|---|
| 文本 | ChatClient | GPT-4o、Claude 3、Gemini | 多模态对话、理解 |
| 图像 | ImageClient | DALL·E、Stable Diffusion | 生成、理解 |
| 音频 | SpeechClient | Whisper、ElevenLabs | 识别、合成 |
var imageResource = new ClassPathResource("/multimodal.test.png");
var userMessage = UserMessage.builder()
.text("Explain what do you see in this picture?") // content
.media(new Media(MimeTypeUtils.IMAGE_PNG, this.imageResource)) // media
.build();
ChatResponse response = chatModel.call(new Prompt(this.userMessage));
源码示例
https://gitee.com/kcnf_open/spring-ai-sample/tree/master/spring-ai/spring-ai-sample04
- 错误
"error":{"code":"1210","message":"API 调用参数有误,请检查文档。"}}
重点是xml配置,默认不支持多模态模型,需要添加xml配置 model: glm-4v-flash
server:
port: 8082
context-path: /
# In application.yml
spring:
ai:
zhipuai:
api-key: ${ZHIPUAI_API_KEY}
chat:
options:
model: glm-4v-flash
- 测试结果


