找回密码
 注册

微信登录

微信扫一扫,快速登录

查看: 486|回复: 0

Spring AI 项目介绍

[复制链接]
发表于 2025-7-7 09:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

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


在其核心,Spring AI 解决了 AI 集成的根本挑战:将您的企业「数据」和「API」与「AI 模型」连接起来。
技术架构层次 🏛️

w1.jpg
图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);
    }
}

整体架构 🏗️

w2.jpg
图2:Spring AI 核心架构与生态系统主要功能模块 🎯

1. AI 模型支持 🤖

支持的模型类型

    「聊天完成」 (Chat Completion) 💬「嵌入」 (Embedding) 🔗「文本转图像」 (Text to Image) 🎨「音频转录」 (Audio Transcription) 🎵「文本转语音」 (Text to Speech) 🔊「内容审核」 (Moderation) 🛡️
支持的提供商

提供商模块名称支持功能
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 💬

    流式 API,类似于 WebClient 和 RestClient支持同步和异步调用内置对话记忆管理支持 RAG (检索增强生成)
Advisors API 🎯

    封装常见的生成式 AI 模式转换发送到/从语言模型的数据提供跨不同模型的可移植性
工具/函数调用 🛠️

    允许模型请求执行客户端工具和函数访问实时信息扩展 AI 应用的功能边界
观测性 📊

    提供 AI 相关操作的洞察监控模型性能和使用情况集成 Spring Boot Actuator
4. 数据处理 📈

ETL 框架

    文档注入 ETL 框架数据工程支持文档读取器:
      jsoup-reader - HTML 解析markdown-reader - Markdown 文档pdf-reader - PDF 文档tika-reader - 多格式文档

结构化输出

    AI 模型输出到 POJO 的映射类型安全的响应处理
模块关系图 🔄

w3.jpg
图3:Spring AI 模块关系与依赖图主要特性 ✨

🔧 可移植性

    统一的 API 抽象,轻松切换不同的 AI 提供商标准化的配置方式
🎯 Spring 集成

    完整的 Spring Boot 自动配置依赖注入支持Spring 生态系统兼容
📈 可扩展性

    模块化设计,按需选择组件插件式架构,易于扩展
🛡️ 企业级

    完整的观测性支持错误处理和重试机制生产就绪的特性
🌐 多语言支持

    不仅限于 Python 开发者Java 生态系统的完整支持
总结 🎉

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

无论您是要构建聊天机器人、知识问答系统、还是复杂的 AI 工作流,Spring AI 都为您提供了必要的工具和抽象层,让您专注于业务逻辑的实现,而不是底层的 AI 模型集成细节。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver|手机版|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网

GMT+2, 2025-8-9 11:54 , Processed in 0.110244 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表