掘金 人工智能 17小时前
Spring AI 项目介绍
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Spring AI 是一个专为 Java 开发者设计的 AI 应用开发框架,它将 Spring 的设计原则应用于 AI 领域,提供友好的 API 和抽象层。通过 Spring AI,开发者可以轻松连接数据、API 和 AI 模型,构建聊天机器人、知识问答系统等应用。该框架支持多种 AI 模型和向量数据库,提供可移植性、Spring 集成、可扩展性等特性,助力开发者快速构建生产级 AI 应用。

💡 Spring AI 的核心在于连接企业数据、API 与 AI 模型,简化 AI 应用的集成。

🚀 Spring AI 提供了丰富的 AI 模型支持,涵盖聊天完成、嵌入、文本转图像等多种类型,并支持 OpenAI、Ollama 等多家 AI 提供商。

🗄️ Spring AI 提供了对多种向量数据库的支持,包括 PostgreSQL/PGVector、Chroma、Pinecone 等,方便存储和检索 AI 相关数据。

⚙️ Spring AI 提供了核心功能组件,如 ChatClient API,支持流式调用和对话记忆管理;Advisors API,封装常见的 AI 模式;工具/函数调用,扩展 AI 应用的功能;观测性,监控模型性能和使用情况。

✨ Spring AI 具有可移植性、Spring 集成、可扩展性、企业级特性和多语言支持,为 Java 开发者构建 AI 应用提供了强大支持。

Spring AI 是一个为开发 AI 应用程序提供 Spring 友好的 API 和抽象层的项目。它将 Spring 生态系统的设计原则(如可移植性和模块化设计)应用到 AI 领域,并促进使用 POJO 作为 AI 应用程序的构建块。

核心理念 💡

在其核心,Spring AI 解决了 AI 集成的根本挑战:将您的企业**「数据」「API」「AI 模型」**连接起来。

技术架构层次 🏛️

图1:Spring AI 技术架构层次图

快速开始(以Ollma为例) 🚀

1. 添加依赖

<dependency>    <groupId>org.springframework.ai</groupId>    <artifactId>spring-ai-starter-model-ollama</artifactId>    <version>1.0.0-SNAPSHOT</version></dependency>

2. 使用 OllamaChatModel

package cn.jishuba;import org.springframework.ai.chat.client.ChatClient;import org.springframework.ai.chat.model.ChatModel;import org.springframework.ai.ollama.OllamaChatModel;import org.springframework.ai.ollama.api.OllamaApi;import org.springframework.ai.ollama.api.OllamaOptions;public class App{    public static void main( String[] args )    {        // 指定Ollama API的地址        OllamaApi ollamaApi = OllamaApi.builder()                .baseUrl("http://localhost:11434")                .build();        // 创建Ollama聊天模型        ChatModel model = OllamaChatModel.builder()                .defaultOptions(OllamaOptions.builder()                        .model("qwen2.5:latest")                        .build())                .ollamaApi(ollamaApi)                .build();        // 创建聊天客户端        ChatClient chatClient = ChatClient.builder(model)                .build();        String response = chatClient.prompt()                            .user("你好,讲个关于Java的笑话")                            .call()                            .content();        System.out.println(response);    }}

整体架构 🏗️

图2:Spring AI 核心架构与生态系统

主要功能模块 🎯

1. AI 模型支持 🤖

支持的模型类型

支持的提供商

提供商模块名称支持功能
OpenAIspring-ai-openai聊天、嵌入、图像、音频
Anthropicspring-ai-anthropic聊天、嵌入
Azure OpenAIspring-ai-azure-openai聊天、嵌入、图像
AWS Bedrockspring-ai-bedrock聊天、嵌入
Google Geminispring-ai-vertex-ai-gemini聊天、嵌入
Ollamaspring-ai-ollama本地部署聊天模型
DeepSeekspring-ai-deepseek聊天、嵌入
Minimaxspring-ai-minimax聊天
智谱AIspring-ai-zhipuai聊天、嵌入

2. 向量数据库支持 🗄️

支持的向量数据库

数据库模块名称特性
PostgreSQL/PGVectorspring-ai-pgvector-store🐘 开源、SQL兼容
Chromaspring-ai-chroma-store🎨 轻量级、易用
Pineconespring-ai-pinecone-store🌲 云原生、高性能
Redisspring-ai-redis-store🔴 内存存储、高速
Elasticsearchspring-ai-elasticsearch-store🔍 全文搜索
MongoDB Atlasspring-ai-mongodb-atlas-store🍃 文档数据库
Neo4jspring-ai-neo4j-store🔗 图数据库
Apache Cassandraspring-ai-cassandra-store🔧 分布式
Weaviatespring-ai-weaviate-store🕸️ 向量搜索

3. 核心功能组件 ⚙️

ChatClient API 💬

Advisors API 🎯

工具/函数调用 🛠️

观测性 📊

4. 数据处理 📈

ETL 框架

结构化输出

模块关系图 🔄

图3:Spring AI 模块关系与依赖图

主要特性 ✨

🔧 可移植性

🎯 Spring 集成

📈 可扩展性

🛡️ 企业级

🌐 多语言支持

总结 🎉

Spring AI 为 Java 开发者提供了一个强大、灵活、易于使用的 AI 应用开发框架。通过其模块化设计和 Spring 生态系统的深度集成,开发者可以快速构建生产级的 AI 应用程序,同时保持代码的可维护性和可扩展性。

无论您是要构建聊天机器人、知识问答系统、还是复杂的 AI 工作流,Spring AI 都为您提供了必要的工具和抽象层,让您专注于业务逻辑的实现,而不是底层的 AI 模型集成细节。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Spring AI Java AI 框架
相关文章