Datawhale 04月03日 00:32
RAG篇「数据集构建」保姆级教程来了!
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文是Datawhale出品的DeepSeek微调教程的第二篇,重点介绍了构建RAG向量知识库的数据集构建方法。文章强调了数据质量的重要性,包括清洗、去重、标准化等步骤,并探讨了数据与应用场景的匹配性、安全合规风险等问题。此外,文章还详细阐述了文本分块策略,以及向量化模型的适配问题,并提供了基于Dify构建向量知识库的具体步骤示例,以大学生求职指南为例,详细介绍了数据收集、标注和清洗、以及导入Dify进行测试的流程,最后感谢了Deepseek官网和Kimi的帮助。

✅ 构建RAG向量知识库的关键在于数据质量,需要进行清洗、去重和标准化,以避免噪声数据对检索结果的干扰。同时,数据需要与应用场景相匹配,并注意安全合规风险,如敏感信息过滤和偏见检测。

✅ 文本分块策略影响向量表示的准确性,建议按语义切分,动态调整块大小,并考虑重叠分块以避免关键信息丢失。向量化模型的选择也至关重要,可考虑领域微调或多模态模型,以提升检索效果。

✅ 将数据整理成问答对(QA Pair)形式,能有效提升检索和生成的效果,特别适用于任务型对话系统、FAQ库和知识密集型生成任务等场景。构建QA对时,需注意避免强制转换,针对不同类型的数据选择合适的存储方式。

✅ 本文提供了基于Dify构建向量知识库的具体步骤示例,包括明确目标、数据收集、数据标注和清洗、以及导入Dify进行数据集训练测试。以大学生求职指南为例,详细展示了整个构建流程,为读者提供了实践参考。

原创 吴锦凤、冬灵 2025-03-30 22:08 浙江

 Datawhale干货 

作者:吴锦凤,Datawhale优秀学习者

冬灵,Datawhale成员

首篇:零基础入门:DeepSeek微调教程来了!

前篇:微调篇「数据集构建」保姆级教程来了!

这次是「数据集构建」保姆级教程第二篇,会持续更新。

一、构建属于自己的知识库

检索增强生成(Retrieval Augmented Generation),简称 RAG。在构建RAG(Retrieval-Augmented Generation)的向量知识库时,数据的处理方式直接影响系统的性能和可靠性。不能随意塞入未经处理的数据,否则可能导致检索效果差、生成结果不准确甚至安全隐患。

二、构建向量知识库数据集强调事项

构建向量知识库数据集的基本步骤与微调数据集(见前篇)基本一致,但有以下注意强调事项。

数据质量直接影响结果(向量知识库数据集严禁噪声与微调不一样!!!)

数据与场景的匹配性

安全与合规风险

🌏

如果你不是使用Dify开源框架构建向量数据库,而是使用类似faiss向量数据库构建向量数据库还有以下注意事项:

1.文本分块(Chunking)需策略化

    问题:随意分块可能导致语义不完整,影响向量表示。解决方案
      按语义切分:使用句子边界检测、段落分割或基于语义相似度的算法(如BERT句间相似度)。动态调整块大小:根据数据特性调整(例如技术文档适合较长的块,对话数据适合短块)。重叠分块:相邻块保留部分重叠文本,避免关键信息被切分到边缘。

2.向量化模型的适配性

    问题:直接使用通用模型可能无法捕捉领域语义。解决方案
      领域微调:在领域数据上微调模型(如BERT、RoBERTa)以提升向量表征能力。多模态支持:若包含图表、代码等,需选择支持多模态的模型(如CLIP、CodeBERT)。轻量化部署:权衡精度与效率,可选择蒸馏后的模型(如MiniLM)。

3.索引结构与检索效率

    问题:海量数据未经优化会导致检索延迟。解决方案
      分层索引:对高频数据使用HNSW,长尾数据用IVF-PQ(Faiss或Milvus)。元数据过滤:为数据添加标签(如时间、类别),加速粗筛过程。分布式部署:按数据热度分片,结合缓存机制(如Redis)提升响应速度。

补充说明:向量知识库数据集也要是问答对?

将数据整理成问答对(QA Pair)形式是一种优化策略,而非必要步骤。但这种方式在特定场景下能显著提升检索和生成的效果。以下是其核心原因和适用场景的分析:

    1. 为什么问答对形式能优化RAG?

(1)精准对齐用户查询意图

(2)降低生成模型的负担

(3)提升检索效率与召回率


    2. 哪些场景适合问答对形式?

(1)任务型对话系统

(2)FAQ(常见问题解答)库

(3)知识密集型生成任务

🌏

问答对构建的注意事项

并非所有数据都适合QA形式

    避免强制转换
      叙述性文本(如小说、新闻)或开放域知识(如百科条目)更适合以段落或实体为中心存储。强行拆分为QA可能导致信息割裂(例如将“量子力学发展史”拆解为多个不连贯的问答)。

三、具体步骤示例(大学生求职不踩坑指南数据集——基于Dify向量知识库构建)

1、明确目标

确定你要解决的问题或任务,然后就可以寻找优质的数据集以及构建自己的数据集了~

2、数据收集

原始文档格式转换

可以是pdf转word,也可以是ppt转word,pdf转tx,

经过测试,大模型对TXT格式文档的识别度较高,尤其是在中文语言编码的情况下。因此,建议使用第三方工具将原始文档转换为TXT格式,以提高大模型的识别效果。 以下是笔者用过的一些方式:

    1. 懒人办公(免费)

https://www.lanren.work/pdf/pdf-to-txt.html

    2. 电脑自带的word

这个每个人的电脑都有,但是要看转换效果,感觉方法一可能效果会更好,要根据实际情况决定


    3. wps(要会员)

这个方法适用于有wps的小伙伴,


3、数据标注和数据清洗

1、导入文件到大模型对话助手,进行初步格式调整

GPT可以进行转换,但不是所有ai助手的都可以进行格式转换

提示词模板:

🌏

帮我去除掉文档中所有空格,删除掉所有页码,同时删除掉“xx”相关字样,记住无需保留空行。


2、格式重新调整

把问题以QA形式罗列,格式如下,记住每个问答之间空格一行:

Q:问题

A:答案

原文本中问题格式为:

xxxxxxxxx

答案为下一个问题之前的所有文本

到这只需要人工再进行一些抽验~没问题的话,数据集就创建完成了!效果如下~

如果还有问题的话,可以再让GPT进行调整

3、导入Dify进行数据集训练

测试一下~构建一个agent

引用知识库~

这样数据集就构建好啦~

四、完结感言

首先,非常感谢合作小伙伴冬灵和我一起共创数据集构建系列二。

其次,非常感谢Deepseek官网满血版以及kimi在本章的代码修改、资料收集以及文章润色方面提供的宝贵帮助!

这是本系列的第二篇,中间还有很多需要完善的地方,我们非常期待各位小伙伴的宝贵建议和指正,让我们共同进步,一起在AI学习的道路上探索更多乐趣!

一起“”三连

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

RAG 向量知识库 数据集构建 DeepSeek 微调
相关文章