该项目旨在简化包含人工智能功能的应用程序的开发,而不会产生不必要的复杂性。Spring AI
该项目从著名的 Python 项目(如 LangChain 和 LlamaIndex)中汲取灵感,但 Spring AI 并不是这些项目的直接移植。 该项目的成立理念是,下一波生成式 AI 应用程序将不仅适用于 Python 开发人员,而且将在许多编程语言中无处不在。
Spring AI 解决了 AI 集成的根本挑战:.Connecting your enterprise Data and APIs with the AI Models |
Spring AI 提供了抽象,作为开发 AI 应用程序的基础。 这些抽象具有多种实现,支持以最少的代码更改轻松交换组件。
Spring AI 提供以下功能:
-
跨 AI 提供商的可移植 API 支持,用于聊天、文本到图像和嵌入模型。支持同步和流式处理 API 选项。此外,还可以访问特定于模型的特征。
-
支持所有主要的 AI 模型提供商,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 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。
-
跨 Vector Store 提供商的可移植 API,包括新颖的类似 SQL 的元数据过滤器 API。
-
工具/函数调用 - 允许模型请求执行客户端工具和函数,从而根据需要访问必要的实时信息。
-
可观察性 - 提供对 AI 相关操作的见解。
-
用于数据工程的文档注入 ETL 框架。
-
AI 模型评估 - 帮助评估生成的内容并防止幻觉响应的实用程序。
-
AI 模型和向量存储的 Spring Boot 自动配置和Starters。
-
ChatClient API - 用于与 AI 聊天模型通信的 Fluent API,惯用性类似于 WebClient 和 RestClient API。
-
Advisors API - 封装重复的生成式 AI 模式,转换发送到和传出语言模型 (LLM) 的数据,并提供跨各种模型和用例的可移植性。
-
支持 Chat Conversation Memory and Retrieval Augmented Generation (RAG)。
此功能集允许您实施常见使用案例,例如“就您的文档进行问答”或“与您的文档聊天”。
概念部分提供了 AI 概念及其在 Spring AI 中的表示的高级概述。
入门部分介绍如何创建您的第一个 AI 应用程序。 后续部分将采用以代码为中心的方法深入研究每个组件和常见使用案例。