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 提高性能
相关推荐
星越华夏18 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
二哈赛车手20 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
Yolanda9420 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj30558537820 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志20 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南20 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙20 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN220 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina201920 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室20 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业