0:10.044–0:13.244
zh今天我們要深度解析 GitHub 上的一個熱門專案:
0:13.244–0:15.924
zhragflow,一個頂尖的開源 RAG 引擎。
0:15.924–0:18.484
zh它旨在解決 RAG 應用最棘手的
0:18.484–0:20.484
zh「垃圾進、垃圾出」問題,
0:20.484–0:22.164
zh透過深度文件理解,
0:22.164–0:25.924
zh為大型語言模型打造真正高品質的上下文。
0:26.064–0:29.644
zh大型語言模型為什麼有時候會一本正經地胡說八道?
0:29.644–0:33.244
zh很多人第一個反應,就是怪模型本身不夠聰明。
0:33.244–0:37.544
zh但如果問題的根源,其實是我們餵給它的資料品質呢?
0:37.544–0:39.784
zh一個叫做 RAGFlow 的開源專案,
0:39.784–0:41.784
zh正試圖從源頭解決這個問題。
0:41.784–0:43.783
zh它不是又一個開發框架,
0:43.783–0:45.783
zh而是一套完整的 RAG 引擎,
0:45.783–0:50.924
zh它獨特的設計,可能會改變大家打造企業級 AI 應用的方法。
0:50.924–0:53.664
zh這個專案在 GitHub 上累積了超過八萬顆星,
0:53.664–0:55.164
zh它到底厲害在哪裡?
0:55.324–0:58.964
zhRAGFlow 是由 infiniflow 團隊開發的一個開源專案,
0:58.964–1:01.363
zh全名是檢索增強生成引擎,
1:01.363–1:02.863
zh也就是 RAG engine。
1:02.863–1:04.503
zh它的核心目標很明確:
1:04.503–1:06.944
zh要為大型語言模型 LLM
1:06.944–1:08.944
zh提供一個非常可靠的上下文,
1:08.944–1:11.104
zh來解決模型回答時沒有根據、
1:11.104–1:13.104
zh甚至產生幻覺的老問題。
1:13.104–1:15.644
zh這個專案在 GitHub 上有多受歡迎呢?
1:15.644–1:18.683
zh它已經累積了八萬八千三百七十七顆星,
1:18.683–1:21.483
zh光是今天一天就增加了四百七十三顆,
1:21.483–1:23.224
zhFork 數量也突破了一萬。
1:23.244–1:25.983
zh這代表開發者社群對它有非常高的期待。
1:25.983–1:27.683
zhRAGFlow 的特別之處,在於
1:27.683–1:31.364
zh它把先進的 RAG 技術跟 Agent 的能力結合在一起,
1:31.364–1:33.663
zh目標是為各種規模的企業,
1:33.663–1:36.004
zh打造一套順暢的 AI 工作流程。
1:36.004–1:38.364
zh現在要開發大型語言模型應用,
1:38.364–1:40.564
zh最主流的做法就是 RAG,
1:40.564–1:43.144
zh也就是檢索、增強、生成。
1:43.144–1:44.703
zh這個流程聽起來很簡單:
1:44.703–1:47.203
zh先從自己的資料庫裡找出相關文件,
1:47.203–1:49.044
zh再把這些文件跟用戶的問題,
1:49.044–1:51.384
zh一起丟給語言模型去產生答案。
1:51.403–1:53.144
zh聽起來很美好,對吧?
1:53.144–1:54.403
zh但真正的痛點,
1:54.403–1:56.983
zh其實在最一開始的「知識提取」。
1:56.983–1:59.943
zh企業的真實文件可不是乾淨的純文字。
1:59.943–2:02.023
zh裡面充滿了掃描的 PDF、
2:02.023–2:03.123
zh複雜的表格、
2:03.123–2:04.523
zh還有多欄位的報告。
2:04.523–2:06.064
zh傳統的 RAG 流程,
2:06.064–2:09.263
zh常常很粗暴地把這些文件切成一段段的文字,
2:09.263–2:12.724
zh結果就是,文件裡重要的版面結構和語意關聯,
2:12.724–2:13.964
zh全部都遺失了。
2:13.964–2:15.364
zh這就造成了所謂的
2:15.964–2:18.064
zh「垃圾進,垃圾出」。
2:18.064–2:20.403
zh這也是為什麼語言模型常常回答得不好、
2:20.424–2:22.564
zh引用錯誤,甚至胡說八道。
2:22.564–2:24.064
zh而 RAGFlow 要解決的,
2:24.064–2:25.364
zh就是這個最前端,
2:25.364–2:27.504
zh但也最關鍵的資料品質問題。
2:27.504–2:28.903
zhRAGFlow 的技術核心,
2:28.903–2:30.303
zh可以濃縮成一句話:
2:30.303–2:32.343
en「Quality in, quality out」,
2:32.343–2:34.243
zh也就是高品質的輸入,
2:34.243–2:35.843
zh才會有高品質的輸出。
2:35.843–2:37.343
zh它的第一個技術亮點,
2:37.343–2:40.743
zh是一個叫做 `DeepDoc` 的深度文件理解模組。
2:40.743–2:43.424
zh你可以把它想像成一位數位文件鑑識專家。
2:43.424–2:44.724
zh它不只是讀文字,
2:44.724–2:47.724
zh它還會去分析 PDF 或 Word 文件的版面,
2:47.724–2:49.823
zh可以很精準地把表格抽出來、
2:49.944–2:51.084
zh辨識圖片內容、
2:51.084–2:53.784
zh還能看懂標題和段落之間的層級關係。
2:54.243–2:56.743
zh這種智慧化的切塊 chunking 方式,
2:56.743–2:59.664
zh確保了餵給模型的上下文,是高品質
2:59.664–3:01.064
zh而且結構完整的。
3:01.064–3:04.123
zh這就從根本上提升了檢索的準確度。
3:04.123–3:05.424
zh再來,RAGFlow
3:05.424–3:07.924
zh把 RAG 跟 Agent 的工作流程結合在一起。
3:07.924–3:09.823
zh這代表它不只會回答問題,
3:09.823–3:12.263
zh還能自動執行多個步驟的複雜任務。
3:12.263–3:13.203
zh更厲害的是,
3:13.203–3:18.103
zh它為此設計了一個基於 `gVisor` 技術的程式碼執行沙箱 sandbox。
3:18.103–3:18.903
ensandbox
3:18.924–3:20.024
zh這代表什麼意思?
3:20.024–3:25.064
zh這代表 Agent 可以安全地執行由 LLM 生成的 Python 程式碼,
3:25.064–3:26.564
zh來完成複雜的分析任務。
3:26.564–3:29.064
zh同時,又有一道堅固的防火牆保護,
3:29.064–3:31.403
zh不怕惡意程式碼攻擊主機系統。
3:31.403–3:35.343
zh這個設計,對於企業級的 AI 自動化應用來說,
3:35.343–3:37.343
zh提供了非常關鍵的安全保障。
3:37.343–3:39.743
zh最後,來看看它的整體架構。
3:39.743–3:42.743
zhRAGFlow 採用了基於 Docker 的容器化部署,
3:42.743–3:46.644
zh把後端服務、資料庫和文件引擎都模組化了。
3:46.664–3:48.763
zh它還讓開發者可以在 Elasticsearch,
3:48.763–3:52.203
zh或是他們自己研發的 Infinity 向量資料庫之間自由選擇。
3:52.203–3:55.403
zh這代表它同時兼顧了部署的方便性和架構的彈性。
3:55.403–3:57.403
zhRAGFlow 的應用場景非常明確,
3:57.403–3:58.804
zh主要就是針對那些
3:58.804–4:02.084
zh需要處理大量非結構化文件的企業和開發者。
4:02.084–4:02.843
zh舉個例子,
4:02.843–4:07.144
zh一間金融機構可以用它來處理幾千份掃描的年度報告 PDF。
4:07.144–4:09.584
zh然後建立一個內部的知識問答系統,
4:09.584–4:11.683
zh不只可以精準回答財務數據,
4:11.683–4:13.924
zh還能追溯到報告的原文頁數。
4:13.924–4:15.123
zh對於開發者來說,
4:15.144–4:17.444
zh可以把 RAGFlow 當作後端引擎,
4:17.444–4:18.843
zh很快地為自己的 App,
4:18.843–4:21.983
zh加上讀取私有資料的進階問答功能,
4:21.983–4:25.043
zh不用再自己從頭蓋一個複雜的資料處理流程。
4:25.043–4:26.483
zh而對數據分析師來說,
4:26.483–4:29.524
zh它的 Agent 功能可以建立自動化工作流程,
4:29.524–4:33.924
zh從海量文件中自動提取、分析並總結特定資訊。
4:33.924–4:35.924
zh不過,這麼強大的功能,
4:35.924–4:37.763
zh也代表它有一定的入門門檻。
4:37.763–4:40.963
zh使用者需要對 Docker 和 Docker Compose 有基本的認識,
4:40.963–4:44.963
zh才能順利在自己的環境完成 Self-Hosting 的部署。
4:45.044–4:48.643
zh社群對 RAGFlow 的評價,可以說是非常兩極。
4:48.643–4:51.044
zh一方面,正面的評價非常多,
4:51.044–4:53.604
zh大家最稱讚的就是它的 DeepDoc 模組,
4:53.604–4:56.004
zh處理複雜文件的能力真的太強了。
4:56.004–4:57.444
zh很多技術評測都認為,
4:57.444–4:59.843
zh它在處理真實世界的商業文件,
4:59.843–5:01.843
zh像是掃描 PDF 或財報時,
5:01.843–5:04.403
zh效果遠遠勝過其他的開源方案。
5:04.403–5:07.764
zh加上它提供了一套包含前端介面的完整產品,
5:07.764–5:10.004
zh讓企業導入的門檻大幅降低,
5:10.004–5:13.284
zh甚至被譽為是「最佳自架設 RAG 產品」。
5:13.363–5:15.923
zh然而,負面的聲音也同樣存在。
5:15.923–5:19.923
zh疑慮主要集中在它比較高的部署成本和資源消耗。
5:19.923–5:22.243
zh跟那些輕量的函式庫比起來,
5:22.243–5:24.004
zhRAGFlow 的多容器架構,
5:24.004–5:26.484
zh對個人開發者來說,確實有點重。
5:26.484–5:27.764
zh也有些開發者認為,
5:27.764–5:30.004
zh它的流程設計,在彈性上,
5:30.004–5:32.803
zh還是比不上 LangChain 或 拉馬Index 這些框架。
5:32.803–5:35.044
zh如果我們從一個更宏觀的角度來看,
5:35.044–5:36.884
zhRAGFlow 的出現,其實代表了,
5:36.884–5:39.444
zhRAG 領域一個很重要的思維轉變,
5:39.444–5:41.604
zh那就是,大家優化的重心,
5:41.683–5:43.843
zh開始從後端的提示工程,
5:43.843–5:45.123
enprompt engineering,
5:45.123–5:46.963
zh轉移到前端的資料擷取
5:46.963–5:47.843
eningestion。
5:47.843–5:49.923
zh它揭示了一個很樸素的真理:
5:49.923–5:51.604
zh高品質的 AI 輸出,
5:51.604–5:54.083
zh源頭就是高品質的資料輸入。
5:54.083–5:56.403
zh不過,這種對品質的極致追求,
5:56.403–5:58.243
zh也帶來了潛在的風險。
5:58.243–6:00.004
zh它複雜的微服務架構,
6:00.004–6:01.444
zh提高了維運的門檻,
6:01.444–6:03.444
zh對硬體資源的要求也比較高。
6:03.444–6:06.164
zh而且,雖然它用了 gVisor 這種先進技術,
6:06.164–6:09.204
zh但任何允許遠端執行程式碼的功能,
6:09.204–6:12.803
zh本質上都是一個需要持續留意的安全攻擊面。
6:12.803–6:14.803
zh所以,RAGFlow 的真正價值,
6:14.803–6:17.683
zh並不是要取代像 LangChain 這類靈活的函式庫。
6:17.683–6:21.284
zh它的定位,是為那些需要處理真實世界
6:21.284–6:22.884
zhmessy data 的企業,
6:22.884–6:24.724
zh提供一個功能強大、
6:24.724–6:25.764
zh安全可靠,
6:25.764–6:27.444
zh而且開箱即用的,
6:27.444–6:28.963
zh全端 RAG 平台。
6:28.963–6:29.843
zh總結來說,
6:29.843–6:31.523
zhRAGFlow 是一個專為解決
6:31.523–6:33.683
zh真實世界文件混亂問題而生的「生產級」RAG 引擎。
6:33.683–6:35.284
zh生產級 RAG 引擎。
6:35.284–6:36.484
zh它最大的價值,
6:36.484–6:38.884
zh就是透過深度的文件理解技術,
6:38.884–6:41.444
zh從源頭就提升了輸入資料的品質,
6:41.444–6:44.083
zh進而確保大型語言模型輸出的結果,
6:44.083–6:46.243
zh既可靠又能追溯來源。
6:46.243–6:49.363
zh所以,如果你正在開發的 AI 應用,
6:49.363–6:51.923
zh需要處理大量複雜的 PDF、
6:51.923–6:53.683
zh掃描文件或報告,
6:53.683–6:56.803
zh而且你非常重視答案的準確度和可信度,
6:56.803–6:57.843
zh那麼 RAGFlow,
6:57.843–6:59.843
zh絕對是一個值得你密切關注的專案。
0:10.044–0:13.244
今天我們要深度解析 GitHub 上的一個熱門專案:
0:13.244–0:15.924
ragflow,一個頂尖的開源 RAG 引擎。
0:15.924–0:18.484
它旨在解決 RAG 應用最棘手的
0:18.484–0:20.484
「垃圾進、垃圾出」問題,
0:20.484–0:22.164
透過深度文件理解,
0:22.164–0:25.924
為大型語言模型打造真正高品質的上下文。
0:26.064–0:29.644
大型語言模型為什麼有時候會一本正經地胡說八道?
0:29.644–0:33.244
很多人第一個反應,就是怪模型本身不夠聰明。
0:33.244–0:37.544
但如果問題的根源,其實是我們餵給它的資料品質呢?
0:37.544–0:39.784
一個叫做 RAGFlow 的開源專案,
0:39.784–0:41.784
正試圖從源頭解決這個問題。
0:41.784–0:43.783
它不是又一個開發框架,
0:43.783–0:45.783
而是一套完整的 RAG 引擎,
0:45.783–0:50.924
它獨特的設計,可能會改變大家打造企業級 AI 應用的方法。
0:50.924–0:53.664
這個專案在 GitHub 上累積了超過八萬顆星,
0:53.664–0:55.164
它到底厲害在哪裡?
0:55.324–0:58.964
RAGFlow 是由 infiniflow 團隊開發的一個開源專案,
0:58.964–1:01.363
全名是檢索增強生成引擎,
1:01.363–1:02.863
也就是 RAG engine。
1:02.863–1:04.503
它的核心目標很明確:
1:04.503–1:06.944
要為大型語言模型 LLM
1:06.944–1:08.944
提供一個非常可靠的上下文,
1:08.944–1:11.104
來解決模型回答時沒有根據、
1:11.104–1:13.104
甚至產生幻覺的老問題。
1:13.104–1:15.644
這個專案在 GitHub 上有多受歡迎呢?
1:15.644–1:18.683
它已經累積了八萬八千三百七十七顆星,
1:18.683–1:21.483
光是今天一天就增加了四百七十三顆,
1:21.483–1:23.224
Fork 數量也突破了一萬。
1:23.244–1:25.983
這代表開發者社群對它有非常高的期待。
1:25.983–1:27.683
RAGFlow 的特別之處,在於
1:27.683–1:31.364
它把先進的 RAG 技術跟 Agent 的能力結合在一起,
1:31.364–1:33.663
目標是為各種規模的企業,
1:33.663–1:36.004
打造一套順暢的 AI 工作流程。
1:36.004–1:38.364
現在要開發大型語言模型應用,
1:38.364–1:40.564
最主流的做法就是 RAG,
1:40.564–1:43.144
也就是檢索、增強、生成。
1:43.144–1:44.703
這個流程聽起來很簡單:
1:44.703–1:47.203
先從自己的資料庫裡找出相關文件,
1:47.203–1:49.044
再把這些文件跟用戶的問題,
1:49.044–1:51.384
一起丟給語言模型去產生答案。
1:51.403–1:53.144
聽起來很美好,對吧?
1:53.144–1:54.403
但真正的痛點,
1:54.403–1:56.983
其實在最一開始的「知識提取」。
1:56.983–1:59.943
企業的真實文件可不是乾淨的純文字。
1:59.943–2:02.023
裡面充滿了掃描的 PDF、
2:02.023–2:03.123
複雜的表格、
2:03.123–2:04.523
還有多欄位的報告。
2:04.523–2:06.064
傳統的 RAG 流程,
2:06.064–2:09.263
常常很粗暴地把這些文件切成一段段的文字,
2:09.263–2:12.724
結果就是,文件裡重要的版面結構和語意關聯,
2:12.724–2:13.964
全部都遺失了。
2:13.964–2:15.364
這就造成了所謂的
2:15.964–2:18.064
「垃圾進,垃圾出」。
2:18.064–2:20.403
這也是為什麼語言模型常常回答得不好、
2:20.424–2:22.564
引用錯誤,甚至胡說八道。
2:22.564–2:24.064
而 RAGFlow 要解決的,
2:24.064–2:25.364
就是這個最前端,
2:25.364–2:27.504
但也最關鍵的資料品質問題。
2:27.504–2:28.903
RAGFlow 的技術核心,
2:28.903–2:30.303
可以濃縮成一句話:
2:30.303–2:32.343
「Quality in, quality out」,
2:32.343–2:34.243
也就是高品質的輸入,
2:34.243–2:35.843
才會有高品質的輸出。
2:35.843–2:37.343
它的第一個技術亮點,
2:37.343–2:40.743
是一個叫做 `DeepDoc` 的深度文件理解模組。
2:40.743–2:43.424
你可以把它想像成一位數位文件鑑識專家。
2:43.424–2:44.724
它不只是讀文字,
2:44.724–2:47.724
它還會去分析 PDF 或 Word 文件的版面,
2:47.724–2:49.823
可以很精準地把表格抽出來、
2:49.944–2:51.084
辨識圖片內容、
2:51.084–2:53.784
還能看懂標題和段落之間的層級關係。
2:54.243–2:56.743
這種智慧化的切塊 chunking 方式,
2:56.743–2:59.664
確保了餵給模型的上下文,是高品質
2:59.664–3:01.064
而且結構完整的。
3:01.064–3:04.123
這就從根本上提升了檢索的準確度。
3:04.123–3:05.424
再來,RAGFlow
3:05.424–3:07.924
把 RAG 跟 Agent 的工作流程結合在一起。
3:07.924–3:09.823
這代表它不只會回答問題,
3:09.823–3:12.263
還能自動執行多個步驟的複雜任務。
3:12.263–3:13.203
更厲害的是,
3:13.203–3:18.103
它為此設計了一個基於 `gVisor` 技術的程式碼執行沙箱 sandbox。
3:18.103–3:18.903
sandbox
3:18.924–3:20.024
這代表什麼意思?
3:20.024–3:25.064
這代表 Agent 可以安全地執行由 LLM 生成的 Python 程式碼,
3:25.064–3:26.564
來完成複雜的分析任務。
3:26.564–3:29.064
同時,又有一道堅固的防火牆保護,
3:29.064–3:31.403
不怕惡意程式碼攻擊主機系統。
3:31.403–3:35.343
這個設計,對於企業級的 AI 自動化應用來說,
3:35.343–3:37.343
提供了非常關鍵的安全保障。
3:37.343–3:39.743
最後,來看看它的整體架構。
3:39.743–3:42.743
RAGFlow 採用了基於 Docker 的容器化部署,
3:42.743–3:46.644
把後端服務、資料庫和文件引擎都模組化了。
3:46.664–3:48.763
它還讓開發者可以在 Elasticsearch,
3:48.763–3:52.203
或是他們自己研發的 Infinity 向量資料庫之間自由選擇。
3:52.203–3:55.403
這代表它同時兼顧了部署的方便性和架構的彈性。
3:55.403–3:57.403
RAGFlow 的應用場景非常明確,
3:57.403–3:58.804
主要就是針對那些
3:58.804–4:02.084
需要處理大量非結構化文件的企業和開發者。
4:02.084–4:02.843
舉個例子,
4:02.843–4:07.144
一間金融機構可以用它來處理幾千份掃描的年度報告 PDF。
4:07.144–4:09.584
然後建立一個內部的知識問答系統,
4:09.584–4:11.683
不只可以精準回答財務數據,
4:11.683–4:13.924
還能追溯到報告的原文頁數。
4:13.924–4:15.123
對於開發者來說,
4:15.144–4:17.444
可以把 RAGFlow 當作後端引擎,
4:17.444–4:18.843
很快地為自己的 App,
4:18.843–4:21.983
加上讀取私有資料的進階問答功能,
4:21.983–4:25.043
不用再自己從頭蓋一個複雜的資料處理流程。
4:25.043–4:26.483
而對數據分析師來說,
4:26.483–4:29.524
它的 Agent 功能可以建立自動化工作流程,
4:29.524–4:33.924
從海量文件中自動提取、分析並總結特定資訊。
4:33.924–4:35.924
不過,這麼強大的功能,
4:35.924–4:37.763
也代表它有一定的入門門檻。
4:37.763–4:40.963
使用者需要對 Docker 和 Docker Compose 有基本的認識,
4:40.963–4:44.963
才能順利在自己的環境完成 Self-Hosting 的部署。
4:45.044–4:48.643
社群對 RAGFlow 的評價,可以說是非常兩極。
4:48.643–4:51.044
一方面,正面的評價非常多,
4:51.044–4:53.604
大家最稱讚的就是它的 DeepDoc 模組,
4:53.604–4:56.004
處理複雜文件的能力真的太強了。
4:56.004–4:57.444
很多技術評測都認為,
4:57.444–4:59.843
它在處理真實世界的商業文件,
4:59.843–5:01.843
像是掃描 PDF 或財報時,
5:01.843–5:04.403
效果遠遠勝過其他的開源方案。
5:04.403–5:07.764
加上它提供了一套包含前端介面的完整產品,
5:07.764–5:10.004
讓企業導入的門檻大幅降低,
5:10.004–5:13.284
甚至被譽為是「最佳自架設 RAG 產品」。
5:13.363–5:15.923
然而,負面的聲音也同樣存在。
5:15.923–5:19.923
疑慮主要集中在它比較高的部署成本和資源消耗。
5:19.923–5:22.243
跟那些輕量的函式庫比起來,
5:22.243–5:24.004
RAGFlow 的多容器架構,
5:24.004–5:26.484
對個人開發者來說,確實有點重。
5:26.484–5:27.764
也有些開發者認為,
5:27.764–5:30.004
它的流程設計,在彈性上,
5:30.004–5:32.803
還是比不上 LangChain 或 拉馬Index 這些框架。
5:32.803–5:35.044
如果我們從一個更宏觀的角度來看,
5:35.044–5:36.884
RAGFlow 的出現,其實代表了,
5:36.884–5:39.444
RAG 領域一個很重要的思維轉變,
5:39.444–5:41.604
那就是,大家優化的重心,
5:41.683–5:43.843
開始從後端的提示工程,
5:43.843–5:45.123
prompt engineering,
5:45.123–5:46.963
轉移到前端的資料擷取
5:46.963–5:47.843
ingestion。
5:47.843–5:49.923
它揭示了一個很樸素的真理:
5:49.923–5:51.604
高品質的 AI 輸出,
5:51.604–5:54.083
源頭就是高品質的資料輸入。
5:54.083–5:56.403
不過,這種對品質的極致追求,
5:56.403–5:58.243
也帶來了潛在的風險。
5:58.243–6:00.004
它複雜的微服務架構,
6:00.004–6:01.444
提高了維運的門檻,
6:01.444–6:03.444
對硬體資源的要求也比較高。
6:03.444–6:06.164
而且,雖然它用了 gVisor 這種先進技術,
6:06.164–6:09.204
但任何允許遠端執行程式碼的功能,
6:09.204–6:12.803
本質上都是一個需要持續留意的安全攻擊面。
6:12.803–6:14.803
所以,RAGFlow 的真正價值,
6:14.803–6:17.683
並不是要取代像 LangChain 這類靈活的函式庫。
6:17.683–6:21.284
它的定位,是為那些需要處理真實世界
6:21.284–6:22.884
messy data 的企業,
6:22.884–6:24.724
提供一個功能強大、
6:24.724–6:25.764
安全可靠,
6:25.764–6:27.444
而且開箱即用的,
6:27.444–6:28.963
全端 RAG 平台。
6:28.963–6:29.843
總結來說,
6:29.843–6:31.523
RAGFlow 是一個專為解決
6:31.523–6:33.683
真實世界文件混亂問題而生的「生產級」RAG 引擎。
6:33.683–6:35.284
生產級 RAG 引擎。
6:35.284–6:36.484
它最大的價值,
6:36.484–6:38.884
就是透過深度的文件理解技術,
6:38.884–6:41.444
從源頭就提升了輸入資料的品質,
6:41.444–6:44.083
進而確保大型語言模型輸出的結果,
6:44.083–6:46.243
既可靠又能追溯來源。
6:46.243–6:49.363
所以,如果你正在開發的 AI 應用,
6:49.363–6:51.923
需要處理大量複雜的 PDF、
6:51.923–6:53.683
掃描文件或報告,
6:53.683–6:56.803
而且你非常重視答案的準確度和可信度,
6:56.803–6:57.843
那麼 RAGFlow,
6:57.843–6:59.843
絕對是一個值得你密切關注的專案。
0:10.044–0:13.244
zh今天我們要深度解析 GitHub 上的一個熱門專案:
今天我們要深度解析 GitHub 上的一個熱門專案:
0:13.244–0:15.924
zhragflow,一個頂尖的開源 RAG 引擎。
ragflow,一個頂尖的開源 RAG 引擎。
0:15.924–0:18.484
zh它旨在解決 RAG 應用最棘手的
它旨在解決 RAG 應用最棘手的
0:18.484–0:20.484
zh「垃圾進、垃圾出」問題,
「垃圾進、垃圾出」問題,
0:20.484–0:22.164
zh透過深度文件理解,
透過深度文件理解,
0:22.164–0:25.924
zh為大型語言模型打造真正高品質的上下文。
為大型語言模型打造真正高品質的上下文。
0:26.064–0:29.644
zh大型語言模型為什麼有時候會一本正經地胡說八道?
大型語言模型為什麼有時候會一本正經地胡說八道?
0:29.644–0:33.244
zh很多人第一個反應,就是怪模型本身不夠聰明。
很多人第一個反應,就是怪模型本身不夠聰明。
0:33.244–0:37.544
zh但如果問題的根源,其實是我們餵給它的資料品質呢?
但如果問題的根源,其實是我們餵給它的資料品質呢?
0:37.544–0:39.784
zh一個叫做 RAGFlow 的開源專案,
一個叫做 RAGFlow 的開源專案,
0:39.784–0:41.784
zh正試圖從源頭解決這個問題。
正試圖從源頭解決這個問題。
0:41.784–0:43.783
zh它不是又一個開發框架,
它不是又一個開發框架,
0:43.783–0:45.783
zh而是一套完整的 RAG 引擎,
而是一套完整的 RAG 引擎,
0:45.783–0:50.924
zh它獨特的設計,可能會改變大家打造企業級 AI 應用的方法。
它獨特的設計,可能會改變大家打造企業級 AI 應用的方法。
0:50.924–0:53.664
zh這個專案在 GitHub 上累積了超過八萬顆星,
這個專案在 GitHub 上累積了超過八萬顆星,
0:53.664–0:55.164
zh它到底厲害在哪裡?
它到底厲害在哪裡?
0:55.324–0:58.964
zhRAGFlow 是由 infiniflow 團隊開發的一個開源專案,
RAGFlow 是由 infiniflow 團隊開發的一個開源專案,
0:58.964–1:01.363
zh全名是檢索增強生成引擎,
全名是檢索增強生成引擎,
1:01.363–1:02.863
zh也就是 RAG engine。
也就是 RAG engine。
1:02.863–1:04.503
zh它的核心目標很明確:
它的核心目標很明確:
1:04.503–1:06.944
zh要為大型語言模型 LLM
要為大型語言模型 LLM
1:06.944–1:08.944
zh提供一個非常可靠的上下文,
提供一個非常可靠的上下文,
1:08.944–1:11.104
zh來解決模型回答時沒有根據、
來解決模型回答時沒有根據、
1:11.104–1:13.104
zh甚至產生幻覺的老問題。
甚至產生幻覺的老問題。
1:13.104–1:15.644
zh這個專案在 GitHub 上有多受歡迎呢?
這個專案在 GitHub 上有多受歡迎呢?
1:15.644–1:18.683
zh它已經累積了八萬八千三百七十七顆星,
它已經累積了八萬八千三百七十七顆星,
1:18.683–1:21.483
zh光是今天一天就增加了四百七十三顆,
光是今天一天就增加了四百七十三顆,
1:21.483–1:23.224
zhFork 數量也突破了一萬。
Fork 數量也突破了一萬。
1:23.244–1:25.983
zh這代表開發者社群對它有非常高的期待。
這代表開發者社群對它有非常高的期待。
1:25.983–1:27.683
zhRAGFlow 的特別之處,在於
RAGFlow 的特別之處,在於
1:27.683–1:31.364
zh它把先進的 RAG 技術跟 Agent 的能力結合在一起,
它把先進的 RAG 技術跟 Agent 的能力結合在一起,
1:31.364–1:33.663
zh目標是為各種規模的企業,
目標是為各種規模的企業,
1:33.663–1:36.004
zh打造一套順暢的 AI 工作流程。
打造一套順暢的 AI 工作流程。
1:36.004–1:38.364
zh現在要開發大型語言模型應用,
現在要開發大型語言模型應用,
1:38.364–1:40.564
zh最主流的做法就是 RAG,
最主流的做法就是 RAG,
1:40.564–1:43.144
zh也就是檢索、增強、生成。
也就是檢索、增強、生成。
1:43.144–1:44.703
zh這個流程聽起來很簡單:
這個流程聽起來很簡單:
1:44.703–1:47.203
zh先從自己的資料庫裡找出相關文件,
先從自己的資料庫裡找出相關文件,
1:47.203–1:49.044
zh再把這些文件跟用戶的問題,
再把這些文件跟用戶的問題,
1:49.044–1:51.384
zh一起丟給語言模型去產生答案。
一起丟給語言模型去產生答案。
1:51.403–1:53.144
zh聽起來很美好,對吧?
聽起來很美好,對吧?
1:53.144–1:54.403
zh但真正的痛點,
但真正的痛點,
1:54.403–1:56.983
zh其實在最一開始的「知識提取」。
其實在最一開始的「知識提取」。
1:56.983–1:59.943
zh企業的真實文件可不是乾淨的純文字。
企業的真實文件可不是乾淨的純文字。
1:59.943–2:02.023
zh裡面充滿了掃描的 PDF、
裡面充滿了掃描的 PDF、
2:02.023–2:03.123
zh複雜的表格、
複雜的表格、
2:03.123–2:04.523
zh還有多欄位的報告。
還有多欄位的報告。
2:04.523–2:06.064
zh傳統的 RAG 流程,
傳統的 RAG 流程,
2:06.064–2:09.263
zh常常很粗暴地把這些文件切成一段段的文字,
常常很粗暴地把這些文件切成一段段的文字,
2:09.263–2:12.724
zh結果就是,文件裡重要的版面結構和語意關聯,
結果就是,文件裡重要的版面結構和語意關聯,
2:12.724–2:13.964
zh全部都遺失了。
全部都遺失了。
2:13.964–2:15.364
zh這就造成了所謂的
這就造成了所謂的
2:15.964–2:18.064
zh「垃圾進,垃圾出」。
「垃圾進,垃圾出」。
2:18.064–2:20.403
zh這也是為什麼語言模型常常回答得不好、
這也是為什麼語言模型常常回答得不好、
2:20.424–2:22.564
zh引用錯誤,甚至胡說八道。
引用錯誤,甚至胡說八道。
2:22.564–2:24.064
zh而 RAGFlow 要解決的,
而 RAGFlow 要解決的,
2:24.064–2:25.364
zh就是這個最前端,
就是這個最前端,
2:25.364–2:27.504
zh但也最關鍵的資料品質問題。
但也最關鍵的資料品質問題。
2:27.504–2:28.903
zhRAGFlow 的技術核心,
RAGFlow 的技術核心,
2:28.903–2:30.303
zh可以濃縮成一句話:
可以濃縮成一句話:
2:30.303–2:32.343
en「Quality in, quality out」,
「Quality in, quality out」,
2:32.343–2:34.243
zh也就是高品質的輸入,
也就是高品質的輸入,
2:34.243–2:35.843
zh才會有高品質的輸出。
才會有高品質的輸出。
2:35.843–2:37.343
zh它的第一個技術亮點,
它的第一個技術亮點,
2:37.343–2:40.743
zh是一個叫做 `DeepDoc` 的深度文件理解模組。
是一個叫做 `DeepDoc` 的深度文件理解模組。
2:40.743–2:43.424
zh你可以把它想像成一位數位文件鑑識專家。
你可以把它想像成一位數位文件鑑識專家。
2:43.424–2:44.724
zh它不只是讀文字,
它不只是讀文字,
2:44.724–2:47.724
zh它還會去分析 PDF 或 Word 文件的版面,
它還會去分析 PDF 或 Word 文件的版面,
2:47.724–2:49.823
zh可以很精準地把表格抽出來、
可以很精準地把表格抽出來、
2:49.944–2:51.084
zh辨識圖片內容、
辨識圖片內容、
2:51.084–2:53.784
zh還能看懂標題和段落之間的層級關係。
還能看懂標題和段落之間的層級關係。
2:54.243–2:56.743
zh這種智慧化的切塊 chunking 方式,
這種智慧化的切塊 chunking 方式,
2:56.743–2:59.664
zh確保了餵給模型的上下文,是高品質
確保了餵給模型的上下文,是高品質
2:59.664–3:01.064
zh而且結構完整的。
而且結構完整的。
3:01.064–3:04.123
zh這就從根本上提升了檢索的準確度。
這就從根本上提升了檢索的準確度。
3:04.123–3:05.424
zh再來,RAGFlow
再來,RAGFlow
3:05.424–3:07.924
zh把 RAG 跟 Agent 的工作流程結合在一起。
把 RAG 跟 Agent 的工作流程結合在一起。
3:07.924–3:09.823
zh這代表它不只會回答問題,
這代表它不只會回答問題,
3:09.823–3:12.263
zh還能自動執行多個步驟的複雜任務。
還能自動執行多個步驟的複雜任務。
3:12.263–3:13.203
zh更厲害的是,
更厲害的是,
3:13.203–3:18.103
zh它為此設計了一個基於 `gVisor` 技術的程式碼執行沙箱 sandbox。
它為此設計了一個基於 `gVisor` 技術的程式碼執行沙箱 sandbox。
3:18.103–3:18.903
ensandbox
sandbox
3:18.924–3:20.024
zh這代表什麼意思?
這代表什麼意思?
3:20.024–3:25.064
zh這代表 Agent 可以安全地執行由 LLM 生成的 Python 程式碼,
這代表 Agent 可以安全地執行由 LLM 生成的 Python 程式碼,
3:25.064–3:26.564
zh來完成複雜的分析任務。
來完成複雜的分析任務。
3:26.564–3:29.064
zh同時,又有一道堅固的防火牆保護,
同時,又有一道堅固的防火牆保護,
3:29.064–3:31.403
zh不怕惡意程式碼攻擊主機系統。
不怕惡意程式碼攻擊主機系統。
3:31.403–3:35.343
zh這個設計,對於企業級的 AI 自動化應用來說,
這個設計,對於企業級的 AI 自動化應用來說,
3:35.343–3:37.343
zh提供了非常關鍵的安全保障。
提供了非常關鍵的安全保障。
3:37.343–3:39.743
zh最後,來看看它的整體架構。
最後,來看看它的整體架構。
3:39.743–3:42.743
zhRAGFlow 採用了基於 Docker 的容器化部署,
RAGFlow 採用了基於 Docker 的容器化部署,
3:42.743–3:46.644
zh把後端服務、資料庫和文件引擎都模組化了。
把後端服務、資料庫和文件引擎都模組化了。
3:46.664–3:48.763
zh它還讓開發者可以在 Elasticsearch,
它還讓開發者可以在 Elasticsearch,
3:48.763–3:52.203
zh或是他們自己研發的 Infinity 向量資料庫之間自由選擇。
或是他們自己研發的 Infinity 向量資料庫之間自由選擇。
3:52.203–3:55.403
zh這代表它同時兼顧了部署的方便性和架構的彈性。
這代表它同時兼顧了部署的方便性和架構的彈性。
3:55.403–3:57.403
zhRAGFlow 的應用場景非常明確,
RAGFlow 的應用場景非常明確,
3:57.403–3:58.804
zh主要就是針對那些
主要就是針對那些
3:58.804–4:02.084
zh需要處理大量非結構化文件的企業和開發者。
需要處理大量非結構化文件的企業和開發者。
4:02.084–4:02.843
zh舉個例子,
舉個例子,
4:02.843–4:07.144
zh一間金融機構可以用它來處理幾千份掃描的年度報告 PDF。
一間金融機構可以用它來處理幾千份掃描的年度報告 PDF。
4:07.144–4:09.584
zh然後建立一個內部的知識問答系統,
然後建立一個內部的知識問答系統,
4:09.584–4:11.683
zh不只可以精準回答財務數據,
不只可以精準回答財務數據,
4:11.683–4:13.924
zh還能追溯到報告的原文頁數。
還能追溯到報告的原文頁數。
4:13.924–4:15.123
zh對於開發者來說,
對於開發者來說,
4:15.144–4:17.444
zh可以把 RAGFlow 當作後端引擎,
可以把 RAGFlow 當作後端引擎,
4:17.444–4:18.843
zh很快地為自己的 App,
很快地為自己的 App,
4:18.843–4:21.983
zh加上讀取私有資料的進階問答功能,
加上讀取私有資料的進階問答功能,
4:21.983–4:25.043
zh不用再自己從頭蓋一個複雜的資料處理流程。
不用再自己從頭蓋一個複雜的資料處理流程。
4:25.043–4:26.483
zh而對數據分析師來說,
而對數據分析師來說,
4:26.483–4:29.524
zh它的 Agent 功能可以建立自動化工作流程,
它的 Agent 功能可以建立自動化工作流程,
4:29.524–4:33.924
zh從海量文件中自動提取、分析並總結特定資訊。
從海量文件中自動提取、分析並總結特定資訊。
4:33.924–4:35.924
zh不過,這麼強大的功能,
不過,這麼強大的功能,
4:35.924–4:37.763
zh也代表它有一定的入門門檻。
也代表它有一定的入門門檻。
4:37.763–4:40.963
zh使用者需要對 Docker 和 Docker Compose 有基本的認識,
使用者需要對 Docker 和 Docker Compose 有基本的認識,
4:40.963–4:44.963
zh才能順利在自己的環境完成 Self-Hosting 的部署。
才能順利在自己的環境完成 Self-Hosting 的部署。
4:45.044–4:48.643
zh社群對 RAGFlow 的評價,可以說是非常兩極。
社群對 RAGFlow 的評價,可以說是非常兩極。
4:48.643–4:51.044
zh一方面,正面的評價非常多,
一方面,正面的評價非常多,
4:51.044–4:53.604
zh大家最稱讚的就是它的 DeepDoc 模組,
大家最稱讚的就是它的 DeepDoc 模組,
4:53.604–4:56.004
zh處理複雜文件的能力真的太強了。
處理複雜文件的能力真的太強了。
4:56.004–4:57.444
zh很多技術評測都認為,
很多技術評測都認為,
4:57.444–4:59.843
zh它在處理真實世界的商業文件,
它在處理真實世界的商業文件,
4:59.843–5:01.843
zh像是掃描 PDF 或財報時,
像是掃描 PDF 或財報時,
5:01.843–5:04.403
zh效果遠遠勝過其他的開源方案。
效果遠遠勝過其他的開源方案。
5:04.403–5:07.764
zh加上它提供了一套包含前端介面的完整產品,
加上它提供了一套包含前端介面的完整產品,
5:07.764–5:10.004
zh讓企業導入的門檻大幅降低,
讓企業導入的門檻大幅降低,
5:10.004–5:13.284
zh甚至被譽為是「最佳自架設 RAG 產品」。
甚至被譽為是「最佳自架設 RAG 產品」。
5:13.363–5:15.923
zh然而,負面的聲音也同樣存在。
然而,負面的聲音也同樣存在。
5:15.923–5:19.923
zh疑慮主要集中在它比較高的部署成本和資源消耗。
疑慮主要集中在它比較高的部署成本和資源消耗。
5:19.923–5:22.243
zh跟那些輕量的函式庫比起來,
跟那些輕量的函式庫比起來,
5:22.243–5:24.004
zhRAGFlow 的多容器架構,
RAGFlow 的多容器架構,
5:24.004–5:26.484
zh對個人開發者來說,確實有點重。
對個人開發者來說,確實有點重。
5:26.484–5:27.764
zh也有些開發者認為,
也有些開發者認為,
5:27.764–5:30.004
zh它的流程設計,在彈性上,
它的流程設計,在彈性上,
5:30.004–5:32.803
zh還是比不上 LangChain 或 拉馬Index 這些框架。
還是比不上 LangChain 或 拉馬Index 這些框架。
5:32.803–5:35.044
zh如果我們從一個更宏觀的角度來看,
如果我們從一個更宏觀的角度來看,
5:35.044–5:36.884
zhRAGFlow 的出現,其實代表了,
RAGFlow 的出現,其實代表了,
5:36.884–5:39.444
zhRAG 領域一個很重要的思維轉變,
RAG 領域一個很重要的思維轉變,
5:39.444–5:41.604
zh那就是,大家優化的重心,
那就是,大家優化的重心,
5:41.683–5:43.843
zh開始從後端的提示工程,
開始從後端的提示工程,
5:43.843–5:45.123
enprompt engineering,
prompt engineering,
5:45.123–5:46.963
zh轉移到前端的資料擷取
轉移到前端的資料擷取
5:46.963–5:47.843
eningestion。
ingestion。
5:47.843–5:49.923
zh它揭示了一個很樸素的真理:
它揭示了一個很樸素的真理:
5:49.923–5:51.604
zh高品質的 AI 輸出,
高品質的 AI 輸出,
5:51.604–5:54.083
zh源頭就是高品質的資料輸入。
源頭就是高品質的資料輸入。
5:54.083–5:56.403
zh不過,這種對品質的極致追求,
不過,這種對品質的極致追求,
5:56.403–5:58.243
zh也帶來了潛在的風險。
也帶來了潛在的風險。
5:58.243–6:00.004
zh它複雜的微服務架構,
它複雜的微服務架構,
6:00.004–6:01.444
zh提高了維運的門檻,
提高了維運的門檻,
6:01.444–6:03.444
zh對硬體資源的要求也比較高。
對硬體資源的要求也比較高。
6:03.444–6:06.164
zh而且,雖然它用了 gVisor 這種先進技術,
而且,雖然它用了 gVisor 這種先進技術,
6:06.164–6:09.204
zh但任何允許遠端執行程式碼的功能,
但任何允許遠端執行程式碼的功能,
6:09.204–6:12.803
zh本質上都是一個需要持續留意的安全攻擊面。
本質上都是一個需要持續留意的安全攻擊面。
6:12.803–6:14.803
zh所以,RAGFlow 的真正價值,
所以,RAGFlow 的真正價值,
6:14.803–6:17.683
zh並不是要取代像 LangChain 這類靈活的函式庫。
並不是要取代像 LangChain 這類靈活的函式庫。
6:17.683–6:21.284
zh它的定位,是為那些需要處理真實世界
它的定位,是為那些需要處理真實世界
6:21.284–6:22.884
zhmessy data 的企業,
messy data 的企業,
6:22.884–6:24.724
zh提供一個功能強大、
提供一個功能強大、
6:24.724–6:25.764
zh安全可靠,
安全可靠,
6:25.764–6:27.444
zh而且開箱即用的,
而且開箱即用的,
6:27.444–6:28.963
zh全端 RAG 平台。
全端 RAG 平台。
6:28.963–6:29.843
zh總結來說,
總結來說,
6:29.843–6:31.523
zhRAGFlow 是一個專為解決
RAGFlow 是一個專為解決
6:31.523–6:33.683
zh真實世界文件混亂問題而生的「生產級」RAG 引擎。
真實世界文件混亂問題而生的「生產級」RAG 引擎。
6:33.683–6:35.284
zh生產級 RAG 引擎。
生產級 RAG 引擎。
6:35.284–6:36.484
zh它最大的價值,
它最大的價值,
6:36.484–6:38.884
zh就是透過深度的文件理解技術,
就是透過深度的文件理解技術,
6:38.884–6:41.444
zh從源頭就提升了輸入資料的品質,
從源頭就提升了輸入資料的品質,
6:41.444–6:44.083
zh進而確保大型語言模型輸出的結果,
進而確保大型語言模型輸出的結果,
6:44.083–6:46.243
zh既可靠又能追溯來源。
既可靠又能追溯來源。
6:46.243–6:49.363
zh所以,如果你正在開發的 AI 應用,
所以,如果你正在開發的 AI 應用,
6:49.363–6:51.923
zh需要處理大量複雜的 PDF、
需要處理大量複雜的 PDF、
6:51.923–6:53.683
zh掃描文件或報告,
掃描文件或報告,
6:53.683–6:56.803
zh而且你非常重視答案的準確度和可信度,
而且你非常重視答案的準確度和可信度,
6:56.803–6:57.843
zh那麼 RAGFlow,
那麼 RAGFlow,
6:57.843–6:59.843
zh絕對是一個值得你密切關注的專案。
絕對是一個值得你密切關注的專案。