简介
Spring AI
项目旨在简化应用程序的开发过程,在不增加不必要的复杂性的前提下整合 AI(人工智能)功能。
本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。 |
该项目从 LangChain 和 LlamaIndex 等著名 Python 项目中汲取灵感,但 Spring AI 并不是这些项目的直接移植。项目成立的信念是,下一波生成式人工智能应用将不仅仅是 Python 开发人员的专利,它将在多种编程语言中无处不在。
Spring AI 解决了 AI 集成的根本难题:将企业数据和 API 与 AI 模型连接起来 。
|
Spring AI 提供的抽象是开发 AI 应用的基础。这些抽象有多种实现方式,只需修改极少的代码就能轻松实现组件更换。
Spring AI 提供了以下功能:
-
跨多家 AI 提供商的 Chat、文本转图像和嵌入模型的可移植 API 支持。支持同步和流式A PI 选项。还可访问特定于模型的功能。
-
支持所有主要的 AI 模型提供商,如 Anthropic、OpenAI、微软、亚马逊、谷歌和 Ollama。支持的模型类型包括:
-
结构化输出 - 将 AI 模型输出映射到 POJO。
-
支持所有主要的 向量数据库提供商,如 Apache Cassandra、Azure Cosmos DB、Azure Vector Search、Chroma、Elasticsearch、GemFire、MariaDB、Milvus、MongoDB Atlas、Neo4j、OpenSearch、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、SAP Hana、Typesense 和 Weaviate。
-
跨向量数据库提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤器 API。
-
工具/函数调用 - 允许模型请求执行客户端工具和函数,从而根据需要访问必要的实时信息并执行操作。
-
可观测性 - 深入了解 AI 相关操作。
-
用于数据工程的文档摄取 ETL 框架。
-
AI 模型评估 - 帮助评估生成内容和防止幻觉反应的实用工具。
-
针对 AI 模型和向量存储的 Spring Boot 自动配置和 Starter。
-
ChatClient API - 用于与 AI 聊天模型通信的 Fluent API,与
WebClient
和RestClient
API 相似。 -
Advisor API - 封装了重复的生成式 AI 模式,转换发送到和从语言模型(LLMs)返回的数据,并在各种模型和用例之间提供可移植性。
-
支持 聊天对话记忆 和 检索增强生成(RAG)。
通过这些功能,你可以实现 “文档问答” 或 “文档聊天” 等常见用例。
概念部分 述了 AI 概念及其在 Spring AI 中的表现形式。
入门部分 展示了如何创建第一个 AI 应用程序。随后的章节将以代码为中心,深入介绍每个组件和常见用例。