LangChain 核心模块 + 执行流程 + 面试高频题(Java/Python通用,面试直接背)
一、LangChain 五大核心功能模块
- Models 模型层
- 大模型LLM:文本输入→文本输出
- ChatModel:对话模型(优先用)
- Embedding 嵌入模型:文本转向量
- Prompts 提示词
- PromptTemplate 模板、FewShotPrompt 少样本提示
- 统一规范输入格式,统一喂给大模型
- Chains 链路
- 把多个能力串行组合
- 常用:LLMChain、RetrievalQA、ConversationChain
- Memory 记忆
- 会话记忆:保存上下文聊天记录
- 类型:ShortTerm、LongTerm、SummaryBuffer 摘要记忆
- Indexes & Retrievers 检索知识库
- 文档加载→分割→向量化→存入向量库
- 检索相似文本,实现RAG检索增强
- Agents 智能代理
- 让大模型自己思考、选工具、自主调用
- 可调用接口、数据库、计算器、联网搜索
二、LangChain 标准执行流程(RAG最主流)
- 文档预处理
加载PDF/MD/Excel → 文本拆分 TextSplitter - 向量化
调用Embedding模型 → 文本转向量 - 入库存储
存入向量数据库(FAISS、Milvus、Chroma、Redis) - 用户提问
用户输入问题 - 问题向量化
问题转向量,相似度检索知识库 - 拼接上下文
把检索到的参考文档 + 问题 + 提示词模板拼接 - 送入大模型
LLM整合内容生成答案输出 - 记忆存入 (对话场景)
对话内容存入Memory,维持上下文
最简流程:
文档分片 → 向量化入库 → 问题检索 → 拼接Prompt → LLM生成回答
三、LangChain 面试高频题+标准答案
1. 说说你理解的 LangChain 是什么?
答
LangChain 是大语言模型应用开发框架,用来快速搭建基于LLM的智能应用,封装了模型调用、提示词管理、对话记忆、知识库检索、智能代理等能力,降低大模型业务开发成本,主流用于RAG知识库问答、智能客服、文档助手、AI工作流编排。
2. LLM 和 ChatModel 区别?
答
- LLM:纯文本输入输出,无对话角色区分
- ChatModel:支持系统角色、用户角色、助手角色,适配对话场景,企业开发优先用ChatModel
3. 什么是RAG?RAG解决什么问题?
答
RAG=检索增强生成
流程:检索私有知识库+大模型生成
解决两大痛点:
- 大模型知识过时
- 大模型幻觉问题、不知道私有业务数据
- 不用微调大模型,低成本接入内部文档
4. 文本分割常用策略有哪些?
答
- 固定字符分割 CharacterTextSplitter
- 语义分割 SemanticSplitter
- 递归字符分割 RecursiveCharacterTextSplitter(最常用)
- 按标题/章节结构化分割
重点:设置chunkSize块大小 + overlap重叠值,防止上下文断裂
5. Embedding 向量模型作用?
答
将自然语言文本转为低维浮点向量,语义相近文本向量距离近,用于向量库相似度匹配检索。
6. 常用向量数据库有哪些?
答
- 轻量测试:FAISS、Chroma
- 生产商用:Milvus、RedisVector、Elasticsearch、PGVector
7. LangChain Memory 几种常用类型?
答
- ConversationBufferMemory:完整保存所有对话
- ConversationSummaryMemory:自动摘要压缩对话,节省token
- SummaryBufferMemory:摘要+近期消息结合(生产最优)
- VectorStoreRetrieverMemory:知识库记忆
8. Chain 链路作用是什么?
答
Chain 是LangChain业务流程编排,把提示词、模型、检索、工具组合成一条完整执行链路,一行调用完成复杂逻辑,如RetrievalQA直接实现知识库问答。
9. Agent 代理原理是什么?
答
Agent 赋予大模型自主思考决策能力
流程:
思考意图 → 判断需要调用哪个工具 → 调用工具获取结果 → 整理结果回答用户
可实现联网搜索、查数据库、调用接口、代码执行等自主行为。
10. 怎么解决大模型上下文超长、token超限?
答
- 文本合理分片,控制单块长度
- 使用摘要记忆压缩历史对话
- 多路检索只取高相似度内容
- 改用更大上下文窗口模型
- 分层检索+重排Rerank精简内容
11. LangChain 怎么自定义提示词模板?
答
通过PromptTemplate指定变量占位符,绑定输入参数,统一格式化输入内容,规范大模型回答格式(JSON、固定话术等)。
12. 项目中遇到过 LangChain 什么坑?
答
- 分片不合理导致答案断章取义
- 向量检索精度低,匹配无关文档
- 对话记忆过多造成token暴涨、响应变慢
- 大模型幻觉,编造不存在业务数据
- 并发场景下上下文记忆错乱
13. 简述 RetrievalQA 执行流程
答
用户提问→向量检索知识库文档→文档+问题组装Prompt→传入LLM→模型结合私有数据生成答案返回。
14. LangChain4j 和原生 LangChain 区别(Java面试必问)
答
- LangChain:Python生态最早最成熟
- LangChain4j:Java 专属版本,语法贴近Java,适配Spring生态,可整合SpringBoot、SpringAI,后端Java项目首选,功能对齐原版核心能力。
15. Spring AI 和 LangChain4j 怎么选?
答
- 纯AI流程、重RAG、Agent复杂编排:选LangChain4j
- 微服务项目、快速接入大模型、贴合Spring全家桶:选Spring AI