SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识

Spring AI 大模型应用开发篇 —— 新手入门知识(2026 年最新版)

Spring AI 是 Spring 官方推出的 AI 工程框架,目标是用 Spring 熟悉的编程模型(AutoConfiguration、Starter、ChatClient、Advisors 等)让 Java 开发者轻松集成大模型(LLM)、向量数据库、RAG、Function Calling 等能力。

它不是 LangChain 的简单 Java 移植,而是企业级、厂商无关、可移植的 AI 抽象层。
2026 年 3 月最新状态:Spring AI 2.0.0-M2(2026 年 1 月 23 日发布),基于 Spring Boot 4 + Spring Framework 7 + Java 21,已接近 GA,生产可用性大幅提升。

一、Spring AI 到底解决什么问题?

痛点没有 Spring AI 时使用 Spring AI 后
厂商绑定直接调用 OpenAI / Gemini / Claude SDK一套 API 切换任意模型(OpenAI、Ollama、Anthropic、Gemini、Mistral 等)
代码风格不统一每个模型调用方式不同统一 ChatClient(类似 WebClient)、PromptTemplate、Advisors
企业数据接入难手动写 RAG 逻辑内置 VectorStore + DocumentReader + ETL 管道
生产特性缺失缺少缓存、观测、结构化输出内置 Redis Semantic Cache、Observability、Structured Output、Tool Calling

一句话:Spring AI 让 Java 开发者用 Spring 的方式写 AI 应用,不用学 Python 那一套。

二、核心概念速览(新手必须先懂)

  • ChatClient:最核心的 fluent API,类似 RestClient,负责与 LLM 对话(同步/流式)。
  • PromptTemplate:带占位符的提示词模板,支持变量注入。
  • Advisor:拦截器模式,可在请求/响应前后做日志、缓存、RAG、Guardrails 等操作。
  • VectorStore:向量数据库抽象(Redis、PGVector、Pinecone、Milvus、Qdrant、Elasticsearch 等)。
  • EmbeddingModel:文本向量化模型。
  • Function/Tool Calling:让模型主动调用你的 Java 方法(实时查数据库、调用 API)。
  • Structured Output:让模型输出严格符合 Java POJO(JSON Schema 验证)。
  • RAG:Retrieval-Augmented Generation(检索增强生成),企业知识库问答必备。

三、零基础 10 分钟上手(2026 年推荐方式)

步骤 1:使用 Spring Initializr 创建项目(最快)

访问 https://start.spring.io

  • Spring Boot:4.0.x(或最新)
  • Java:21
  • Dependencies 搜索并勾选:
  • Spring Web(可选)
  • OpenAI(入门首选)或 Ollama(本地免费)
  • Redis Vector Store(推荐用于 RAG)
  • 其他:PostgreSQL Vector、Chroma 等按需选择

下载后解压,项目自动带好 spring-ai-bom 和 starter。

步骤 2:添加 OpenAI Key(application.yml)

spring:
  ai:
    openai:
      api-key: sk-XXXXXXXXXXXXXXXXXXXXXXXX   # 换成你的 OpenAI Key
      chat:
        options:
          model: gpt-4o-mini   # 或 gpt-4o、o1-mini 等
          temperature: 0.7

本地模型推荐用 Ollama(完全免费):

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: qwen2.5:7b   # 或 llama3.2、deepseek-r1 等

步骤 3:最简单 Hello World(ChatClient)

@RestController
@RequestMapping("/ai")
@RequiredArgsConstructor
public class AiController {

    private final ChatClient chatClient;   // Spring AI 自动注入

    @GetMapping("/chat")
    public String chat(@RequestParam String question) {
        return chatClient.prompt()
                .user(question)                    // 简单方式
                .call()
                .content();                        // 返回 String
    }

    // 进阶:带系统提示 + 流式输出
    @GetMapping("/stream")
    public Flux<String> stream(@RequestParam String question) {
        return chatClient.prompt()
                .system("你是一位友善的 Java 技术专家,用中文回答")
                .user(question)
                .stream()
                .content();
    }
}

启动项目,访问 http://localhost:8080/ai/chat?question=Spring AI 是什么 即可看到回答。

步骤 4:PromptTemplate + Structured Output 示例

record Poem(String title, String content) {}

@GetMapping("/poem")
public Poem generatePoem(@RequestParam String theme) {
    return chatClient.prompt()
            .user(u -> u.text("写一首关于 {theme} 的现代诗")
                       .param("theme", theme))
            .call()
            .entity(Poem.class);   // 自动转 POJO(2.0 加强特性)
}

四、2026 年 Spring AI 2.0 重要新特性(新手关注)

  • 原生 OpenAI SDK 支持,性能更好
  • Redis Semantic Cache(语义缓存 Advisor)
  • Mistral / Ollama Structured Output 原生支持
  • 新增 Amazon S3、Infinispan、Amazon Bedrock Knowledge Base 等 VectorStore
  • 全量 Null-Safety(JSpecify + NullAway)
  • Model Context Protocol (MCP) SDK 深度集成(支持外部工具调用)

五、新手推荐学习路径(建议顺序)

  1. Day 1:跑通上面 Hello World + ChatClient 基础
  2. Day 2:PromptTemplate + Advisor + 简单 RAG(加载文档到 VectorStore)
  3. Day 3:Function/Tool Calling(让模型调用你的 Java Service)
  4. Day 4:Structured Output + Streaming + Observability
  5. Week 2:完整 RAG 项目(企业知识库问答)+ Ollama 本地部署

官方文档(强烈建议收藏):

  • https://docs.spring.io/spring-ai/reference/
  • Getting Started:https://docs.spring.io/spring-ai/reference/getting-started.html

你现在处于哪个阶段?

  • 完全零基础,想一步步手把手写第一个项目?
  • 已经装好依赖,想直接做 RAG / Function Calling / Structured Output?
  • 还是想用本地 Ollama + Qwen2.5 完全免费跑?

告诉我你的目标(或直接说“给我一个完整的 RAG 示例项目结构”),我立刻给你贴出 可运行完整代码 + application.yml + Prompt 模板,带你 30 分钟跑通第一个生产级 Spring AI 应用!

文章已创建 4915

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部