spring-ai 第四多模态API

0 阅读1分钟

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 应用的开发门槛

Image text

核心消息模型(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));

源码示例

gitee.com/kcnf\_open/…

  • 错误

    "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
  • 测试结果 Image textImage text