Spring AI

Spring AI项目旨在简化包含人工智能功能的应用程序的开发,而不增加不必要的复杂性。

该项目汲取了LangChain和LlamaIndex等知名Python项目的灵感,但Spring AI并非直接移植这些项目。该项目的创立基于这样一种信念,即下一波生成式人工智能应用程序不仅仅是针对Python开发人员,而将在许多编程语言中普及。

在其核心,Spring AI提供了用于开发AI应用程序的基础抽象。这些抽象有多个实现,可以通过最小的代码更改轻松进行组件交换。

Spring AI提供以下功能:

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

  • 支持的模型类型有Chat和Text to Image,更多类型正在开发中。

  • 跨AI提供商的便携式API,用于Chat和Embedding模型。支持同步和流API选项。还支持降级访问模型特定功能。

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

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

  • 跨向量存储提供商的便携式API,包括一种新颖的类似SQL的元数据过滤器API。

  • 函数调用

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

  • 数据工程的ETL框架

此功能集使您能够实现常见用例,例如“在文档中进行问答”或“与文档交流”。

概念部分提供了人工智能概念及其在Spring AI中的表示的高级概述。

入门部分向您展示如何创建您的第一个AI应用程序。随后的章节将以代码为重点,深入探讨每个组件和常见用例。