跳到正文
技术吧
返回

Spring AI 项目介绍

更新于:

项目概述 📋

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

核心理念 💡

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

技术架构层次 🏛️

快速开始(以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);
    }
}

整体架构 🏗️

主要功能模块 🎯

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 框架

结构化输出

模块关系图 🔄

主要特性 ✨

🔧 可移植性

🎯 Spring 集成

📈 可扩展性

🛡️ 企业级

🌐 多语言支持

总结 🎉

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

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


分享本文:

上一篇
用Spring AI搭建本地RAG系统:让AI成为你的私人文档助手
下一篇
你的AI系统该如何"组队"?多智能体架构选择指南