spring-ai 第四多模态API

官网

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

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));

源码示例

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
  • 测试结果 

    Image text

    Image text

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