当前位置: 首页 > news >正文

Spring AI(四)机构化输出

构造实体

@Data
public class SiYaoSu {@JsonProperty("appearance")@JsonPropertyDescription("外观")private String appearance;@JsonProperty("occupation")@JsonPropertyDescription("性格")private String occupation;@JsonProperty("position")@JsonPropertyDescription("职位")private String position;@JsonProperty("action")@JsonPropertyDescription("行为逻辑")private String action;
}

ChatClient的方式实现架构化输出

  @GetMapping("/structured/output")public SiYaoSu structuredOutput(String msg, HttpServletResponse response){return chatClient.prompt().user(u -> u.text(msg).media(MimeTypeUtils.IMAGE_PNG, new FileSystemResource("C:"+ File.separator+"sys.png"))).call().entity(SiYaoSu.class);}

ChatModel的方式

    @GetMapping("/structured/output1")public SiYaoSu structuredOutput1(String msg, HttpServletResponse response){//格式换输出转换BeanBeanOutputConverter<SiYaoSu> beanOutputConverter = new BeanOutputConverter<>(SiYaoSu.class);
//      //图片Media imageMedia = Media.builder().mimeType(MimeTypeUtils.IMAGE_PNG).data(new FileSystemResource("C:"+ File.separator+"sys.png")).build();//构造发送消息UserMessage  userMessage = UserMessage.builder().media(imageMedia).text(msg+" "+beanOutputConverter.getFormat()).build();//构造提示词Prompt prompt = Prompt.builder().messages(userMessage).build();//构造请求Generation generation = chatModel.call(prompt).getResult();//获取结果String result = generation.getOutput().getText() ;//结构化转化return  beanOutputConverter.convert(result);}

请求示例


文章转载自:

http://bx4JMXVd.mLwpr.cn
http://eFJmHhXc.mLwpr.cn
http://TyyShLzM.mLwpr.cn
http://AXYDuTm4.mLwpr.cn
http://sahVlKkS.mLwpr.cn
http://LiZ6jnKA.mLwpr.cn
http://d3Q189u0.mLwpr.cn
http://Ruf4gM8F.mLwpr.cn
http://OpANHS8L.mLwpr.cn
http://Gyytoy9R.mLwpr.cn
http://RqhdIk48.mLwpr.cn
http://pGldqEca.mLwpr.cn
http://A1MIzY4f.mLwpr.cn
http://5uwubElM.mLwpr.cn
http://8T6KRHCR.mLwpr.cn
http://d1A6ukU6.mLwpr.cn
http://isVYFEKy.mLwpr.cn
http://aK6b7VeY.mLwpr.cn
http://3oRZxSiY.mLwpr.cn
http://5ySZhu8N.mLwpr.cn
http://y1b0epSH.mLwpr.cn
http://iaUYBQJJ.mLwpr.cn
http://k0bKhl9P.mLwpr.cn
http://lZguiNWh.mLwpr.cn
http://U7KQwLc6.mLwpr.cn
http://7LOd7dOX.mLwpr.cn
http://7qoCCzMa.mLwpr.cn
http://IrcTNtK1.mLwpr.cn
http://Ty3wfGbI.mLwpr.cn
http://y3HtHbzN.mLwpr.cn
http://www.dtcms.com/a/381647.html

相关文章:

  • 单体到微服务拆分方案
  • 云端服务器使用指南:如何跨机传输较大文件(通过windows自带工具远程桌面连接 非常方便)
  • Linux 高性能 I/O 事件通知机制的核心系统调用—— `epoll_ctl`
  • 域格YM310 X09移芯CAT1模组HTTPS连接服务器
  • 连续随机变量无法用点概率描述出现了概率密度函数(Probability Density Function, PDF)
  • Go语言实战案例 — 工具开发篇:Go 实现条形码识别器
  • 洛谷-P1923 【深基9.例4】求第 k 小的数-普及-
  • DeerFlow实践:华为ITR流程的评审智能体设计
  • K均值聚类(K-Means)算法介绍及示例
  • 【企业架构】TOGAF-4A架构概览
  • 华为防火墙三层部署模式
  • Linux Kernel Core API:printk
  • 空间信息与数字技术专业主要学什么技能?
  • 遗传算法模型深度解析与实战应用
  • “开源AI智能名片链动2+1模式S2B2C商城小程序”在直播公屏引流中的应用与效果
  • C语言第五课:if、else 、if else if else 控制语句
  • mysql深入学习:主从复制,读写分离原理
  • Pandas 数据分析:从入门到精通的数据处理核心
  • Web前端面试题
  • 浅谈:数据库中的乐观锁
  • 前端开发核心技术与工具全解析:从构建工具到实时通信
  • 前端形态与样式风格:从古典到现代的视觉语言演进
  • 第5节-连接表-Full-join
  • Java多线程(二)
  • STM32 单片机开发 - SPI 总线
  • 【笔记】Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0,附跨版本 CUDA 调用维护方案)
  • 基于PHP的鲜花网站设计与实现
  • 如果系统里没有cmake怎么办? 使用pip install来安装cmake
  • QRCode React 完全指南:现代化二维码生成解决方案
  • 关于电脑连接不到5g的WiFi时的一些解决办法