RAG-day8
一、三种高级文本分块方式1. 滑动窗口分块把一篇长文章切成一段一段的前后两段留一部分重复内容。作用防止一句话、关键内容刚好被切在两段中间导致检索时找不到。优点简单好用不容易丢信息缺点会有少量重复内容占一点存储空间2. 递归分块按照先大后小的顺序拆分先按标题、章节分 → 再按段落分 → 最后按固定字数分。适用有层级的文档比如笔记、技术文档、手册这类能尽量保持内容完整不乱拆。3. 父子分块分两层理解父块一大段完整内容子块把父块再拆成很多小块使用逻辑存数据时只用子块做向量存入库中绑定对应的父块。查问题时用小块去匹配搜索找到后拿出完整父块给大模型用。好处搜索精准同时上下文内容完整项目里常用这种方式。二、向量数据库进阶1. 常用向量数据库介绍FAISS本地用、学习测试、小项目够用Chroma上手简单适合练手、快速做 demoMilvus企业正式项目用能存海量数据Weaviate适合图片 文字的多模态场景Pinecone云端服务不用自己维护底层2. 索引基础向量数量很大时挨个对比很慢。索引就是给向量建快速查找结构能实现毫秒级搜到相似内容常用 HNSW 索引。3. 元数据过滤给每一段文档打上标签比如时间、文档类型、所属部门。搜索时可以加条件只在指定范围里找减少无关内容。三、多模态 RAG不只能处理纯文字还能处理图片、表格、PDF 扫描件。流程用 OCR 识别图片、扫描件里的文字把文字和图片转成统一向量格式实现文字搜图片、图文一起问答适用带图表手册、扫描文件、图文资料解析。四、RAG 效果怎么判断好不好不用凭感觉看主要看两方面检索层面召回率该找到的相关内容有没有都找出来精确率找出来的内容是不是真的相关生成层面忠实度回答是不是照着查到的内容说的不瞎编相关性答案和用户问题是否匹配常用工具RAGAS、LangSmith用来自动评测 RAG 效果。五、解决大模型幻觉的两种进阶方式1. Self-RAG模型可以自己判断需不需要检索、搜到的内容好不好、生成答案有没有乱编自己检查自己减少编造。2. RAG 微调搭配RAG 用来补外部私有知识微调让模型更懂行业业务话术和知识。两者配合能明显减少大模型瞎编的情况。