介绍

Integration Problem

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

该项目借鉴了著名的 Python 项目,例如 LangChain 和 LlamaIndex,但 Spring AI 不是这些项目的直接移植。该项目基于这样的理念:下一波生成式 AI 应用程序不仅适用于 Python 开发人员,而且将在许多编程语言中普遍存在。

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

Spring AI 提供了用作开发 AI 应用程序基础的抽象。这些抽象有多种实现,从而能够轻松地交换组件,而代码更改最少。

Spring AI 提供以下功能

  • 跨 AI 提供商的便携式 API 支持,用于聊天、图像生成和嵌入模型。支持同步和流式 API 选项。还可以访问特定于模型的功能。

  • 支持所有主要的AI 模型提供商,例如 Anthropic、OpenAI、微软、亚马逊、谷歌和 Ollama。支持的模型类型包括

  • 结构化输出 - 将 AI 模型输出映射到 POJO。

  • 支持所有主要的向量数据库提供商,例如 Apache Cassandra、Azure Cosmos DB、Azure 向量搜索、Chroma、Elasticsearch、GemFire、Milvus、MongoDB Atlas、Neo4j、OpenSearch、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、SAP Hana、Typesense 和 Weaviate。

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

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

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

  • 文档注入ETL 框架 用于数据工程。

  • AI 模型评估 - 用于帮助评估生成内容并防止出现幻觉响应的实用程序。

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

  • ChatClient API - 用于与 AI 聊天模型通信的流畅 API,在用法上类似于 WebClient 和 RestClient API。

  • 顾问 API - 封装了重复出现的生成式 AI 模式,转换发送到语言模型 (LLM) 和来自语言模型 (LLM) 的数据,并在各种模型和用例之间提供可移植性。

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

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

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

入门部分中,说明了如何创建第一个 AI 应用程序。后续部分将深入探讨每个组件和常见用例,并采用以代码为中心的方法。