简介
Spring AI 项目旨在简化将人工智能功能整合到应用程序中的开发过程,避免不必要的复杂性。
该项目借鉴了 LangChain 和 LlamaIndex 等著名的 Python 项目,但 Spring AI 并非这些项目的直接移植。该项目创立时秉持的信念是,下一波生成式 AI 应用程序将不仅限于 Python 开发者,而是将普及到众多编程语言中。
Spring AI 解决了 AI 集成的基本挑战:将您的企业数据和 API 与 AI 模型连接起来。 |
Spring AI 提供了作为开发 AI 应用程序基础的抽象。这些抽象具有多种实现,只需最少的代码更改即可轻松实现组件互换。
Spring AI 提供以下功能:
-
跨 AI 提供商(用于聊天、文本到图像和嵌入模型)的便携式 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 模型评估 - 帮助评估生成内容并防止幻觉响应的实用工具。
-
Spring Boot 自动配置和用于 AI 模型和向量存储的启动器。
-
ChatClient API - 用于与 AI 聊天模型通信的流畅 API,在风格上与 WebClient 和 RestClient API 类似。
-
Advisors API - 封装重复的生成式 AI 模式,转换发送到和来自语言模型 (LLM) 的数据,并提供跨各种模型和用例的可移植性。
这套功能允许您实现常见的用例,例如“基于您的文档进行问答”或“与您的文档聊天”。
概念部分提供了 AI 概念及其在 Spring AI 中表示的高级概述。
入门部分向您展示如何创建您的第一个 AI 应用程序。后续章节将以代码为中心的方法深入探讨每个组件和常见用例。