Spring AI + RAG + 向量库 10 道模拟面试

文章目录

    • [1. 什么是 Spring AI?它解决什么问题?](#1. 什么是 Spring AI?它解决什么问题?)
    • [2. Spring AI 的核心组件有哪些?](#2. Spring AI 的核心组件有哪些?)
    • [3. Spring AI 和 LangChain 的区别?](#3. Spring AI 和 LangChain 的区别?)
    • [4. 什么是 RAG?为什么要用 RAG?](#4. 什么是 RAG?为什么要用 RAG?)
    • [5. RAG 的完整流程是什么?](#5. RAG 的完整流程是什么?)
    • [6. 为什么要用向量数据库?普通数据库不行吗?](#6. 为什么要用向量数据库?普通数据库不行吗?)
    • [7. Spring AI 中 VectorStore 是干嘛的?支持哪些库?](#7. Spring AI 中 VectorStore 是干嘛的?支持哪些库?)
    • [8. Spring AI 如何实现流式输出(打字机效果)?](#8. Spring AI 如何实现流式输出(打字机效果)?)
    • [9. Spring AI 函数调用(FunctionCall)原理?](#9. Spring AI 函数调用(FunctionCall)原理?)
    • [10. 生产上 RAG 怎么优化?(高频加分题)](#10. 生产上 RAG 怎么优化?(高频加分题))

1. 什么是 Spring AI?它解决什么问题?

答:

Spring AI 是 Spring 官方推出的 AI 应用开发框架,用来简化 Java 后端接入大模型 。

它统一了对话、向量、文档、RAG 等接口,让开发者不用关心底层是 OpenAI、通义还是文心,一套代码通用,快速做企业 AI 应用。


2. Spring AI 的核心组件有哪些?

答:

  • ChatModel:对话模型统一接口
  • EmbeddingModel:文本转向量
  • VectorStore:向量数据库抽象
  • DocumentReader & TextSplitter:文档读取与切片
  • PromptTemplate:提示词模板
  • RAG:检索增强生成
  • FunctionCall:让 AI 调用 Java 方法

3. Spring AI 和 LangChain 的区别?

答:

  • Spring AI:Java 优先、轻量、Spring 生态强、工程化友好、学习成本低
  • LangChain:Python 为主,功能多但复杂,Java 支持弱

4. 什么是 RAG?为什么要用 RAG?

答:

RAG = 检索增强生成。

先从知识库检索相关内容,再把内容给大模型,让它基于资料回答 。

解决大模型三大问题:

  • 不知道企业私有数据
  • 会胡说八道(幻觉)
  • 知识过时

5. RAG 的完整流程是什么?

答:
离线构建知识库:

  1. 加载文档(PDF/TXT/MD)
  2. 文本分块 Chunk
  3. 向量化 Embedding
  4. 存入向量库

用户提问:

  1. 问题转向量

  2. 向量库做相似度检索

  3. 拼接上下文给大模型

  4. 大模型生成回答


6. 为什么要用向量数据库?普通数据库不行吗?

答:

  • 普通数据库做精确匹配
  • 向量数据库做语义相似度匹配
  • 能理解"意思相近",而不只是关键词一样
  • 是 RAG 的核心基础设施

7. Spring AI 中 VectorStore 是干嘛的?支持哪些库?

答:

VectorStore 是向量数据库的统一抽象 。

支持:

  • SimpleVectorStore(内存)
  • Milvus
  • PGVector
  • Chroma
  • ElasticSearch

8. Spring AI 如何实现流式输出(打字机效果)?

答:

  • 使用 StreamingChatModel
  • 模型返回 SSE 流式数据
  • 返回 Flux<ChatResponse>
  • 前端逐字接收展示

9. Spring AI 函数调用(FunctionCall)原理?

答:

  1. 给 Java 方法加 @Tool
  2. Spring AI 自动生成函数描述 Schema
  3. 把函数信息传给大模型
  4. 模型判断是否需要调用
  5. Spring AI 自动反射执行方法
  6. 结果返回给模型,生成最终回答

10. 生产上 RAG 怎么优化?(高频加分题)

答:

  • 合理文本分块(大小、重叠)
  • 调整 TopK 召回数量
  • 加入重排 Rerank
  • 元数据过滤,缩小检索范围
  • 提示词优化,限制模型只看资料
  • 向量库使用 Milvus / PGVector 提高性能
相关推荐
回眸&啤酒鸭3 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅3 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein3 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu3 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
wukangjupingbb3 天前
智能网联汽车安全能力框架
人工智能
龙亘川3 天前
明月照湾区,智启新赛道:从顶流文旅IP盛会看智慧文旅升级路径
人工智能·智慧城市·开源软件·数据可视化
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent