Spring AI

《Spring AI》项目旨在简化整合人工智能功能的应用程序的开发,避免不必要的复杂性。

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

在核心层面,《Spring AI》提供了作为开发人工智能应用程序基础的抽象。这些抽象有多种实现,可以轻松地进行组件替换,而代码变化最小。

《Spring AI》提供以下功能:

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

  • 支持的模型类型包括聊天和文本到图像,更多功能正在开发中。

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

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

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

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

  • 函数调用

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

  • 数据工程的 ETL 框架

此功能集可让您实现常见用例,例如“在您的文档中进行问答”或“与您的文档进行聊天”。

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

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