认识 Spring AI
简介
Spring AI 是一个专注于AI工程的应用框架。其目标是将Spring生态系统的可移植性、模块化设计等原则应用于AI领域,并提倡在AI开发中以POJO(普通Java对象)作为应用程序的基础构建单元。
特性
核心模型支持
- 全主流AI模型提供商支持:包括Anthropic、OpenAI、Microsoft(微软)、Amazon(亚马逊)、Google(谷歌)及Ollama
- 支持模型类型
✓ 聊天补全(Chat Completion)
✓ 嵌入生成(Embedding)
✓ 文生图(Text to Image)
✓ 音频转写(Audio Transcription)
✓ 文生语音(Text to Speech)
✓ 内容审核(Moderation)
跨平台能力
- 便携式API:支持同步和流式API调用,兼容不同AI服务商,同时可访问模型专属功能
- 结构化输出:将AI模型输出映射为POJO(普通Java对象)
向量数据库集成
- 全主流向量数据库支持:包括Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis及Weaviate
- 统一查询接口:提供跨向量存储的便携API,包含创新的类SQL元数据过滤接口
高级功能
- 工具/函数调用:允许模型请求执行客户端工具函数,实时获取所需信息
- 可观测性:提供AI操作监控与分析能力
- 文档注入ETL框架:面向数据工程的文档处理流水线
- 模型评估工具:辅助评估生成内容质量,防范幻觉响应
开发者体验
- ChatClient API:与AI聊天模型交互的流式API(设计理念类似WebClient/RestClient)
- Advisors API:封装生成式AI通用模式,处理LLM输入输出转换,实现模型与用例的跨平台移植
- 对话记忆与RAG支持:支持聊天对话记忆和检索增强生成(Retrieval Augmented Generation)
- Spring Boot自动化配置:提供所有AI模型和向量存储的Starter依赖,可通过start.spring.io选择所需组件