你的 RAG 还在“垃圾进,垃圾出”?我用这套流程,把“废料”文档变成了黄金知识库

你的 RAG 还在“垃圾进,垃圾出”?我用这套流程,把“废料”文档变成了黄金知识库

最近大家关注Dify的进展的话,应该知道它的版本更新直接从1.8.0—>2.0.1了。跨越了一个大的版本。它本次的主要更新就在于知识库构建的知识流水线

我认为Dify2.0以后的知识流水线会极大地降低了构建知识库的门槛,未来也许能高效处理 80% 的相对标准的文档

但是,仍然会有20%,还是要依赖于我们人来手动处理。

我们都知道,现阶段来说,对于知识库,仍然是一个垃圾进垃圾出的状态,因此,在构建知识库之前我们需要对知识文档做很多的预处理。

今天这篇文章的分享,其实也是想给大家分享下我们自己手工处理文档的数据清洗思路

Dify2.0

  1. RAG知识库的瓶颈

知识库的质量不取决于模型,而取决于“垃圾进,垃圾出”的铁律。真正的瓶颈是ETL(抽取、转换、加载)过程,尤其是从非结构化源文档到结构化知识块(Chunks)的转换过程。

我们每个公司其实私有的数据量,私有的文档是非常庞大的,而它的内容又是千奇百怪的。针对一个合同,就可能有几十几百种格式,所以指望一套流程来完成这个非结构化源文档到RAG知识库的转变基本是不可能的。

我们如果想偷懒直接将某个文档上传到RAG知识库,就希望他回答的100%准确,那是不可能的。因为用户的问题是多种多样的,而所谓的知识库检索过程,说到底就是一个取一个数据库里面,找与问题最相似的文本内容。但是,你要知道,这极有可能是找不到的。

就像原来的bert,为什么当时一个标准问后面要跟着那么多的相似问,就是因为怕只根据一个相似问,找不到对应的标准问。因为相似问和标准问在文字上可能其实没什么关系。

RAG

2.我的RAG清洗和构建思路

在Dify2.0的知识流水线出来以前,其实我自己已经构建了一套初版的RAG知识库构建流程。整体的思路,大概是下图中的流程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我的工作流

下面我想重点和大家聊聊我这套流程的整体思路。这套流程,本质上其实也是为了避免垃圾进垃圾出。

文档格式转换

这里为什么要将类似于pdf文件或者docx格式的文件转换为markdown格式呢。
主要的原因就是大模型对于md格式或者json等相关的格式,在识别上有天然的优势。
而且md格式,本身对于图表,图片的处理也相对比较优雅(一般对话聊天窗口的前端都是支持对markdown格式进行渲染的,所以图文混排会比较好实现。)。

格式转换

在这里,其实我面临的问题是有大量的docx文档,其实他们的格式相对比较统一,所以我就和AI去讨论,我应该怎么将他们转换为md文档。

AI其实推荐了4种工具:pandoc,python-docx库,unstructured,MinerU

最后我选择了瑞士军刀pandoc,因为它相对来说没有那么麻烦,而且已经可以解决我的问题。

Pandoc :https://pandoc.org/

大家有兴趣的话可以去官网看下它的介绍,他还是非常强大的。

当然,因为我这里是批量转换,所以使用它的时候,需要写一个脚本,也是需要一点点的代码基础的,不过我不会,但是我们可以让AI来搞。

我的需求就是让AI帮我写一个win的shell脚本,可以将同步路中的docx文件输出到一个指定的文件夹。很快AI就可以写完这个代码。

我们使用国内的Trae可以很轻松的完成这个任务。

脚本相对比较长,我就不全都贴出来了。大家有兴趣的话可以联系我交流一下。

脚本

文档格式深度整理

格式整理

因为本身我的文档每个内容不是特别多,基本不会超过5000字,但是数量又特别多,而原始文档,其实很多人都没有很好的用word的样式对标题等进行格式化。且有的语义相对比较乱,所以我在这里使用大模型帮我对文档的格式进行了进一步的整理。

这一步,本身的目的是为了为后续构建RAG知识库的父子分块做准备。

我统一去掉了一级目录,计划使用二级目录##和三级目录###,分别作为知识库的父块和子块

大模型对md格式理解相对是比较深的,所以我们这一步使用大模型来做这件事,其实是ok的。

这里我用了一个格式整理节点,和一个内容缺失校验的节点。来保证它整理结果的正确性。当然,我们在他整理完成以后,抽查一下,更加稳妥。

毕竟模型存在幻觉。

格式深度整理

问答对生成

QA问答对生成

