自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

RAG回答準(zhǔn)確率暴漲300%!用Coze工作流進(jìn)行數(shù)據(jù)結(jié)構(gòu)化(附完整提示詞)

人工智能
本文通過RAGFlow框架的實(shí)戰(zhàn)演示,系統(tǒng)性地驗(yàn)證了數(shù)據(jù)結(jié)構(gòu)化對提升RAG系統(tǒng)召回率的核心價值。從PDF清洗(MinerU工具)、文本分塊(DeepSeek+Coze標(biāo)注)到知識庫構(gòu)建,每一步的精細(xì)化處理都顯著降低了噪聲干擾,使語義檢索的精準(zhǔn)度實(shí)現(xiàn)質(zhì)的飛躍。

1. 前言

在生成式人工智能(Generative AI)快速發(fā)展的當(dāng)下,大語言模型(LLMs)的幻覺問題始終是制約其落地應(yīng)用的關(guān)鍵瓶頸。檢索增強(qiáng)生成(RAG)技術(shù)通過引入外部知識庫,將動態(tài)檢索與生成能力結(jié)合,為解決這一難題提供了重要思路。然而,RAG系統(tǒng)的核心性能——數(shù)據(jù)召回率,高度依賴于底層數(shù)據(jù)的質(zhì)量與組織形式。尤其是一些領(lǐng)域文獻(xiàn),原始數(shù)據(jù)常以非結(jié)構(gòu)化形式(如PDF論文、掃描文檔、圖像表格)存在,且包含冗余、噪聲和碎片化信息。若未經(jīng)過深度清洗與結(jié)構(gòu)化處理,檢索系統(tǒng)可能陷入“垃圾進(jìn),垃圾出”的困境,導(dǎo)致語義理解偏差、關(guān)鍵信息遺漏甚至誤導(dǎo)性結(jié)果生成。

本文以學(xué)術(shù)文獻(xiàn)PDF解析為例,基于RAGFlow框架完整演示從原始文檔清洗(MinerU工具)、結(jié)構(gòu)化分塊(DeepSeek+Coze標(biāo)注)到知識庫構(gòu)建的全流程,并通過對比實(shí)驗(yàn)驗(yàn)證結(jié)構(gòu)化處理對召回率的提升效果,話不多說,正文開始~

溫馨提示:本文RAG框架為RAGFlow,對RAGFlow不了解的讀者可以移步:從裁員到年薪百萬:程序員靠RAG技術(shù)逆襲的“核心密碼”

2. 數(shù)據(jù)結(jié)構(gòu)化實(shí)戰(zhàn)

2.1. 什么是RAG召回率?

在RAG(檢索增強(qiáng)生成)模型中,召回率是衡量系統(tǒng)從知識庫中檢索到與用戶查詢相關(guān)信息的能力。高召回率意味著系統(tǒng)能夠準(zhǔn)確找到更多相關(guān)的文檔,為生成模型提供更豐富的上下文,從而提高生成內(nèi)容的質(zhì)量。

召回率的計算公式為:

image.png

中,相關(guān)文檔的數(shù)量指知識庫中所有真正相關(guān)的信息,成功檢索到的相關(guān)文檔數(shù)量是系統(tǒng)檢索到并與問題相關(guān)的文檔數(shù)量,高召回率確保生成模型獲得更多有用的信息,從而提升回答的準(zhǔn)確性。數(shù)據(jù)的結(jié)構(gòu)化和高效的檢索機(jī)制是提高召回率的關(guān)鍵因素。

2.2. 為什么要進(jìn)行數(shù)據(jù)結(jié)構(gòu)化?

在信息檢索與知識管理系統(tǒng)中,數(shù)據(jù)的結(jié)構(gòu)化處理對于提升檢索效率、優(yōu)化存儲管理以及增強(qiáng)信息關(guān)聯(lián)性具有重要作用。特別是在基于檢索增強(qiáng)生成(Retrieval-Augmented Generation, RAG)的方法中,底層數(shù)據(jù)的組織方式直接影響系統(tǒng)的召回率和生成質(zhì)量,很多初學(xué)者在第一次接觸RAG時都會直接把原始數(shù)據(jù)丟進(jìn)RAGFlow框架進(jìn)行分塊,結(jié)果就是RAG回答效果很差,要想提升RAG的回答效果,數(shù)據(jù)預(yù)處理是很重要的,本節(jié)就以實(shí)際場景為例,一步一步教會大家如何進(jìn)行數(shù)據(jù)結(jié)構(gòu)化。

