该项目旨在简化应用程序的开发流程,在不增加不必要复杂性的前提下融入人工智能功能。
该项目从 LangChain 和 LlamaIndex 等著名 Python 项目中汲取灵感,Spring AI 帮助 Java 等非 Python 语言的开发者可以在生成式人工智能应用中有所作为。
Spring AI 的核心是解决人工智能集成的基本挑战:将企业数据和应用程序接口与人工智能模型连接起来。
Spring AI 提供的抽象是开发 AI 应用程序的基础。这些抽象有多种实现方式,只需修改极少的代码就能轻松实现组件交换。
基于 1.0.0-SNAPSHOT 版本的 Spring AI 提供以下功能:
- 支持所有主要的模型提供商,例如 OpenAI、Microsoft、Amazon、Google,国内的智普等;
- 支持的模型类型包括聊天、文生图、音频转录、文本到语音等。
- 跨 AI 提供商的可移植 API,适用于所有模型。支持同步 API 和流 API 选项。还支持下拉以访问特定于模型的功能。
- 将 AI 模型输出映射到 POJO,更加贴近 Java Bean 的习惯用法。
- 支持所有主要的矢量数据库提供商,如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、Redis,同时支持基于本地内存的 SimpleVector。
- 跨 Vector Store 提供商的可移植 API,包括一种新型的类似 SQL 的元数据过滤器 API,该 API 也是可移植的。
- 函数调用。
- Spring Boot 支持 AI 模型和向量存储的自动配置。
- 用于数据工程的 ETL 框架。