无论是什么样类型的文档,只要是计划做类似于智能客服类型的服务,QA问答对,是保证回复正确性的一个神器
尤其是对于保险公司内部的核保助理、合规咨询助理、人力行政助理等等相关场景的落地。
这里我们可以继续使用大模型来帮我们做这件事。和上面的工作流类似:

问答对生成

我们还是使用一个大模型节点来生成问答对,另外一个节点来进行检查,这样可以尽可能的降低错误概率。

当然,这一步和上一步,相对来说是比较重要的,每次完成以后,最好是可以人工来进行一下审核

自动化测试

质量评估

当然,上面的准备工作完成以后,这一步,应该是做知识库的导入及构建。

这块就没有什么特别特殊的内容了,我就不详细说了。因为本文主要讲的还是思路。

对于我们构建的咨询助手来说,即便知识库非常强大了,也是难免会有遗漏的地方,所以我们还需要进行充分的测试。

在2022年以前,我们的测试工作,相对来说还是以人为主,冷启动的时候,一般都是找公司内部人员,抽时间让他们大量使用,然后进行人工标注,优化,训练,来完成内部智能助理或客服的系统升级,提高他们回复问题的正确率。

但是现在其实,我们可以让大模型帮我们完成80%的工作。

所以这里,我使用Trae又写了一个批量的chatflow测试脚本。这个脚本已经被我开源在了Github,目前的话,流式模式是好使的,Block模式还是需要继续优化。

它的主要功能如下:

批量测试执行: 从 Excel 文件读取测试用例,批量执行测试多轮对话支持: 自动管理 conversation_id,支持连续的多轮对话测试中文字段支持: 完全支持中文字段名(对话ID、轮次、用户问题、期待回复)实时结果写入: 每完成一个测试用例立即写入结果,避免数据丢失智能重试机制: 所有类型的API错误都会自动重试3次,每次间隔5秒灵活的配置管理: 通过配置文件管理 API 参数、日志设置等详细的结果记录: 自动保存测试结果到 Excel 文件,包含响应时间、错误信息等进度显示: 实时显示测试进度和统计信息错误处理: 完善的错误处理和日志记录机制性能监控: 记录 API 响应时间和执行统计

Chatflow批量测试

有需要的话,大家自取,如果不会访问github,也可以联系我。

项目地址:https://github.com/Wangshixiong/dify_chatflow_batch

  1. Dify2.0知识流水线
    ===============

Dify知识流水线

我们以dify知识流水线的QA生成为例,可以看到基本整体思路与我们前面所说的是一样的。但是它还只是一个样例,不具备生产落地性,我们还要在这个基础上做一些其他校验。

重点说明

如果大家,掌握了我之前讲的RAG清洗和构思的思路的话,相信可以很快的理解Dify2.0版本中知识流水线的设计理念

相信随着Dify的进一步迭代,知识库这里会越来越好用。这个版本,大家仔细看的话,就会发现官方其实发布了很多新的专门设计的插件,来为知识库的构建服务。包括但不限于:

官方插件

目前2.0版本还处于beta阶段。

关于如何升级的内容,大家可以自行去网上搜索,或者阅读dify的github内容。

  1. 小结
    =====

随着Dify的发展,也许未来不需要我们自己在线下这么折腾知识库的准备工作,完全可以把这个工作交给业务人员。

但是目前而言,还是需要的。

其实即便是我们自己折腾,最终目标也是让业务人员维护,因为IT维护,懂业务的人太少,时间成本太高

但是万变不离其宗,产品的发展是为了更好用、易用。从头到尾,设计的整体思路,永远围绕着这个核心进行的。

AI时代,有事儿没事儿多和AI聊一聊,总有一些收获。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

