概述
•
3分钟阅读
Spring AI
简介
Spring AI 项目旨在简化包含人工智能功能的应用程序开发,避免不必要的复杂性。
该项目从著名的 Python 项目(如 LangChain 和 LlamaIndex)中汲取灵感,但 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
- 支持所有主要的向量数据库提供商
- 跨向量存储提供商的可移植 API,包括新颖的类 SQL 元数据过滤 API
- 工具/函数调用 - 允许模型请求执行客户端工具和函数,从而按需访问必要的实时信息
- 可观察性 - 提供 AI 相关操作的洞察
- 用于数据工程的文档注入 ETL 框架
- AI 模型评估 - 帮助评估生成的内容并防止幻觉响应的工具
- Spring Boot 自动配置和 AI 模型及向量存储的启动器
- ChatClient API - 用于与 AI 聊天模型通信的流畅 API,风格类似于 WebClient 和 RestClient API
- Advisors API - 封装重复的生成式 AI 模式,转换发送到语言模型(LLM)的数据和从其接收的数据,并在各种模型和用例之间提供可移植性
- 支持聊天对话记忆和检索增强生成(RAG)
这些功能集使您可以实现常见用例,如"文档问答"或"与文档聊天"。
概念部分提供了 AI 概念的高层次概述及其在 Spring AI 中的表示。
入门部分会指导你创建第一个 AI 应用。后续部分将以代码为重点,深入探讨每个组件和常见用例。