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. 存入向量库

用户提问:
5. 问题转向量
6. 向量库做相似度检索
7. 拼接上下文给大模型
8. 大模型生成回答


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 提高性能
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