<think>嗯,用户想搭建一个RAG知识库,而且文档里有图片,需要把图片也整合去。首先,我得回忆一下RAG的基本流程RAG通常包括文档加载、文本分割、向量化、存储到向量数据库,然后检索和生成答案。图片的话,传统RAG处理文本,所以需要想办法把图片的信息也利用起来。 那用户的问题是如何把图片和文本一起附上去。可能的解决方案有几个方向:一是将图片转为文本描述,二是用多模态模型处理图片和文本,三是分开处理再关联。 首先,图片直接存入向量数据库可能不行,因为向量数据库一般是处理文本向量的。所以需要先提取图片的信息。可以用OCR提取图片中的文字,或者用图像描述生成模型,比如BLIP、CLIP,把图片内容转为文本描述。这样图片就有了对应的文本信息,可以和原文一起处理。 然后,多模态模型比如GPT-4V,可以直接处理图片,但可能成本高,且本地部署可能困难。另一个方法是用CLIP这样的模型,把图片和文本都编码到同一向量空间,这样在检索时可以同时考虑图片和文本的相似度。不过这可能比较复杂,需要调整现有的RAG流程。 另外,存储方面,可能需要将图片的路径或Base64编码和对应的文本描述一起存储。比如在向量数据库里,每个向量对应一段文本和相关的图片路径。当检索到该向量时,可以取对应的图片。 还要考虑文档解析的问题。用户上传的文档可能有图片,比如PDF里的图片,或者Word文档里的图片。需要用支持提取图片的解析库,比如PyMuPDF、unstructured等,把图片提取来,并保存到指定位置,同时记录路径。 步骤可能包括:1. 文档解析,提取文本和图片;2. 处理图片,生成文本描述或特征向量;3. 将文本和图片信息关联存储;4. 检索时结合两者信息。 可能遇到的问题:图片描述生成的准确性,多模态模型的计算资源,存储和检索的效率,以及如何将图片信息有效整合到回答生成中。需要根据用户的具体情况和资源来选择方案,比如如果资源有限,可能优先用OCR和文本描述,再结合文本处理;如果有足够资源,可以考虑多模态模型。 还需要注意,在回答生成阶段,如何将图片信息呈现给用户。比如,在生成答案时引用图片,或者直接展示图片。这可能需要在返回结果中包含图片的路径或Base64数据,前端行渲染。 总结下来,步骤大概是:解析文档提取图片和文本,处理图片生成辅助信息,将两者关联存储,检索时综合考虑,生成答案时包含图片。可能需要用到的工具有OCR库、多模态模型、合适的文档解析库,以及向量数据库的支持。</think>以下为分步骤实现方案,整合图片到RAG知识库需通过多模态处理实现: --- ### **一、核心问题分析** RAG传统流程仅处理文本,整合图片需解决: 1. 图片特征提取 2.图文关联存储 3.多模态检索 4.答案生成时图文结合 --- ### **二、实现步骤** #### **1. 文档解析阶段** - 使用支持图文提取的解析库: ```python # 示例:用unstructured库解析PDF from unstructured.partition.pdf import partition_pdf elements = partition_pdf("doc.pdf", strategy="hi_res") texts = [el.text for el in elements if el.category == "Text"] images = [el.metadata.image_base64 for el in elements if el.category == "Image"] ``` #### **2. 图片处理方案** - **方案一:文本化描述** - 使用CLIP/BLIP生成图片描述: ```python from transformers import pipeline captioner = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base") description = captioner(image_path)[0]["generated_text"] # 输:"a cat sitting on a sofa" ``` - 将描述文本与原文合并处理 - **方案二:多模态向量化** - 使用CLIP同时编码图文: ```python import torch from PIL import Image from transformers import CLIPProcessor, CLIPModel model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32") image = Image.open("image.jpg") inputs = processor(text=["文本描述"], images=image, return_tensors="pt", padding=True) image_emb = model.get_image_features(**inputs) # 获得图像向量 ``` #### **3. 数据存储设计** ```mermaid graph LR A[原始文档] --> B{解析器} B --> C[文本内容] B --> D[图片内容] C --> E[文本向量库] D --> F[图片存储路径/Base64] E --> G[(元数据关联)] F --> G ``` #### **4. 检索增强阶段** - 混合检索策略: ```python # 伪代码示例 def hybrid_retrieve(query): # 文本检索 text_results = vector_db.similarity_search(query) # 图片检索 image_vec = clip.encode_image(query_image) image_results = image_vector_db.similarity_search(image_vec) return combine_results(text_results, image_results) ``` #### **5. 生成阶段整合** - 在prompt中注入图片信息: ```python prompt_template = """ 根据以下图文信息回答问题: {text_context} 相关图片描述: {image_descriptions} 问题:{query} """ ``` --- ### **三、技术选型建议** | 组件类型 | 推荐工具 | |----------------|-----------------------------------| | 文档解析 | unstructured, PyMuPDF | | OCR引擎 | Tesseract-OCR, PaddleOCR | | 图片描述生成 | BLIP, GPT-4V(API) | | 多模态编码 | CLIP, OpenCLIP | | 向量数据库 | Chroma(支持多模态), Milvus | --- ### **四、部署注意事项** 1. 存储优化:图片建议存储为Base64或单独文件存储系统 2. 性能平衡:多模态处理需更多计算资源,建议: - CPU场景:使用量化模型 - GPU场景:使用FP16精度 3. 关联存储:必须维护`文本块-图片-元数据`的映射关系表 --- ### **五、扩展方向** 1. 图文跨模态检索:使用CLIP等模型实现"以图搜文" 2. 文档结构保留:记录图片在原文中的位置信息 3. 知识图谱整合:将图片描述作为实体节点加入知识图谱 > 提示:若本地算力有限,可考虑商用API方案(如GPT-4V+Azure AI Vision),但需注意数据隐私保护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值