最近,畢業(yè)季到來,同學(xué)們寫論文時都要大量閱讀領(lǐng)域文獻(xiàn),以前我上學(xué)那會我記得都是要花一個月左右時間來研讀參考文獻(xiàn)然后歸納總結(jié),現(xiàn)在我們可以通過將領(lǐng)域文獻(xiàn)進(jìn)行結(jié)構(gòu)化之后導(dǎo)入知識庫,讓AI輔助我們研讀領(lǐng)域文獻(xiàn)的內(nèi)容,以下是我隨便找的幾篇文獻(xiàn):

image.png

要把上述領(lǐng)域文獻(xiàn)投喂給RAG,并且具有較高的召回率,我們需要經(jīng)歷幾個步驟:

要把領(lǐng)域文獻(xiàn)轉(zhuǎn)換為RAG可召回的知識,我們需要經(jīng)歷幾個步驟: - visual selection (1).png

  1. 文獻(xiàn)清洗與去噪清洗是數(shù)據(jù)結(jié)構(gòu)化的第一步。文獻(xiàn)中的噪聲,如無關(guān)的圖片、廣告、版權(quán)聲明、重復(fù)內(nèi)容等,需要被去除。通過自然語言處理(NLP)技術(shù),去除文本中的干擾信息,保留核心內(nèi)容,提高數(shù)據(jù)的質(zhì)量。
  2. 文獻(xiàn)數(shù)據(jù)標(biāo)注與分塊在清洗后的文獻(xiàn)數(shù)據(jù)中,需要根據(jù)主題、章節(jié)、關(guān)鍵術(shù)語等信息進(jìn)行標(biāo)注。這一過程能夠?qū)⑽墨I(xiàn)劃分為若干個有意義的部分(如段落、節(jié)、圖表等),并為每個部分賦予標(biāo)簽。通過標(biāo)注和分塊,信息之間的關(guān)系可以被更好地組織和存儲。
  3. 知識庫構(gòu)建與索引將結(jié)構(gòu)化的數(shù)據(jù)導(dǎo)入RAGFlow的知識庫中,并建立索引。RAGFlow支持多種嵌入模型,將文本轉(zhuǎn)換為向量,捕捉語義信息,常用于文本相似度計算和檢索。將生成的文本塊向量存儲在向量數(shù)據(jù)庫中,并建立索引,以便快速檢索。
  4. 檢索與生成優(yōu)化利用RAGFlow的相似性檢索功能,使用近似最近鄰搜索算法,在向量數(shù)據(jù)庫中查找與用戶問題向量最相似的文本塊。系統(tǒng)從檢索到的文本塊中提取關(guān)鍵信息,并與用戶問題融合,構(gòu)建增強(qiáng)上下文。將融合后的上下文輸入大型語言模型(LLM),生成準(zhǔn)確且有據(jù)可依的回答。

2.3. PDF文件清洗:MinerU

