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

Spring AI使用JSON Schema导致模型调用速度极慢

最近在开发一个基于 Spring AI 的 AI 项目。为了确保大模型返回的数据一定是结构化的 JSON 格式,我在调用时显式指定了 response_formatJSON_SCHEMA
到目前为止,效果确实不错,每次返回的都是合法 JSON,字段和类型完全符合预期。

代码大致是下面这种,配置了一个jsonSchema,每次调用大概在11秒左右,最快的时候8秒。

public String callAI(RequestDTO request) {String systemPrompt = TemplateReaderUtil.readTemplate("template/business-rule-template.md");// 构造对话上下文List<Message> messages = List.of(new SystemMessage(systemPrompt),new UserMessage(request.getInputText()));String jsonSchema = """{"type": "object","properties": {"result": { "type": "integer", "minimum": 0, "maximum": 100 },"details": {"type": "object","properties": {"metricA": { "type": "integer", "minimum": 0, "maximum": 30 },"metricB": { "type": "integer", "minimum": 0, "maximum": 25 },"metricC": { "type": "integer", "minimum": 0, "maximum": 20 },},"required": ["metricA", "metricB", "metricC"],"additionalProperties": false},"comment": { "type": "string", "maxLength": 100 }},"required": ["result", "details", "comment"],"additionalProperties": false}""";// 配置大模型请求:强制按 JSON Schema 输出Prompt prompt = new Prompt(messages, OpenAiChatOptions.builder().responseFormat(new ResponseFormat(ResponseFormat.Type.jsonSchema , jsonSchema)).temperature(0.8).topP(0.9).build());ChatResponse response = chatModel.call(prompt);return response.getResults().get(0).getOutput().getText();
}

今天突发奇想,把prompt放在Cherry Studio里面直接用,发现只需要1秒左右就回答完毕,当时就觉得不对劲。拿着CS调整了是否流式输出等一些参数,发现还是很快。最后怀疑是这个jsonSchema的问题,就写了一个最简单的调用。发现调用速度也是在1秒左右。

    String call(RequestDTO request) {String systemPrompt = TemplateReaderUtil.readTemplate("template/business-rule-template.md");// 构造对话上下文List<Message> messages = List.of(new SystemMessage(systemPrompt),new UserMessage(request.getInputText()));Prompt prompt = new Prompt(messageList, OpenAiChatOptions.builder().temperature(0.4).topP(0.6).build());ChatResponse chatResponse = chatModel.call(prompt);return chatResponse.getResults().get(0).getOutput().getText();}

最后,又验证了一下其他写法,把jsonSchema的值改了一下,依旧使用responseFormat。发现速度也很快。

也试了一下把type的值改成json_object,调用直接报错了,可能和使用的大模型也有关,我这次使用的Qwen

String jsonSchema = """{"type": "object"}""";

所以为了速度,可以去掉jsonSchema,去掉之后大模型输出JSON的格式有时候会不稳定(比如输出会加上```json),这种要在后端处理一下。
也可以只配置一个type就行(注意测试不同模型type值是否会有差异)
只能说谨慎使用jsonSchema

http://www.zskr.cn/news/79722.html

相关文章:

  • vue2项目引入vue-lazyload实现图片懒加载
  • 大学生必备APP精选:助力学业与生活的实用工具
  • 博弈论模型中的学习与算法设计
  • 2025年地毯品牌最新推荐榜,聚焦企业技术创新、原料品质与市场口碑深度解析羊毛,无胶,可拆洗双层,客厅,卧室,中古风,儿童房,可拆洗,床边,无胶防水地毯公司推荐
  • 中美跨境国际快递配送清单:轻小件低价寄,带电_特货合规清关
  • Elasticsearch:如何为 Elastic Stack 部署 E5 模型 - 下载及隔离环境 - 详解
  • Flutter 应该如何实现 iOS 26 的 Liquid Glass
  • IIS反向代理
  • Prefect 产品使用说明
  • 揭秘姜胖胖韩式烤肉连锁加盟:高知名度与好口碑背后的秘密
  • 全流程跟踪!留学中介排行榜TOP10把控申请节奏
  • 网卡混杂模式解析:从网络诊断到 Kubernetes 网络模型
  • 2025 中小学生 AI 学习机选购指南:松鼠 AI 登顶!这 4 款高性价比之选闭眼入
  • Python reduce 改为 chain ,性能优化
  • 2025 年 12 月炉温监控设备厂家权威推荐榜:波峰焊炉温/残氧量/氮气控制/真空测温仪,精准工艺与智能监控技术深度解析
  • 正则表达式的\w+是什么意思?
  • 2025选购必看:武汉红砖厂家综合实力与口碑排行,排行前列的红砖赋能企业生产效率提升与成本优化
  • 2025年市面上专业的投影机销售厂家推荐,激光投影仪/W40投影机出租/34000流明投影机/投影机源头厂家排名
  • 2025年市面上有实力的投影机品牌哪家权威,20000流明投影机/雾幕投影机/30000流明投影机厂家哪家好
  • 一文读懂!蓝蜂 MQTT 边缘计算网关核心功能,解软件服务商与工程方难题​
  • dell装机前识别硬盘设置
  • 【高录用 | 稳检索 】第三届教育发展与社会科学 国际学术会议 (EDSS 2026)
  • 具身智能赋能:2025年靠谱具身侦察无人机系统供应商推荐
  • 2025年Q4水质在线监测分析仪厂家排行榜:技术实力、场景适配与市场趋势指南
  • 开篇灵魂拷问:AI 学习机到底值不值得买?
  • 2025年12月全国球墨铸铁管厂家推荐,最新权威测评离心铸造 ,复合防腐选型榜单
  • xshell命令行美化
  • 2025年成都可靠的抖音代运营企业怎么选择,小红书代运营/网络推广/抖音推广/抖音代运营/抖音代运营品牌哪家好
  • 服务哪家强?博士留学中介TOP8导师团队配置揭秘!
  • 2025交通设施行业优质波形护栏推荐榜 - 定制化与安装服务