教程目录
什么是 RAG?
一、定义 RAG(Retrieval-Augmented Generation,检索增强生成)把外部知识检索和大语言模型生成结合起来。先从知识库检索相关文档,再让 LLM 基于检索结果生成回答。 二、解决的问题 LLM 知识截止,不知道最新信息。 LLM 幻觉,编造内容。 LLM 不知道企业私有知识
RAG 中的 Embedding 和向量数据库?
一、Embedding(嵌入) 把文本转换为高维向量(如 768/1024 维),语义相近的文本向量距离近。 二、向量数据库 专门存储和检索向量的数据库,支持相似性搜索。 Milvus:开源,高性能,分布式。 Pinecone:云服务。 Weaviate:开源,支持混合检索。 Chroma:轻量,适
RAG 中的文档分块策略?
一、为什么要分块 文档太长无法直接向量化(Embedding 有 token 限制),且 LLM 上下文有限。分块后每块独立检索。 二、分块方法 1. 固定长度分块 按 token 数切分,如每块 500 token,重叠 50 token。 - 优点:简单。 - 缺点:可能切断语义。 2. 按结构
如何评估 RAG 系统的效果?
一、评估维度 检索质量:检索到的文档是否相关。 生成质量:回答是否准确、完整、流畅。 端到端效果:整体回答是否满足用户。 二、检索评估指标 Recall(召回率):相关文档中被检索到的比例。 Precision(精确率):检索到的文档中相关的比例。 MRR:第一个相关文档的排名倒数。 NDCG:考虑
RAG 系统的优化手段?
一、检索优化 分块优化:合理的块大小和重叠。 Embedding 优化:用更适合的模型,微调。 混合检索:向量 + 关键词,提升召回。 重排(Rerank):用 Cross-Encoder 对检索结果重排序,提升精度。 查询改写:用 LLM 改写用户问题,提升检索效果。 多查询:生成多个相关问题分别