2026/1/9 22:07:39
网站建设
项目流程
南通住房和城乡建设部网站,大学生网页设计作业成品,网站建设推广运营,请写出网站建设前期需要做的准备文章详解RAG数据准备流程#xff0c;包括文档加载和文本分块两大步骤。文档加载比较了Unstructured、PyMuPDF4LLM等工具特点与适用场景#xff1b;文本分块分析了固定大小、递归分块、语义分块等策略#xff0c;以及基于文档结构的分块方法#xff0c;并介绍了ChunkViz可视…文章详解RAG数据准备流程包括文档加载和文本分块两大步骤。文档加载比较了Unstructured、PyMuPDF4LLM等工具特点与适用场景文本分块分析了固定大小、递归分块、语义分块等策略以及基于文档结构的分块方法并介绍了ChunkViz可视化工具的应用。一、前言上篇我们提到RAG的两大过程检索与生成而在检索之前首先需要构建知识库而构建知识库之前需要进行数据准备。数据准备又可以细分两步文档加载、文本分块。接下来我们就讲下这块的内容。二、文档加载文档类型可能有word、excel、pdf、md等格式都需要对应的解析为文本或结构化数据才可以进行文本分块。解析文档内容的同时需要提取相关元数据如页码等信息方便溯源引用来源。文本加载一般会使用已有的类库这些类库把不同文档类型的解析做了封装处理方便直接调用。主流文档加载器工具名称特点适用场景性能表现PyMuPDF4LLMPDF→Markdown转换OCR表格识别科研文献、技术手册开源免费GPU加速TextLoader基础文本文件加载纯文本处理轻量高效DirectoryLoader批量目录文件处理混合格式文档库支持多格式扩展Unstructured多格式文档解析PDF、Word、HTML等统一接口智能解析FireCrawlLoader网页内容抓取在线文档、新闻实时内容获取LlamaParse深度PDF结构解析法律合同、学术论文解析精度高商业APIDocling模块化企业级解析企业合同、报告IBM生态兼容MarkerPDF→MarkdownGPU加速科研文献、书籍专注PDF转换MinerU多模态集成解析学术文献、财务报表集成LayoutLMv3YOLOv8如上工具里之前用过MinerU整体效果不错可以直接将文档解析为md、json格式直接对文档结构化生成文档标题结构信息。 这些工具多数都会内部依赖传统算法模型yolo、nltk等同时借助LLM大模型实现语义相关优化Unstrucured这里主要介绍下Unstrucuredlangchain内部也集成了Unstructured。Unstructured有如下优势1、格式支持广泛支持word、excel、pdf、html、md等格式而且对外api接口一致内部根据不同格式调用不同的解析逻辑2、可以直接识别标题、段落、表格等结构化信息保留文档元数据方便后续分块、入库通过langchain加载可以使用langchain的UnstructuredMarkdownLoader实现文档加载这个是langchain对Unstructured的封装实现。from unstructured.partition.auto import partitionfrom unstructured.partition.pdf import partition_pdf# PDF文件路径pdf_path data/C2/rag.pdf# 使用Unstructured加载并解析PDF文档elements partition( filenamepdf_path, content_typeapplication/pdf)# 直接使用partition_pdf# elements partition_pdf(filenamepdf_path)# hi_res会用到yolo模型# elements partition_pdf(filenamepdf_path, strategyhi_res)# ocr_only用到poppler工具# elements partition_pdf(filenamepdf_path, strategyocr_only)# 打印解析结果print(f解析完成: {len(elements)} 个元素, {sum(len(str(e)) for e in elements)} 字符)# 统计元素类型from collections import Countertypes Counter(e.category for e in elements)print(f元素类型: {dict(types)})# 显示所有元素print(\n所有元素:)for i, element in enumerate(elements, 1): print(fElement {i} ({element.category}):) print(element) print( * 60)partition内部会根据不同文档类型调用不同的实现类本例中使用的pdf文件实际上就是调用的partition_pdf。我们也可以直接调用partition_pdf可以有一些参数自定义不同的策略内部调用的工具也不同。解析的结果是各种类型的元素后续可以根据不同的需要再对元素进行拼接分块。三、文本分块文本分块的理解文本分块就是把长篇的文档拆分为一个个相对较短的文本片段这个片段就是RAG之检索的基本单位。一个片段一般几百字尽可能只有一个语义主题这样可以更好的和用户提问相匹配。文本分块的重要性文本分块需要选择合适的分块大小主要考虑模型输入限制与性能考虑1、模型输入的限制 embedding一般都有输入限制有些512token长一些的1024token分块过程无法embedding向量化大模型输入一般会比较长但是由于分块会比较长也会导致放不了几个分块从而影响了可以参考信息的广度。 而且随着输入内容的过长也会导致输出结果的准确性打折扣2、为啥分块不是越大越好因为过大的分块会影响RAG的性能 1嵌入过程的性能损失 embedding会将文本转换为一个向量多维数值数组如512/768/1024维不管这个文本有多少个字都是生成一样长度的向量。这个其实是做了信息压缩的不管之前多少文字都转换成相同大小的向量检索阶段就是通过比较两个向量的位置相近即语义相似来检索相关内容。但是如果分块很长可能存在多个主题信息会导致信息压缩程度更大那么信息丢失更多关键信息就会变模糊从而影响了检索精度2主题稀释影响检索过长的分块意味着一个分块存在多个主题这样导致主题信息的稀释就会导致本来应该检索到的内容没有呗检索到进而影响最终的生成结果。3生成过程的大海捞针如果分块过大在生成阶段会导致有用的没用的信息都给到大模型没用的信息就会形成干扰信息而且大量的上下文输入到大模型也会影响大模型提取到最关键的信息来回答问题。基本的分块策略1、固定大小这个是最基本的分块策略按照固定长度的分块。但是一般也会保证整句的完整性。一般还会设置重叠长度以便保留上下文信息。这种方法的好处就是简单、效率高但是存在把同一语义的内容切分到不同的分块。2、递归分块该方法是利用多个分隔符按层级递归分块先按第一个分隔符分块如果不超过分块大小则暂存后续累加如果超过分块大小则先把之前暂存分块信息合并分块接着判断是否还有剩余分割负如有按第分隔符继续分割后续操作递归相比于固定大小分块递归分块可以更好的处理超长文本可以利用更细粒度的分隔符继续分割3、语义分块语义分块是更加智能的分块方法可以不依赖固定长度、分隔符而是尝试利用语义进行切分。核心是在语义差异显著的地方进行切分。这样可以保持每个分块具有内部一致性。基本实现过程1先按照分隔符切分为一个个句子2对句子embedding一般会将当前句子的上下句也加入计算embedding这样可以更好融入上下文信息3计算相邻句子的embedding向量的语义差异语义差异越大说明语义关联越弱更应该在这些地方断开4识别端点根据各个句子的语义距离统计数据确定一个阈值大于该值的位置则为断句的位置5根据断句位置将句子合并为分块具体如何语义分块的方法也有多种如百分位法、标准差法、四分位距法、梯度法。基于文档结构的分块对于有明确文档结构标记的文档如html、md等可以基于文档结果进行分块以md文档为例说明下分块思路1、根据标题可以识别一级标题# xx、二级标题## yy…然后就可以使用# ##进行内容分割然后根据层级可以一级一级细化2、内容聚合基于标题就可以把标题下的文本内容聚合到一起并且有层级关系这个时候还可以把标题信息作为文本的元数据信息从而可以实现文本的定位还存在某个标题下文本长度过长的问题这个时候可以使用其他方法继续对该文本进行分块多个分块都可以拥有相同的标题信息元数据四、分块可视化可以利用ChunkViz工具实现分块的可视化如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2025 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取