Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ETL在抹布数据摄入管道中起什么作用


ETL在抹布数据摄入管道中起什么作用


提取,转换和加载(ETL)在检索功能增强生成(RAG)的数据摄入管道中起着至关重要的作用,这是一种机器学习体系结构,可增强来自各种数据源的外部知识来增强大型语言模型(LLMS),以提高其在知识密集型任务上的表现。抹布管道中的ETL过程涉及从各种来源中提取原始数据,将其转换为准备嵌入的结构化,清洁和有意义的形式,并将这些转换后的数据表示形式加载到支持生成阶段有效检索的矢量数据库或商店中。此过程确保用于增强语言模型的输入数据是高质量,组织良好的,并且在相似性搜索和检索方面进行了优化。

###抹布管道中的提取

提取阶段负责从不同的外部知识来源(例如网页,文档,PDFS,数据库或API)收集原始数据。由于RAG旨在通过更新和相关内容来增强LLM,因此提取步骤对于从这些来源中获取大量异质数据至关重要。数据的格式和结构可能很大,包括非结构化文本,HTML或XML等半结构化标记语言以及数据库中的结构化记录。提取这些数据通常需要专门的解析器,刮板或连接器,这些解析器,连接器可以处理每个源的各种数据格式和特定​​特征。

在抹布的背景下,提取的数据可能包括冗长的文档,网络档案,公司记录或包含以增强模型的事实知识的技术内容。原始提取结果通常包含噪声,例如HTML标签,导航标头和页脚,无关的元数据以及其他非信息元素,可以降低随后过程的准确性和效率,如果无法正确处理。因此,抹布管道中的提取系统通常包括一种预滤器的机制,以丢弃明显无关紧要的数据或将数据隔离到适合进一步处理的块中。

###抹布管道中的转换

转换是指将原始数据转换为清洁,归一化和结构化格式的一系列操作,首选用于建模和检索。这是抹布管道中最重要的阶段之一,因为大型语言模型和矢量搜索系统需要专门格式化,以高效,准确的语义搜索和嵌入生成。

转换阶段的关键活动包括数据清洁,分割,归一化,富集和矢量化:

- 清洁涉及删除其他内容,例如HTML标签,代码片段,无关的部分(例如标头或页脚)以及嘈杂的元数据。这样可以确保用于嵌入的输入文本代表实际知识内容,而无需分心或无关紧要的信息。

- 通常根据语义边界(如段落或句子)将冗长的文档分解为较小的,易于管理的文本。这对于抹布至关重要,因为相似性搜索和基于嵌入的检索在较短的块而不是整个文档上都更好。

- 标准化标准化格式问题,例如修复字符编码,纠正日期,统一单位和协调文本案例以提高文档跨文档的一致性。

- 丰富可能包括通过注释,关键字标记或将数据的一部分链接到本体,这可以提高检索相关性和LLM的上下文化信息的能力。

- 矢量化涉及使用神经模型(例如基于变压器的嵌入模型)编码清洁和分割的文本中的密集矢量表示(嵌入)。这些向量是矢量数据库中相似性比较所需的格式,从而使有效的内容检索与用户查询相关。

转换利用分布的处理框架和并行化来处理大规模数据集,这些数据集可以达到数千万的记录或文档。诸如射线或Apache Spark之类的工具通常会集成以扩展嵌入生成并保持高吞吐量和低潜伏期。

###在抹布管道中加载

加载是最终的ETL步骤,将转换和矢量化的数据摄入到矢量数据存储或矢量数据库中,该数据库支持可扩展的K-Nearest邻居(K-NN)或近似最近的邻居(ANN)算法进行有效的相似性搜索。在抹布的检索阶段,可以访问已加载的数据,以找到最相关的块,以帮助语言模型产生准确和知识的接近输出。

加载过程必须确保对数据进行正确的索引,以规模支持快速相似性搜索。抹布管道中使用的矢量数据库包括带有矢量插件的Amazon OpenSearch服务,带有PGVECTOR扩展名的Amazon RDS,Pinecone,Milvus,Weaviate等。这些服务允许存储数百万到数十亿个矢量嵌入,并提供交互式AI应用所需的快速检索时间。

加载还涉及监视和管理数据摄入瓶颈和数据库容量。该管道通常以容忍度,并行执行和增量加载功能进行设计,以处理连续数据到达和模式变化,而不会破坏下游检索工作流程和整体系统性能。

ETL在抹布数据摄入管道中的集成

抹布管道中的ETL操作反映了经典数据管道方法,但专门针对生成AI和基于相似性的信息检索的需求。步骤如下:

1。提取收集并从外部来源收集原始文本和文档。
2。转换清洁,块,归一化,丰富和将文本数据转换为适合相似性匹配的向量嵌入。
3。将这些向量存储到可扩展的向量数据库中以进行检索。

此ETL过程确保了RAG管道可以吸收大规模的异质数据集,并为它们做好准备,以提高效率,准确的检索增强发电。实际上,RAG的数据摄入类似于分析中使用的传统ETL管道,但对语义搜索和自然语言处理进行了优化。 RAG ETL并不是准备仅用于报告或仪表板的数据,而是准备LLM可以动态利用以改善其响应的知识表示。

###挑战和优化

抹布中的ETL管道面临与规模,多样性和性能有关的挑战:

- 管理从不同的,通常非结构化的来源提取的提取需要强大的刮擦和摄入框架。
- 转型需要强大的清洁算法和有效的分量,以减少噪声并优化表示形式。
- 嵌入生成是计算密集型的,需要分布式的GPU簇以维持吞吐量。
- 加载必须处理大量的矢量,其延迟最小,要求为向量操作和索引优化的数据库。

应用了几个优化:

- 使用Ray等分布式计算框架并行化提取和嵌入生成。
- 增量ETL机制,以不完全重新处理,更新新的数据嵌入。
- 使用AI/ML技术来提高转换质量的自动数据清洁和异常检测。
- 矢量数据库中的动态索引和分区策略,以平衡查询速度和摄入率。

### 概括

抹布数据摄入管道中的ETL过程是将原始外部文档转换为矢量数据库中存储的高质量的矢量化知识表示的基础。这使RAG系统能够检索和增强大型语言模型的相关信息,从而增强其事实准确性和上下文意识。提取处理原始数据收集,转换清理和矢量化文本,并加载这些向量将这些向量插入可扩展的优化矢量存储中,以进行快速检索。总体ETL过程可确保RAG应用程序可以随数据量和复杂性而扩展,同时保持有效生成AI响应所需的检索质量和速度。

专门针对抹布管道量身定制的ETL的集成通过专注于文本提取,语义清洁,块状和矢量嵌入,从而将其与传统的ETL管道区分开来,所有这些都旨在为构成RAG体系结构的检索模型提供。这些管道通常采用分布式处理和GPU加速度来处理向量生成和索引的计算需求,这是为下游语言模型生成提供及时且相关的上下文的核心。因此,ETL管道通过可靠地获得广泛的高质量外部知识来形成抹布的骨干。