简介

Integration Problem

Spring AI 项目旨在简化集成人工智能功能的应用程序开发,同时避免不必要的复杂性。

该项目借鉴了著名的 Python 项目,如 LangChain 和 LlamaIndex,但 Spring AI 并非这些项目的直接移植。项目的创立基于这样的信念:下一波生成式 AI 应用将不仅仅局限于 Python 开发者,而是会普及到许多编程语言中。

Spring AI 解决了 AI 集成的根本挑战:连接你的企业数据和 API 与 AI 模型
Interactive

Spring AI 提供了作为开发 AI 应用基础的抽象。这些抽象具有多种实现,只需极少的代码更改即可轻松替换组件。

Spring AI 提供以下功能:

  • 对跨 AI 提供商的 Chat、文本到图像和 Embedding 模型提供可移植的 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。

  • 提供跨向量存储提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤 API。

  • 工具/函数调用 - 允许模型请求执行客户端工具和函数,从而根据需要访问必要的实时信息并采取行动。

  • 可观测性 - 提供对 AI 相关操作的洞察。

  • 用于数据工程的文档摄取 ETL 框架

  • AI 模型评估 - 用于帮助评估生成内容和防止幻觉响应的工具。

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

  • ChatClient API - 用于与 AI Chat 模型通信的 Fluent API,在惯用法上类似于 WebClient 和 RestClient API。

  • Advisors API - 封装了常见的生成式 AI 模式,转换发送到和来自语言模型 (LLMs) 的数据,并为不同模型和用例提供可移植性。

  • 支持Chat 对话记忆检索增强生成 (RAG)

这套功能允许你实现常见的用例,例如“基于你的文档进行问答”或“与你的文档聊天”。

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

入门章节向你展示如何创建你的第一个 AI 应用程序。后续章节将以代码为中心的方法深入探讨每个组件和常见用例。