文章目录
-
- [一、基础概念(必问 5 道)](#一、基础概念(必问 5 道))
-
- [1. 什么是 Spring AI?](#1. 什么是 Spring AI?)
- [2. Spring AI 的核心设计目标是什么?](#2. Spring AI 的核心设计目标是什么?)
- [3. Spring AI 核心模块有哪些?](#3. Spring AI 核心模块有哪些?)
- [4. Spring AI 支持哪些大模型?](#4. Spring AI 支持哪些大模型?)
- [5. Spring AI 和 LangChain 的区别?](#5. Spring AI 和 LangChain 的区别?)
- [二、RAG 相关(面试超级高频)](#二、RAG 相关(面试超级高频))
-
- [6. 什么是 RAG?](#6. 什么是 RAG?)
- [7. RAG 完整流程是什么?(标准 6 步)](#7. RAG 完整流程是什么?(标准 6 步))
- [8. 为什么要用向量数据库?](#8. 为什么要用向量数据库?)
- [9. Spring AI 中 VectorStore 作用是什么?](#9. Spring AI 中 VectorStore 作用是什么?)
- [10. Spring AI 如何实现 RAG?](#10. Spring AI 如何实现 RAG?)
- 三、核心组件原理(必背)
-
- [11. ChatModel 是什么?](#11. ChatModel 是什么?)
- [12. EmbeddingModel 作用?](#12. EmbeddingModel 作用?)
- [13. 什么是 PromptTemplate?](#13. 什么是 PromptTemplate?)
- [14. Spring AI 流式响应原理?](#14. Spring AI 流式响应原理?)
- [15. Spring AI 函数调用(FunctionCall)原理?](#15. Spring AI 函数调用(FunctionCall)原理?)
- 四、生产/实战类(进阶)
-
- [16. RAG 如何优化?](#16. RAG 如何优化?)
- [17. Spring AI 支持哪些向量数据库?](#17. Spring AI 支持哪些向量数据库?)
- [18. Spring AI 适合什么场景?](#18. Spring AI 适合什么场景?)
- 五、你面试可以直接背的万能总结
一、基础概念(必问 5 道)
1. 什么是 Spring AI?
Spring AI 是 Spring 官方推出的 AI 应用开发框架 ,目标是简化 Java 开发者接入大模型、向量数据库、RAG、函数调用等能力,提供统一 API、模型无关、开箱即用的体验。
2. Spring AI 的核心设计目标是什么?
- 模型无关性:一套代码,切换模型不用改业务
- Spring 生态原生集成:自动配置、依赖注入、Starter
- 简化 AI 工程化:封装 Prompt、Embedding、VectorStore、RAG
- 低学习成本:Java 开发者不用懂 AI 底层也能快速开发
3. Spring AI 核心模块有哪些?
- Chat Model:对话模型(OpenAI、通义、Ollama 等)
- Embedding Model:文本转向量
- VectorStore:向量数据库抽象
- Prompt / PromptTemplate:提示词管理
- DocumentReader / TextSplitter:文档读取与切片
- RAG:检索增强生成
- FunctionCall:AI 调用 Java 方法
4. Spring AI 支持哪些大模型?
- OpenAI
- 阿里云通义千问
- 百度文心一言
- 讯飞星火
- Ollama(本地大模型)
- ZhipuAI 等
特点:统一接口,换配置不换代码。
5. Spring AI 和 LangChain 的区别?
- Spring AI:Java 第一、Spring 生态、简单轻量、工程化强
- LangChain:Python 为主、功能极多、复杂、Java 支持弱
二、RAG 相关(面试超级高频)
6. 什么是 RAG?
Retrieval-Augmented Generation 检索增强生成
先从外部知识库检索相关内容,把内容拼到提示词里,再让大模型回答,解决幻觉、知识过时、无业务数据问题。
7. RAG 完整流程是什么?(标准 6 步)
离线构建:
- 加载文档(PDF/TXT/MD)
- 文本分块(Chunk)
- 向量化(Embedding)
- 存入向量库
在线问答:
-
用户问题转向量 → 向量库做相似度检索
-
拼接上下文 → 给大模型生成回答
8. 为什么要用向量数据库?
- 普通数据库只能精确匹配
- 向量数据库可以做语义相似度检索
- 是 RAG 的核心基础设施
- 支持高效 Top-K 相似查询
9. Spring AI 中 VectorStore 作用是什么?
统一抽象向量库,屏蔽底层实现差异:
- SimpleVectorStore(内存)
- Milvus
- PGVector
- Chroma
- ElasticSearch
10. Spring AI 如何实现 RAG?
- 用
DocumentReader读取文档 - 用
TextSplitter切片 - 用
EmbeddingModel转向量 - 存入
VectorStore - 用户提问 →
similaritySearch - 拼接上下文 →
ChatModel生成回答
三、核心组件原理(必背)
11. ChatModel 是什么?
对话模型的统一顶层接口 。
不管底层是 OpenAI 还是通义,上层调用都一样。
12. EmbeddingModel 作用?
把文本 → 向量(一串数字)
用于语义检索、RAG、相似度计算。
13. 什么是 PromptTemplate?
提示词模板,支持变量替换,让提示词可复用、可管理。
14. Spring AI 流式响应原理?
- 模型返回 SSE 流式数据
- Spring AI 使用
StreamingChatModel - 返回
Flux<ChatResponse> - 前端逐字接收(打字机效果)
15. Spring AI 函数调用(FunctionCall)原理?
- Java 方法上加
@Tool - Spring AI 自动生成 Function Schema
- 传给大模型
- 模型判断是否需要调用工具
- Spring AI 自动反射执行方法
- 结果返回给模型,生成最终回答
四、生产/实战类(进阶)
16. RAG 如何优化?
- 合理切片(大小、重叠)
- 增加召回数量(topK)
- 加入重排(Rerank)
- 元数据过滤(Metadata Filtering)
- 多向量库混合检索
- 提示词工程优化
17. Spring AI 支持哪些向量数据库?
- SimpleVectorStore
- Milvus
- PGVector
- Chroma
- ElasticSearch
- Pinecone
18. Spring AI 适合什么场景?
- 企业知识库
- 智能客服
- 内部 RAG 应用
- AI 助手
- 文档问答
- 推荐/语义检索系统
五、你面试可以直接背的万能总结
Spring AI 是 Spring 官方的 AI 开发框架,通过统一抽象 屏蔽大模型差异,提供 Chat、Embedding、VectorStore、RAG、FunctionCall 等能力,让 Java 开发者可以快速、低成本构建企业级 AI 应用,是目前 Java 后端接入 AI 的主流方案。