RAG知识库搭建与技术栈分享

整体架构
用户提问 → 向量检索 → LLM 生成答案
核心三件套:文档解析 + 向量数据库 + 大模型 API
完整实现步骤
1.文档预处理
支持 PDF/Word/Markdown 等格式
用 LangChain 的 DocumentLoader 加载文件
文本分块(推荐 chunk_size=500,overlap=50)
2.向量化存储
选用向量库:Milvus / FAISS / Chroma
用 text-embedding 模型把文本转成向量
存入库并建立索引
3.检索 + 生成
用户问题向量化 → 检索 Top-K 相关文档
把「检索结果 + 用户问题」拼成 Prompt
调用大模型 API,返回最终答案
推荐技术栈(低成本 / 全免费)
Python + LangChain + FAISS + 通义千问 API
新手避坑
分块太大 → 检索不精准
不做 Rerank → 召回质量差
不设置 “我不知道” → 模型容易瞎编 #从事AI岗需要掌握哪些技术栈?#
全部评论

相关推荐

3.5一面 一、 项目1. 简单介绍一下这个系统的知识库问答架构,从文档入库到最后回答的完整链路是怎样的?2. 向量检索用的是什么索引类型?3. 在召回之后有没有做重排(Rerank)之类的操作?4. 你知识库的准确率和召回率是怎么评估的?5. Spring AI Alibaba 的 Function Calling 是怎么实现的?模型如何决定调用哪个工具?6. 如果工具调用失败了,你们设计了什么处理机制?7. Execute Plan 模式具体是怎么实现的?8. 平时哪种模型用的比较多?9. 平时编码时会用哪些模型?10. 在选择向量数据库时,有没有看过其他的(如 ES、Milvus 以外的选择)?它们之间的区别你大概有概念吗?11. 在写 Prompt的时候,你有哪些实践经验或设计原则?12. Graph Rag / Agentic Rag了解过吗13. 在秒杀下单中,Lua 脚本具体做了什么?为什么要用 Lua,而不是分开执行多条指令?14. 这个项目你自己做过压测吗?15. 对系统能扛住的流量(QPS)有没有具体的概念?16. 对于什么时候该上缓存、什么时候该上本地缓存,你大概的概念是什么二、 Java 基础1. 线程池的核心参数有哪些?2. 线程池内部的具体工作流程是怎样的?3. 核心线程数和最大线程数一般怎么确定/计算?三、 场景题1. 你觉得目前 RAG(检索增强生成)最大的瓶颈是什么?2. 假设要给电商平台搭建一个百万/千万级的商品知识库问答系统,你会怎么设计?3. 针对商品信息(如价格、描述)可能被商家动态更新的情况,你的知识库设计需要考虑什么?四、手撕:二叉树的层序遍历反问面试表现,面试官当场告知通过
查看23道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务