雖然RAGFlow也可以解析PDF,但是我發(fā)現(xiàn)RAGFlow在處理復(fù)雜布局和多模態(tài)內(nèi)容的PDF文檔時,在解析精度和內(nèi)容提取方面還是存在一定的局限性,于是我去網(wǎng)上找了相關(guān)工具,發(fā)現(xiàn)了一個叫MinerU(https://github.com/opendatalab/MinerU)的開源數(shù)據(jù)提取工具,在處理PDF文檔時,MinerU相比RAGFlow自帶的文件清洗功能有以下優(yōu)勢:

image.png

  1. 多模態(tài)內(nèi)容解析能力MinerU采用先進(jìn)的文檔解析技術(shù),能夠準(zhǔn)確識別和提取PDF中的文本、圖片、表格等多種元素。這種多模態(tài)解析能力確保了文檔內(nèi)容的完整性和準(zhǔn)確性,為后續(xù)的數(shù)據(jù)處理和分析奠定了堅實(shí)基礎(chǔ)。
  2. 智能化的內(nèi)容清洗與去噪在文檔清洗過程中,MinerU能夠自動識別并剔除廣告、版權(quán)聲明、無關(guān)圖片等干擾信息。這種智能化的清洗功能有效提升了數(shù)據(jù)質(zhì)量,確保了知識庫中信息的相關(guān)性和可靠性。
  3. 靈活的格式轉(zhuǎn)換與導(dǎo)出功能MinerU支持將解析后的文檔內(nèi)容導(dǎo)出為Markdown等多種格式,方便用戶查看和編輯。這種格式轉(zhuǎn)換功能提高了文檔處理的靈活性,滿足了不同用戶的需求。

MinerU可以本地部署,如下圖所示:

image.png

也可以直接用網(wǎng)頁版本https://huggingface.co/spaces/opendatalab/MinerU我用的就是網(wǎng)頁版:

image.png

將PDF上傳解析,解析成功后可將結(jié)果下載到本地:

image.png

打開.md文件,可以看出我們的PDF文件已經(jīng)被很好地解析了:

image.png

2.4. 基于DeepSeek+Coze進(jìn)行數(shù)據(jù)標(biāo)注和分塊

2.3小節(jié)我們完成了PDF文檔初步清洗,接下來還要剔除文檔里面的圖片(沒有文字的),給文檔進(jìn)行分塊與標(biāo)注,這種長文本(領(lǐng)域文獻(xiàn))的分塊就按照大章節(jié)來分塊就行,基本一個章節(jié)就是一塊完整內(nèi)容。打開經(jīng)過MinerU清洗后的.md文件:

image.png在上圖中#就代表一級標(biāo)題,也就是這篇文獻(xiàn)的標(biāo)題,##代表二級標(biāo)題,我想以二級標(biāo)題分塊,每個分塊后面自動追加分塊標(biāo)識符+###,每個分塊打上標(biāo)簽,標(biāo)簽為章節(jié)和正文,類似下面的效果:

[文獻(xiàn)的標(biāo)題]章節(jié):章節(jié)題目
[文獻(xiàn)的標(biāo)題]正文:章節(jié)下面的正文

+###

上面描述的數(shù)據(jù)分塊和標(biāo)準(zhǔn)可以用代碼來做,也可以用Coze來做,為了讓對代碼不熟悉的讀者也可以進(jìn)行RAG數(shù)據(jù)結(jié)構(gòu)化,我在Coze新建了一個工作流用于進(jìn)行數(shù)據(jù)結(jié)構(gòu)化:

image.png

下面我來依次講解一下每個節(jié)點(diǎn):

開始: 起始節(jié)點(diǎn),用于傳入MinerU清洗過后的文件(.md文件)。

read: 幫助用戶閱讀文檔內(nèi)容,輸入文檔鏈接,返回文檔內(nèi)容,目前支持html、xml、doc、docx、txt、PDF、csv、xlsx格式。(由于它不支持.md文檔,需要把MinerU清洗過后的.md文件改為.txt后綴)

image.png

大模型: 這個節(jié)點(diǎn)主要是用來給文件內(nèi)容打標(biāo)簽和分塊的,理想的結(jié)果是每個大章節(jié)后面加上分塊標(biāo)識+###作為分塊標(biāo)志,每個分塊里面需要有章節(jié)標(biāo)簽來標(biāo)準(zhǔn)章節(jié)標(biāo)題,有正文標(biāo)簽標(biāo)注正文,提示詞我是讓DeepSeek輔助我寫的,大模型我選的kimi(長文本):

image.png

提示詞:

# 角色
你是一位經(jīng)驗(yàn)豐富的數(shù)據(jù)清洗專家,專注于對用戶輸入的數(shù)據(jù)轉(zhuǎn)換而來的文本進(jìn)行精細(xì)化處理,以實(shí)現(xiàn)高質(zhì)量的數(shù)據(jù)清洗效果。

## 技能
### 技能 1: 精準(zhǔn)刪除圖片內(nèi)容
仔細(xì)辨認(rèn)文本中所有以![]()格式呈現(xiàn)的圖片內(nèi)容,將其精確刪除,確保僅保留純粹的文本信息。無論是何種來源的PDF數(shù)據(jù)轉(zhuǎn)換后的文本,都要嚴(yán)格執(zhí)行此操作。

### 技能 2: 基于章節(jié)標(biāo)題準(zhǔn)確提取章節(jié)內(nèi)容
依據(jù)不同層級的章節(jié)標(biāo)題對文本進(jìn)行細(xì)致劃分,將文本分割成不同的章節(jié)。按照章節(jié)出現(xiàn)的順序,自動將章節(jié)標(biāo)注為“章節(jié)”標(biāo)簽,之后緊跟對應(yīng)的章節(jié)標(biāo)題。同時,識別并提取文本中的一級標(biāo)題(#)的標(biāo)題內(nèi)容,將其作為一個變量。

### 技能 3: 規(guī)范章節(jié)格式
每個 **二級標(biāo)題(##)** 章節(jié)結(jié)束后,追加特殊符號 +###,并確保每個章節(jié)之間有清晰的換行。每個章節(jié)的內(nèi)容以“正文:(對應(yīng)正文)”標(biāo)簽開頭,緊接著是去除圖片鏈接后的正文內(nèi)容。對于PDF數(shù)據(jù)中的文本處理結(jié)果,必須嚴(yán)格遵循此格式要求。

### 技能 4:提取 文章題目
從文本中識別并提取文本中的一級標(biāo)題(#)的標(biāo)題內(nèi)容作為文章題目。

### 技能 5:在各分塊標(biāo)簽添加題目
在每個“章節(jié)”標(biāo)簽以及“正文”標(biāo)簽處,都添加上提取的文章題目作為前綴,格式為“[文章題目]章節(jié):[章節(jié)標(biāo)題]” 、“[文章題目]正文:(對應(yīng)正文)”。

## 輸出格式要求:
1. **章節(jié)標(biāo)識**:
   ? 遇到 ## 格式的章節(jié)標(biāo)題,自動標(biāo)注為“[文章題目]章節(jié)”,并準(zhǔn)確提取其中的標(biāo)題內(nèi)容。
   ? 若出現(xiàn)其他章節(jié)標(biāo)識,也按照順序自動標(biāo)注為“[文章題目]章節(jié)”并依次編號,同時正確提取標(biāo)題。
   
2. **正文標(biāo)識**:
   ? 正文部分的內(nèi)容嚴(yán)格標(biāo)注為“[文章題目]正文:(對應(yīng)正文)”,正文是每個章節(jié)中相應(yīng)標(biāo)題(如 ## 或 ###)后的文本內(nèi)容。
   ? 徹底刪除正文中所有圖片鏈接(![]()格式的部分),保證正文為純文本。

3. **格式要求**:
   ? **僅在** ##(二級標(biāo)題)章節(jié)的結(jié)束后追加符號 +###,其他章節(jié)(如 ###)后不追加此符號。


### 示例:
#### 輸入:
## 第一章
這是第一章的內(nèi)容,里面有圖片和文字。
![](images/firstimage.jpg)
繼續(xù)第一章的內(nèi)容。

### 第二章
這是第二章的內(nèi)容,刪除圖片后只剩下文字部分。
![](images/secondimage.jpg)
繼續(xù)第二章的內(nèi)容。

## 第三章
這是第三章的內(nèi)容,無圖片,直接展示內(nèi)容。
文章題目為:示例文章

#### 輸出:
[示例文章]章節(jié):第一章
[示例文章]正文:這是第一章的內(nèi)容,里面有文字部分。

+###

[示例文章]章節(jié):第二章
[示例文章]正文:這是第二章的內(nèi)容,刪除圖片后只剩下文字部分。

[示例文章]章節(jié):第三章
[示例文章]正文:這是第三章的內(nèi)容,無圖片,直接展示內(nèi)容。

+###


## 限制:
? **僅專注處理文本中的圖片內(nèi)容以及基于章節(jié)標(biāo)識的章節(jié)內(nèi)容**,不涉及其他文本處理需求。
? 務(wù)必嚴(yán)格刪除文本中的所有圖片鏈接,確保輸出僅為文本主體內(nèi)容。
? **僅在##(二級標(biāo)題)章節(jié)的結(jié)尾追加符號+###**,不在其他章節(jié)格式后追加。
? **必須保證每個章節(jié)的結(jié)尾準(zhǔn)確追加符號+###**,且各章節(jié)之間換行清晰,以確保數(shù)據(jù)處理結(jié)果的格式規(guī)范。
? 僅處理符合要求格式的文本輸入,對于不符合格式的輸入,需明確提示用戶檢查輸入格式是否正確。

結(jié)束:接收數(shù)據(jù)清洗后的的文本結(jié)果:

image.png

結(jié)構(gòu)化后的文本實(shí)現(xiàn)了我想要的效果。

關(guān)于如何讓DeepSeek輔助寫提示詞,我的做法是給DeepSeek設(shè)定了一個角色,提示詞大概是這樣的:你是一個提示詞專家,可以根據(jù)用戶提出的需求寫出專業(yè)的提示詞,達(dá)到最終目的,我給你一個模板,你需要了解這個模板的結(jié)構(gòu),之后寫提示詞就按照模板來寫:(放你自己找的模板,可以把我上面那個數(shù)據(jù)清洗專家的提示詞丟給他)。

讓他明確自己的身份之后,就可以描述你想寫什么樣的提示詞了:

image.png

這是我自己寫提示詞的方法,如果你有更好的方法可以在評論區(qū)分享哦~

3. RAGFlow效果測試

這里為了突出數(shù)據(jù)結(jié)構(gòu)化的效果,我們需要做一個對比,首先把未經(jīng)過任何處理的PDF文件丟進(jìn)RAGFlow:

圖片

從分塊上就可以看出不是很理想,再來測一下數(shù)據(jù)召回:

image.png

看一下數(shù)據(jù)源,下圖里面的數(shù)據(jù)源和我的問題完全沒對上:

image.png

之后來測一下做了結(jié)構(gòu)化以后的數(shù)據(jù),在配置時候需要把分塊標(biāo)識符配置進(jìn)去:

image.png

數(shù)據(jù)分塊效果:

image.png

可以看出來分塊比較合理,完全按照了我預(yù)想的規(guī)則進(jìn)行了分塊,然后測一下數(shù)據(jù)召回:

image.png

看一下數(shù)據(jù)源,下圖中的數(shù)據(jù)源完美對應(yīng)上了我提出的問題:

image.png

從上面測試的結(jié)果來看,數(shù)據(jù)結(jié)構(gòu)化有助于極大幅度提升數(shù)據(jù)的召回率,當(dāng)然,每種數(shù)據(jù)集都有不同的分塊方式,打標(biāo)簽的方式也會因數(shù)據(jù)集的差異有所不同,這個需要自己去慢慢摸索,對這塊有見解的讀者也可以私信或者評論區(qū)一起交流一下。

4. 資料獲取

如果你對DeepSeek的相關(guān)知識還不熟悉,可以關(guān)注公眾號后端小肥腸,點(diǎn)擊底部【資源】菜單獲取DeepSeek相關(guān)教程資料。

5. 結(jié)語

本文通過RAGFlow框架的實(shí)戰(zhàn)演示,系統(tǒng)性地驗(yàn)證了數(shù)據(jù)結(jié)構(gòu)化對提升RAG系統(tǒng)召回率的核心價值。從PDF清洗(MinerU工具)、文本分塊(DeepSeek+Coze標(biāo)注)到知識庫構(gòu)建,每一步的精細(xì)化處理都顯著降低了噪聲干擾,使語義檢索的精準(zhǔn)度實(shí)現(xiàn)質(zhì)的飛躍。實(shí)驗(yàn)結(jié)果對比表明,未經(jīng)處理的原始數(shù)據(jù)會導(dǎo)致“語義漂移”,而結(jié)構(gòu)化后的數(shù)據(jù)召回率得到大幅提升,印證了“數(shù)據(jù)質(zhì)量決定AI天花板”的行業(yè)共識。

責(zé)任編輯:龐桂玉 來源: 后端小肥腸
相關(guān)推薦

2025-04-27 09:00:00

軟件開發(fā)結(jié)構(gòu)化提示詞大語言模型

2022-05-24 09:52:37

Spark SQL大數(shù)據(jù)處理Hive

2018-04-03 14:00:03

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)庫

2024-08-07 12:34:29

2021-12-12 08:37:18

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)

2023-11-06 07:39:36

數(shù)據(jù)處理異構(gòu)數(shù)據(jù)平臺

2025-03-24 10:37:15

2024-05-27 00:32:45

2014-02-17 10:28:34

大數(shù)據(jù)

2022-10-19 08:00:00

2025-01-21 08:00:00

2024-01-05 08:44:52

2024-06-06 10:08:32

2023-08-08 13:54:15

2023-12-25 15:00:18

結(jié)構(gòu)化布線光纖

2019-07-13 15:00:17

結(jié)構(gòu)化SQLNOSQL數(shù)據(jù)庫

2021-05-23 09:51:29

代碼開發(fā)Facebook

2009-02-02 09:05:08

GoogleWebWeb結(jié)構(gòu)化

2017-05-16 21:31:03

結(jié)構(gòu)化數(shù)據(jù)新模式

2022-05-26 14:04:13

GPT-3機(jī)器學(xué)習(xí)AI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號