Spring AI开发跃迁指南(第二章:急速上手6——Spring AI 多模态<图片、语音、文本>及完整代码演示)

在这里插入图片描述


1.简介

多模态性是指模型同时理解和处理来自各种来源的信息的能力,包括文本图像音频和其他数据格式

Spring AI Message API提供了支持多模态 LLM 所需的所有抽象。

其核心为Spring AI提示词Prompt类中的Message接口,有关其UML类图及源码级详细解析请参考博主的另一篇文章:Spring AI开发跃迁指南(第二章:急速上手3——Spring AI 提示词及提示词模版核心原理及使用实例)

UserMessagecontent字段主要用于文本输入,而可选的media字段允许添加一个或多个不同形式的附加内容,如图像、音频和视频。MimeType指定了模态类型。根据所使用的LLM, Media数据字段可以是作为Resource对象的原始媒体内容,也可以是内容的URI。

media字段目前只适用于用户输入消息(例如UserMessage)。它对系统消息没有意义。包含LLM响应的AssistantMessage仅提供文本内容。要生成非文本媒体输出,应使用专用的单模态模型。

2.使用实例

其他基础的配置如pom、application等请参考博主的另一篇文章Spring AI开发跃迁指南(第二章:极速上手1——Spring AI ChatClient 20行代码构建人工智能应用),本章节主要演示多模态消息类型的使用代码:

  • controller:
    @GetMapping("/ai/generate-image")
    public String generateImage() {
        return service.generateStream4();
    }
  • service:
    public String generateImage() {
        var imageResource = new ClassPathResource("./test.jpeg");

       String res  = chatClient.prompt()
                .user(u -> u.text("图片中的明星是谁?").media(MimeTypeUtils.IMAGE_JPEG, imageResource))
                .call()
                .content();
       System.out.println(res);
        return res;
    }
  • resource:

放一张图片到resource目录下,本次放一张图片:
在这里插入图片描述

  • 运行测试

在这里插入图片描述
不好意思,本次使用的模型是文本类模型,大家换成支持多模态的模型就好了,嘻嘻。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Timmer丿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值