Spring 中文 笔记

Spring 中文

春天是一个功能强大的工具集,旨在快速高效地构建Web应用程序,允许开发者使用简单、可扩展的方式编写代码,从而创建企业级应用程序。 Spring框架使Java或其他语言的应用程序开发变得更加容易,并且可以部署在任何层次的服务器上,无论是HTTP服务器还是应用服务器。 Spring已经在各种环境中证明了其价值,为小型和大型团队都提供了帮助,使各种任务变得更加容易。该框架提供了不同的模块,可以单独使用或组合使用以创建企业级应用程序,为开发过程带来了灵活性和简洁性。 官方的Spring网站提供了各种资源和工具,如文档、教程、培训课程和示例,帮助开发者入门和掌握该框架。该网站还包括最新的发布说明、更新和社区部分,开发者可以在这里分享想法、获取支持或贡献项目。

笔记线程

Spring AI TypeSafe 集成了 TypeSafe AI 的 Jev API,为 AI 应用提供快速、低成本且结构化的决策组件。它绕过传统的提示模板和 JSON Schema 解析,转而提供一个客户端,接收状态和类型化的问题,并返回结构化的答案。该系统处理三种基本问题类型:Noul(用于是/否)、Choice(用于选择选项)和 Score(用于在评分标准上进行排序)。这些基本类型返回精确值、概率和置信度,从而实现细粒度的评估。该服务专为速度和成本效益而设计,在基准测试中,其性能和价格均显著优于典型的聊天模型调用。这使得在 AI 管道的各个阶段进行检查成为可能。核心思想是在代码中组合原子问题,使服务能够针对单一状态观测并行处理这些问题。这一能力在 LLM-as-a-Judge 场景中得到了体现,其中 JevJudge 可依据特定标准和阈值构建,以评估模型输出。置信度分数提供了额外的信息维度,表明答案基于其分布的确定性程度。JevSelfRefineAdvisor 利用该判断系统实现自我修正循环,在未达到标准时,根据反馈重试模型调用。此外,JevGuardrailAdvisor 充当安全层,对预定义的危险对用户输入和模型输出进行筛查。它不进行重试,而是根据严重程度进行阻止或标记。该系统的输出是结构化的,提供分类、分数和决策,而不生成散文。TypeSafe AI 的基本类型包括:Noul(是/否,返回 0 到 1 之间的真值)、Choice(选择一个选项,返回所选标签、所有选项的概率以及置信度)和 Score(在有序评分标准上定位,返回连续值及相关概率)。为这些基本类型提供选项描述和清晰的指令,可显著提升性能和置信度。该项目作为 Maven Central 启动器提供,可配合 Spring Boot 使用,也可独立使用。
CdXz5zHNQW_hDXjfLYIZj.png
大型语言模型虽然功能强大,但在软件集成中处理结构化数据时仍面临挑战。Spring AI 的结构化输出功能填补了这一空白,使模型能够生成符合定义模式的文本,并将其解析为强类型对象。Spring AI 2.0 引入了两项关键增强功能:原生支持的结构化输出和自纠正模式验证。由于默认行为未变,现有代码保持兼容。要生成结构化输出,开发者需定义一个 Java record,然后使用 .entity() 方法指定目标类型。该过程内部会从 record 生成 JSON Schema,将其附加到提示词中,并将模型的 JSON 响应解析回所需的对象。在 Spring AI 2.0 之前,该过程缺乏保障,若模型偏离模式,可能导致解析错误。启用 .validateSchema() 开关可激活自纠正重试循环,自动将模型的响应与模式进行验证;若验证失败,则重新发出提示词并附带具体的错误反馈。为实现更强的保障,.useProviderStructuredOutput() 利用特定提供者的 API 功能,在源头强制模式合规性,从而通过防止无效响应被发出,最大限度地减少畸形输出。这两项功能可结合使用以实现最大韧性,其中原生结构化输出作为主要约束,模式验证作为后备机制。对于 List 和 Map 等泛型类型,需使用 ParameterizedTypeReference 而非简单的 Class。使用 .responseEntity() 方法可同时访问已解析的实体和原始的 ChatResponse 以获取元数据。当内置转换器不足时,可自定义 StructuredOutputConverter 实现来处理非标准的 JSON 包装,或完全不同的格式(如 YAML 或 CSV),从而为多样化的集成需求提供进一步灵活性。
CdXz5zHNQW_ujOXatEKZz.png