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

Spring-AI 最新文档系列(一)概述

概述

介绍


Spring AI 项目旨在简化集成人工智能功能的应用开发流程,避免引入不必要的复杂性。

该项目从 LangChain、LlamaIndex 等知名 Python 项目中汲取灵感,但并非这些项目的直接移植版本。项目的创立理念是:下一代生成式人工智能应用不会仅面向 Python 开发者,而是将普及到多种编程语言生态中。

Spring AI 旨在解决人工智能集成的核心挑战:将企业数据与 API 同人工智能模型打通。

Spring AI 提供了一系列抽象层,作为开发人工智能应用的基础。这些抽象层具备多种实现方案,能够以最少的代码改动轻松实现组件替换。
Spring AI 提供以下功能特性:

  • 为对话(Chat)、文本转图片(text-to-image)和嵌入向量(Embedding)模型提供跨人工智能服务商的可移植 API 支持,同时兼容同步和流式 API 两种调用方式,也支持访问各模型的专属特性。

  • 支持所有主流人工智能模型提供商,例如 Anthropic、OpenAI、微软(Microsoft)、亚马逊(Amazon)、谷歌(Google)和 Ollama。支持的模型类型包括:

    • 对话补全(Chat Completion)

    • 嵌入向量生成(Embedding)

    • 文本转图片(Text to Image)

    • 音频转文字(Audio Transcription)

    • 文本转语音(Text to Speech)

    • 内容审核(Moderation)

  • 结构化输出(Structured Outputs)—— 将人工智能模型的输出结果映射为简单 Java 对象(POJOs)。

  • 支持所有主流向量数据库提供商,例如 Apache Cassandra、Azure 向量搜索(Azure Vector Search)、Chroma、Milvus(Milvus 向量数据库)、MongoDB Atlas、Neo4j、Oracle(甲骨文)、PostgreSQL/PGVector、PineCone、Qdrant、Redis(分布式缓存数据库)和 Weaviate。

  • 跨向量存储提供商的可移植 API,包括创新的类 SQL 元数据过滤 API。

  • 工具 / 函数调用(Tools/Function Calling)—— 允许模型请求执行客户端工具和函数,从而根据需求获取必要的实时信息。

  • 可观测性(Observability)—— 提供对人工智能相关操作的深度洞察。

  • 面向数据工程的文档导入 ETL 框架。

  • 人工智能模型评估(AI Model Evaluation)—— 提供实用工具以助力评估生成内容,并防范幻觉响应的产生。

  • 面向人工智能模型与向量存储的 Spring Boot 自动配置(Auto Configuration)及启动器(Starters)。

  • 对话客户端 API(ChatClient API)—— 用于与人工智能对话模型交互的流式 API(Fluent API),语法风格与 WebClient、RestClient API 一脉相承。

  • 增强器 API(Advisors API)—— 封装生成式人工智能的常用模式,对往返于大语言模型(LLMs)的数据进行转换,并支持跨多种模型与应用场景的可移植性。

  • 支持对话记忆(Chat Conversation Memory)与检索增强生成(Retrieval Augmented Generation, RAG)。

这套功能集支持你实现各类常见应用场景,例如「基于文档的问答」或「与文档对话」。

概念部分(Concepts)提供了人工智能核心概念的宏观概述,以及这些概念在 Spring AI 中的具体实现形式。

快速入门部分(Getting Started)将指导你创建首个人工智能应用。后续章节将以代码为核心导向,深入探讨每个组件的细节及各类常见应用场景。

http://www.cnnetsun.cn/news/42823.html

相关文章:

  • Windows右键菜单终极优化指南:让你的右键菜单重获新生
  • ZTools v1.1.2:桌面应用启动器与搜索工具
  • Flutter Android APK 重命名 签名验证操作
  • MarchingCubes 网格数据体素化并提取等值面
  • 基于SpringBoot的餐厅推荐系统 计算机毕业设计选题 计算机毕设项目 前后端分离 【源码-文档报告-代码讲解】
  • 禁用MinIO后的7种企业级替代方案评测
  • document.querySelector在电商网站中的5个实战应用
  • 企业级应用:OpenJDK1.8在生产环境中的部署实践
  • Homebrew实战:从安装到开发环境搭建全流程
  • 企业级Git仓库SSH连接安全最佳实践
  • Day12 贝叶斯优化可视化和随机森林的解读
  • 数据湖不是湖,是江湖:Delta Lake / Iceberg / Hudi 到底该选谁?
  • 告别开题报告模板拼凑!虎贲等考 AI 智能生成,让选题逻辑从模糊想法变身可执行研究计划
  • 【LeetCode刷题】跳跃游戏
  • 鸿蒙PC UI控件库 - PasswordInput 密码输入框详解
  • day37简单的神经网络@浙大疏锦行
  • 【水果识别】基于机器视觉苹果和香蕉的成熟度和大小检测附Matlab代码
  • JAVA的平凡之路——此峰乃是最高峰JVM-附加小菜-04
  • 【电力系统】电力系统优化与控制热液调度附Matlab代码和报告
  • 基于6种最新算法(小龙虾优化算法COA、MSA、RTH、NOA、BFO、SWO)求解机器人路径规划研究附Matlab代码
  • Golang实战:构建综合多头(逾期+反欺诈)风险查询的高性能客户端
  • 【TSP问题】基于蜣螂算法DBO和改进的蜣螂算法FADBO求解旅行商TSP问题(可根据自己的经纬度设置自己想要到达的地区)附Matlab代码
  • 【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析附Matlab代码
  • 数据结构:二叉排序树,平衡二叉树,红黑树的介绍
  • 软件复用的分类与实现
  • google服务
  • 进程PCB
  • 实战教程:1小时掌握逆向Unity游戏 (共13课时)
  • [从零构建操作系统]08 函数调用时栈的底层行为解析
  • 力扣hot100:搜索插入位置