spring-ai 第四多模态API
官网
spring-ai网址【docs.spring.io/spring-ai/r…
多模态是指模型同时理解和处理来自各种来源的信息的能力,包括文本、图像、音频和其他数据格式(目前新的模型支持多模态),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));
源码示例
-
错误
"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
- 测试结果