官方网站:https://spring.io/projects/spring-ai
Spring AI 是一个集成到 Spring 应用中的 AI 能力的强大框架,它支持多种 AI 模型和功能,包括聊天、文本到图像、音频转录和文本到语音等 。Spring AI 的目标是简化开发人员在应用程序中整合人工智能功能的过程,它提供了抽象接口,允许开发人员轻松地将生成式 AI 作为独立组件纳入应用 。此外,Spring AI 支持所有主要的模型提供商,如 OpenAI、Microsoft、Amazon、Google 和 Hugging Face,并且提供了可移植的 API,使得在不同 AI 提供商之间切换组件变得容易 。
Spring AI 还特别支持 Groq,这是一个运行速度极快的 AI 推理引擎,并且支持工具/函数调用 。通过利用 Groq 的 OpenAI 兼容 API,Spring AI 能够实现与其现有 OpenAI Chat 客户端的无缝集成。开发人员可以利用这个框架通过熟悉的 Spring AI API 来使用 Groq 的高性能模型 。
此外,Spring AI 还提供了 Spring Boot 自动配置和启动器,用于 AI 模型和向量存储,以及数据工程的 ETL 框架 。这些特性使得实现如“文档问答”或“与文档聊天”等常见用例变得简单 。
Spring AI 项目也提供了对大型语言模型(LLM)的工具支持,例如 Ollama,允许模型决定何时调用外部函数以及如何使用返回的数据 。这为访问实时信息到执行复杂计算等各种可能性打开了大门,并与 Spring 生态系统无缝集成,使 Java 开发人员能够轻松地在其应用程序中利用这一功能 。
总的来说,Spring AI 是一个为 AI 工程提供应用程序框架的项目,旨在将 Spring 生态系统的设计原则如可移植性和模块化设计以及使用 POJOs 作为应用程序构建块的理念应用到 AI 领域 。
支持的对话模型
支持的文生图模型
- OpenAI with DALL-E
- StabilityAI
支持的向量化模型
- Azure OpenAI
- Amazon Bedrock
- Cohere
- Titan
- Azure OpenAI
- Mistral AI
- MiniMax
- Ollama
- (ONNX) Transformers
- OpenAI
- PostgresML
- QianFan
- VertexAI
- Text
- Multimodal
- PaLM2
- ZhiPu AI
支持的向量数据库
- Azure AI Service
- Apache Cassandra
- Chroma
- Elasticsearch
- GemFire
- Milvus
- MongoDB Atlas
- Neo4j
- OpenSearch
- Oracle
- PGvector
- Pinecone
- Qdrant
- Redis
- SAP Hana
- Typesense
- Weaviate
AI 模型和向量存储的启动器
函数调用您可以将 java.util.Function 实现声明给 OpenAI 模型,以便在其提示响应中使用。您可以直接将这些函数作为对象提供,或者在应用程序上下文中作为@Bean注册时引用其名称。此功能最大限度地减少了不必要的代码,并使 AI 模型能够请求更多信息以实现其响应。