Spring AI

Spring AI 项目旨在简化应用程序的开发,这些应用程序纳入了人工智能功能,无需不必要复杂性。

该项目从 LangChain、LlamaIndex 等知名 Python 项目中获取灵感,但 Spring AI 并非这些项目的直接移植。该项目建立在这样的信念之上:即将来的 Generative AI 应用程序浪潮不只会面向 Python 开发者,而是会普遍存在于多种编程语言中。

在核心方面,Spring AI 提供抽象作为开发 AI 应用程序的基础。这些抽象具有多种实现,从而能够使用最小的代码更改轻松交换组件。

Spring AI 提供以下功能:

  • 支持所有主要的 Model 提供商,如 OpenAI、Microsoft、Amazon、Google 和 Huggingface。

  • 支持的模型类型是聊天和文本到图像,更多内容即将推出。

  • 一个针对聊天和嵌入模型跨 AI 提供商的便携式 API。 同步和流 API 选项均受支持。下降以访问特定于模型的功能也受支持。

  • 将 AI 模型输出映射到 POJO。

  • 支持所有主要的 Vector 数据库提供商,如 Azure Vector Search、Chroma、Milvus、Neo4j、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate。

  • 一个跨 Vector Store 提供商的便携式 API,包括一个新颖的类似于 SQL 的元数据筛选器 API,它也是可移植的。

  • Function calling

  • 用于 AI 模型和向量存储的 Spring Boot 自动配置和启动器。

  • 数据工程的 ETL 框架

此功能集使你能够实现常见用例,例如“关于你的文档的问答”或“与你的文档聊天”。

concepts section 对 AI 概念及其在 Spring AI 中的表示提供了高级概述。

Getting Started 部分向您展示如何创建您的第一个 AI 应用程序。后续部分深入探讨每个组件和常见用例,方法以代码为中心。