Spring AI企业级应用实战(12):异步长任务、队列、回调与可恢复执行
将耗时AI调用从同步接口迁移到任务中心,完成状态机、Outbox、Worker租约、取消传播和Checkpoint。
Spring AI VectorStore过滤条件已经传入,为什么仍然召回其他租户文档?
多租户RAG中,即使日志显示tenantId已传入,也可能因为过滤表达式丢失、字段类型不一致或后置过滤造成越权召回。
单Collection、每租户Collection与分片键怎么选?向量库多租户架构指南
向量库多租户可以采用共享Collection、独立Collection或分片键混合方案。本文比较隔离、成本与运维复杂度。
RAG引用编号与正文对不上?重排、去重和压缩后的证据映射排查
检索候选经过重排、去重和压缩后,如果仍沿用早期数组下标,答案引用会与最终展示来源错位。
用Spring AI实现权限感知RAG检索器:租户过滤、文档ACL与引用校验
实现一个权限感知检索组件,把认证上下文转为向量过滤条件,并在重排与生成后再次校验文档ACL。
Spring AI企业级应用实战(11):权限感知RAG、多租户过滤与引用治理
在Spring AI RAG链路中加入认证上下文、过滤表达式、文档ACL、重排复核和引用鉴权。
Spring AI配置多个ChatModel后为什么总是调用默认模型?
Spring AI多模型项目中,Bean注入、ChatClient复用和路由结果传递任何一处出错,都会让所有流量落到默认模型。
规则路由、分类模型与Router Agent怎么选?企业多模型调度指南
多模型调度可以使用固定规则、轻量分类模型或Router Agent。本文比较三种方案的成本、解释性与适用边界。
模型Fallback已经切换成功,为什么请求仍然失败?
日志显示已切换备用模型,但请求仍返回相同错误,往往说明主备共享额度、网络、超时预算或输出契约。
用Spring Boot搭建多模型路由网关:规则、预算、Fallback与审计
实现一个统一路由网关,根据任务复杂度、风险、租户套餐与预算选择模型,并提供受控Fallback。
Spring AI企业级应用实战(10):多模型路由、预算控制与故障降级
在统一调用层之上实现模型能力目录、策略路由、预算守卫、Fallback和路由审计。
欧盟AI法案进入下一阶段:企业AI应用需要补齐哪些治理能力?
随着欧盟AI法案进入新的实施阶段,企业AI项目不能再把合规理解为“在页面上加一句AI生成提示”。OpenAI于2026年7月31日公开说明其对通用人工智能模型行为准则和AI生成内容透明度行为准则的支持,并再次强调安全评测、风险治理、来源标识、事件响应和持续更新。对于使用第三方大模型构建客服、知识库、Agent和内容生成系统的企业而言,模型提供商承担一部分责任,但应用部署方仍需建立风险分级、数据治理
Spring AI调用entity()时JSON解析失败?Markdown包裹、字段缺失与Schema不兼容完整排查
Spring AI的`ChatClient.call().entity()`可以把模型输出直接转换为Java对象,但生产项目经常遇到JSON前后带解释文字、被Markdown代码块包裹、必填字段缺失、枚举值不匹配、日期格式错误或Provider不支持完整JSON Schema等问题。默认结构化输出本质上仍可能是“Prompt约束+文本解析”,并不天然保证100%成功。本文从目标类型设计、原始响应留
Prompt约束、StructuredOutputConverter、原生JSON Schema与validateSchema怎么选?
企业AI应用需要把模型输出用于路由、入库、审批或工具调用时,不能长期依赖自然语言解析。Spring AI提供了多种结构化输出路径:在Prompt中手写格式要求、使用`StructuredOutputConverter`生成格式指令和反序列化、启用Provider原生JSON Schema约束,以及通过`validateSchema()`进行本地校验和自修复。四种方案的可靠性、兼容性、成本和复杂度不
OpenAI Assistants API将在8月26日关闭:迁移Responses API最后阶段完整清单
OpenAI已经明确,Assistants API将在2026年8月26日停止服务。距离关闭日期不足一个月时,仍依赖Assistant、Thread、Run和Run Step对象的团队不能只把接口地址替换为Responses API。新架构使用Prompt或应用代码管理配置,以Conversation承载输入与输出Item,以Response取代Run,并要求应用更明确地管理工具循环、状态裁剪、重
Spring AI流式输出为什么不能直接entity()?聚合JSON、SSE事件与最终对象解析方案
Spring AI的`.stream()`返回文本增量,而`.entity()`需要完整响应后才能生成JSON Schema、校验并反序列化为Java对象。因此,开发者无法像同步调用一样直接把流式Chunk转换成完整Entity。强行对每个片段执行JSON解析,会遇到半截字符串、转义字符、字段顺序变化和错误重试无法闭环等问题。本文给出三种可靠方案:服务端聚合后一次解析、SSE同时发送进度与最终结果
用Spring Boot搭建AI结构化输出网关:Schema注册、校验、自修复与版本治理
当多个业务系统分别调用大模型并自行解析JSON时,结构化输出规则会散落在Controller和Prompt中,导致Schema版本不一致、Provider切换失败、重试成本不可见和错误对象进入业务流程。本文实现一个轻量级Spring Boot结构化输出网关:统一注册输出Schema、选择模型、启用Provider原生结构化输出、执行本地Schema与业务校验、限制自修复次数,并记录Schema版本
Spring AI企业级应用实战(9):结构化输出、JSON Schema、校验、自修复与版本兼容
前面的章节已经完成ChatClient统一调用层、流式输出、Chat Memory、Tool Calling、MCP、可观测性和安全治理。本篇继续解决企业AI应用的核心问题:如何把模型的自然语言输出转化为稳定、可校验、可版本化的Java对象。我们将使用Spring AI 2.0的`ChatClient.entity()`、Provider原生结构化输出和Schema校验能力,实现客户意图识别服务,
GPT-5.6 Luna降价80%、Terra降价20%:企业AI模型路由应该如何重算?
OpenAI在2026年7月30日更新GPT-5.6定价:Luna价格下调80%,Terra下调20%。在新的API价格下,Sol为每百万Token 5美元输入、30美元输出,Terra为2.5美元输入、15美元输出,Luna为1美元输入、6美元输出。降价并不意味着所有业务都应该立即切到Luna,而是需要重新计算“每个成功任务”的总成本,包括失败重试、人工复核、延迟、工具调用次数和缓存命中率。本文
Spring AI Moderation已经返回flagged,为什么模型请求仍然继续执行?
Spring AI支持OpenAI和Mistral AI的Moderation模型,但Moderation只负责返回检测结果,并不会自动阻断后续ChatClient调用。很多项目虽然拿到了`flagged=true`,却仍然继续调用大模型,原因通常是业务代码没有执行策略判断、异步流程没有取消、Advisor链顺序不正确,或者只记录了审核结果却没有返回拦截响应。本文给出从Moderation调用、风