Graph RAG詳解:復(fù)雜根因分析場(chǎng)景實(shí)踐

2 評(píng)論 3162 瀏覽 14 收藏 35 分鐘

在復(fù)雜業(yè)務(wù)系統(tǒng)中,根因分析往往面臨數(shù)據(jù)維度多、因果鏈條長(zhǎng)、語義理解難的問題。傳統(tǒng)RAG方案在面對(duì)這類挑戰(zhàn)時(shí)顯得力不從心,而Graph RAG的出現(xiàn),正是一次從“檢索增強(qiáng)”到“圖譜推理”的范式躍遷。本文將結(jié)合真實(shí)業(yè)務(wù)場(chǎng)景,深入拆解Graph RAG的核心機(jī)制與落地路徑,幫助你理解它如何在復(fù)雜因果分析中實(shí)現(xiàn)更強(qiáng)的語義穿透與推理能力。

先來說一下為什么要寫這篇文章,是因?yàn)槲覀儗?shí)際業(yè)務(wù)落地RAG和Agent中發(fā)現(xiàn)了很多問題,在分析總結(jié)后我發(fā)現(xiàn),要解決這樣的問題更好的方式是引用新的技術(shù),所以近期也在研讀這方面的論文,同時(shí)看了很多視頻,想結(jié)合自己的理解分享一下。

場(chǎng)景是在一家工廠,我們的目標(biāo)是為一線質(zhì)檢人員打造一個(gè)AI助手。當(dāng)他們發(fā)現(xiàn)成品病疵時(shí),只需用自然語言描述問題,結(jié)合SOP(標(biāo)準(zhǔn)作業(yè)程序)等知識(shí)文檔,AI就能自動(dòng)鉆取MES、WMS等生產(chǎn)系統(tǒng)的數(shù)據(jù),完成一套復(fù)雜的根因分析,最終輸出可供決策和沉淀的報(bào)告。

在落地過程中我們就發(fā)現(xiàn)存在多個(gè)問題

1)我們嘗試將大量的MES數(shù)據(jù)和SOP文檔給到AI,但發(fā)現(xiàn)它在回答跨領(lǐng)域的復(fù)雜問題時(shí),依然顯得“稚嫩”。例如,它知道A工序的參數(shù),也知道B工序的規(guī)范,但它不理解A工序的異常如何通過物料流轉(zhuǎn),最終影響到半天后的另一工序,但是如果把這些信息放在提示詞里,提示詞就會(huì)逐漸難以管理,而且token消耗極快。

2)工廠里充斥著海量的非結(jié)構(gòu)化數(shù)據(jù):PDF格式的設(shè)備維修報(bào)告、郵件里的臨時(shí)通知、Excel里的工藝參數(shù)表、各種病疵分析報(bào)告……它們格式混亂,內(nèi)容質(zhì)量參差不齊。RAG技術(shù)雖然能從這些文檔中“檢索”信息,但是上下文有限,檢索的塊過多且如果信息之間沒有建立有效的關(guān)聯(lián),AI找到的也只是一堆無用的信息碎片。

3)在工廠這個(gè)復(fù)雜系統(tǒng)里,人、機(jī)、料、法、環(huán)都是“實(shí)體”。實(shí)體之間的關(guān)系:例如哪個(gè)工人(人)在什么時(shí)間(環(huán))操作了哪臺(tái)設(shè)備(機(jī)),生產(chǎn)了哪個(gè)批次的產(chǎn)品(料),遵循了哪套工序(法)

其實(shí)以上問題的根源就在于知識(shí)之間關(guān)系的缺失。

那么結(jié)合我們的業(yè)務(wù)背景,本篇文章主要探討以下內(nèi)容:

-Graph RAG到底是什么,跟普通RAG的區(qū)別有多大

-Graph RAG有哪些優(yōu)勢(shì),技術(shù)應(yīng)用成本與效果如何,是否值得采用

-Graph RAG的應(yīng)用場(chǎng)景有哪些,適合在什么場(chǎng)景下落地

-Graph相關(guān)的技術(shù)棧有哪些

-Graph RAG如何做到關(guān)聯(lián)信息的檢索與生成

-如何搭建Graph RAG流程

-與原有的傳統(tǒng)RAG如何結(jié)合(搭配使用)

Graph RAG是什么?-從點(diǎn)到面

傳統(tǒng)RAG:它的工作原理與局限

傳統(tǒng)RAG大家應(yīng)該比較熟悉,就是給大模型配備的開卷考試系統(tǒng),主要技術(shù)還是文本切塊、向量化、相似度檢索這些。

大型語言模型(LLM)在自然語言理解和生成任務(wù)方面已經(jīng)做到了很好,但是直接回答專業(yè)向問題的能力還是受到訓(xùn)練數(shù)據(jù)中包含的信息全面性和上下文窗口容量的限制。

在傳統(tǒng)的RAG中,用戶提問時(shí)系統(tǒng)先去我們投喂的資料庫里,把最相關(guān)的幾段文字檢索出來,然后把問題和這些資料一起打包,交給大模型,讓它根據(jù)這些參考資料來生成答案。

在面向信息檢索場(chǎng)景中效果確實(shí)不錯(cuò)。你問它“硫化工序的標(biāo)準(zhǔn)溫度是多少?”它能迅速從SOP文檔里找出答案。你問“上周更換過壓延設(shè)備的哪個(gè)零件?”它也能從維修報(bào)告里定位到信息。

那問題在于為什么它會(huì)存在局限性,為何它在制造業(yè)的業(yè)務(wù)場(chǎng)景中存在問題?

前段時(shí)間我們的產(chǎn)線上出現(xiàn)了一個(gè)棘手的病疵。有經(jīng)驗(yàn)的老師傅懷疑,是當(dāng)天上午壓出工序的某個(gè)參數(shù)異常,導(dǎo)致一批物料在倉庫里流轉(zhuǎn)了半天后,最終在下午的硫化工序上才暴露出問題。我們把這個(gè)問題拋給了AI助手:“壓出工序的參數(shù)異常,是否以及如何影響了12小時(shí)后硫化工序的成品質(zhì)量?”

但是AI的回答表現(xiàn)一般,它要么分別告訴你A工序的參數(shù)記錄和F工序的質(zhì)量標(biāo)準(zhǔn),要么就回答“根據(jù)現(xiàn)有資料無法建立直接聯(lián)系”。

這個(gè)問題的出現(xiàn)主要還是因?yàn)樗槍?duì)解決的就是點(diǎn)狀的問題檢索,而不是點(diǎn)和點(diǎn)之間的關(guān)系上。傳統(tǒng)RAG檢索出來的,是一個(gè)個(gè)獨(dú)立的Chunks。壓出工序的文檔是一個(gè)塊,硫化工序的文檔是另一個(gè)塊。在AI眼里,它們是平鋪的、互不相干的信息碎片。

Graph RAG:用圖來組織和理解世界

Graph RAG是一種知識(shí)圖譜與傳統(tǒng)RAG相結(jié)合的技術(shù),檢索的對(duì)象不再是獨(dú)立的文本塊,而是包含實(shí)體和關(guān)系的圖譜,GraphRAG 的主要關(guān)注點(diǎn)不是 RAG,而是圖譜的構(gòu)建和管道。

效果對(duì)比

傳統(tǒng)RAG:

  • 你問他:“關(guān)于A工序異常和F工序質(zhì)量,有什么信息?”
  • 他會(huì)迅速跑進(jìn)圖書館,把所有書名或章節(jié)里帶有各種的書和報(bào)告都抱到你面前,說:都在這兒了,您自己看吧。
  • 他負(fù)責(zé)幫你找,但不負(fù)責(zé)幫你理。

Graph RAG:

  • 你問他:“關(guān)于A工序異常和F工序質(zhì)量,有什么信息?”
  • 他會(huì)在腦中的知識(shí)網(wǎng)絡(luò)里迅速構(gòu)建出一條邏輯鏈,然后告訴你:這個(gè)問題要這么看:A工序的異常,通過影響P20250817這批物料的核心指標(biāo),這批料在倉庫放了12小時(shí)后,正好被F工序領(lǐng)用,最終導(dǎo)致了你看到的成品病疵。相關(guān)的SOP規(guī)定在第3.4節(jié),設(shè)備維護(hù)記錄在這里。
  • 他不僅給你信息,更重要的是,他給了你洞察,也就是信息之間的關(guān)聯(lián)和邏輯。

為什么要選Graph RAG

核心優(yōu)勢(shì)

1)深度關(guān)聯(lián)與推理:天然支持多跳查詢,完美匹配根因分析、數(shù)據(jù)追溯、關(guān)系查詢這類需要溯源的復(fù)雜任務(wù)。傳統(tǒng)RAG之所以失敗,是因?yàn)樗鼰o法進(jìn)行多跳推理。就像著名的六度空間理論,你和任何一個(gè)陌生人之間所隔的人不會(huì)超過6個(gè),多跳推理就是讓AI能在數(shù)據(jù)網(wǎng)絡(luò)中,通過“A影響B(tài),B影響C”這樣的關(guān)系鏈條,最終找到A和C之間的深層聯(lián)系。

比如我們的實(shí)際業(yè)務(wù):M001號(hào)設(shè)備(機(jī))在上午8:00(環(huán))由張三(人)操作(法),生產(chǎn)了P20250817批次(料),該批次物料的核心指標(biāo)X因設(shè)備參數(shù)臨時(shí)調(diào)整而偏高,在倉庫中轉(zhuǎn)12小時(shí)后,被F003號(hào)設(shè)備領(lǐng)用,最終導(dǎo)致成品病疵Z的產(chǎn)生。

2)可解釋性:在工廠和toB場(chǎng)景里,信任非常重要,一線質(zhì)檢員和工程師不會(huì)輕易相信一個(gè)黑盒給出的結(jié)論,檢索路徑可視化(比如從A??B??C),讓AI的思考過程清晰可見,增強(qiáng)使用人員(尤其是B端領(lǐng)域)的信任度。

3)數(shù)據(jù)整合能力:工廠或大部分企業(yè)存在海量的非結(jié)構(gòu)化數(shù)據(jù):PDF格式的設(shè)備維修報(bào)告、郵件里的臨時(shí)通知、Excel里的工藝參數(shù)表……但是GraphRAG可以通過技術(shù)手段(后續(xù)章節(jié)會(huì)講),把其中有價(jià)值的實(shí)體(如設(shè)備編號(hào)、故障代碼、物料批次)和關(guān)系(如維修、使用、屬于)抽取出來,歸納進(jìn)知識(shí)圖譜中。

技術(shù)應(yīng)用成本與效果評(píng)估

投入成本

  1. 前期構(gòu)建:最大的投入在于初期的知識(shí)圖譜構(gòu)建。這需要我們梳理業(yè)務(wù)邏輯,定義好實(shí)體和關(guān)系(即知識(shí)建模),并從現(xiàn)有數(shù)據(jù)源中進(jìn)行信息抽取,這個(gè)過程需要業(yè)務(wù)專家配合才行。
  2. 技術(shù)棧的學(xué)習(xí):需要引入圖數(shù)據(jù)庫(如Neo4j、ArangoDB等)和相應(yīng)的查詢語言,團(tuán)隊(duì)需要一定的學(xué)習(xí)和適應(yīng)周期,還是需要一定的學(xué)習(xí)成本。
  3. 持續(xù)的維護(hù):知識(shí)圖譜需要隨著業(yè)務(wù)的變化而更新,這是一個(gè)持續(xù)的過程。

最終效果

  1. 解決問題效率指數(shù)級(jí)提升:過去需要多個(gè)工程師花費(fèi)半天甚至一天時(shí)間,跨多個(gè)系統(tǒng)查詢、比對(duì)、分析才能得出的根因結(jié)論,現(xiàn)在AI助手可能在幾分鐘內(nèi)就能給出高質(zhì)量的假設(shè)方向。
  2. 隱性知識(shí)的顯性化:很多老師傅的寶貴經(jīng)驗(yàn),沉淀在他們的大腦里或者零散的報(bào)告中。通過圖譜,這些隱性的“知識(shí)”和“關(guān)系”被固化下來,變成了公司可復(fù)用、可傳承的數(shù)字資產(chǎn)。
  3. 決策質(zhì)量的提高:基于更全面、更深度的關(guān)聯(lián)數(shù)據(jù)做出的決策,無疑會(huì)更加科學(xué)和精準(zhǔn)。

適用場(chǎng)景

  1. 根因分析、數(shù)據(jù)追溯:我們正在實(shí)踐的場(chǎng)景。
  2. 供應(yīng)鏈優(yōu)化:將供應(yīng)商、物料、訂單、物流、庫存等構(gòu)建成一張巨大的網(wǎng)絡(luò),分析任何一個(gè)節(jié)點(diǎn)(如某個(gè)供應(yīng)商斷供)對(duì)整個(gè)鏈條的蝴蝶效應(yīng)。
  3. 設(shè)備預(yù)測(cè)性維護(hù):通過分析設(shè)備、傳感器數(shù)據(jù)、維修記錄、環(huán)境因素之間的關(guān)系,預(yù)測(cè)潛在的故障模式。
  4. 金融風(fēng)控:銀行和支付機(jī)構(gòu)利用圖譜來識(shí)別洗錢、欺詐團(tuán)伙。人和人、人和賬戶、賬戶和賬戶之間的資金流動(dòng)關(guān)系,天然就是一張圖。
  5. 生物醫(yī)藥:研究人員用它來連接基因、蛋白質(zhì)、藥物和疾病之間的復(fù)雜關(guān)系,加速新藥研發(fā)。
  6. 企業(yè)智能客服:對(duì)于復(fù)雜的B端產(chǎn)品,可以將產(chǎn)品功能、模塊、配置、常見問題和解決方案構(gòu)建成圖譜,提供比傳統(tǒng)FAQ機(jī)器人深刻得多的問答體驗(yàn)。

揭秘Graph RAG的技術(shù)

數(shù)據(jù)基礎(chǔ):知識(shí)圖譜

它是什么

由“實(shí)體-關(guān)系-實(shí)體”三元組構(gòu)成的結(jié)構(gòu)化知識(shí)庫。

一條真實(shí)的工廠維修記錄:“2025年8月01日,技術(shù)員張三更換了M001號(hào)沖壓機(jī)的軸承。”

要把這句話變成知識(shí)圖譜的一部分,我們就需要把它拆解成幾個(gè)三元組:

張三-身份是-技術(shù)員

張三-執(zhí)行了-維修事件_001

維修事件_001-操作是-更換

維修事件_001-對(duì)象是-M001號(hào)沖壓機(jī)

維修事件_001-具體部件是-軸承

維修事件_001-發(fā)生時(shí)間是-2025年8月17日

M001號(hào)沖壓機(jī)-擁有部件-軸承

如何構(gòu)建

從非結(jié)構(gòu)化數(shù)據(jù)中進(jìn)行實(shí)體識(shí)別、關(guān)系抽取的這個(gè)步驟難道要我們?nèi)斯とヒ粭l條地處理嗎?當(dāng)然不是,現(xiàn)在我們可以給大模型一些指令和Few-shot,它就能像一個(gè)孜孜不倦的實(shí)習(xí)生,自動(dòng)地從海量的PDF、Word、Excel文檔中抽取出這些三元組,極大地降低了知識(shí)圖譜的構(gòu)建門檻(當(dāng)然token的消耗會(huì)比較大)

實(shí)體識(shí)別:就是從文本中抓出所有的關(guān)鍵名詞,比如張三、M001號(hào)沖壓機(jī)、軸承。

關(guān)系抽?。号袛噙@些實(shí)體之間存在什么互動(dòng),比如張三和維修事件之間的關(guān)系是執(zhí)行了。

載體:圖數(shù)據(jù)庫

為何需要

我們熟悉的傳統(tǒng)數(shù)據(jù)庫(比如MySQL),結(jié)構(gòu)像一張張Excel表格,非常適合存儲(chǔ)格式規(guī)整的數(shù)據(jù),比如員工信息表、產(chǎn)品參數(shù)表。

但它天生不擅長(zhǎng)處理“關(guān)系”。如果要查詢“張三維修過的設(shè)備所生產(chǎn)的、并且在過去一周內(nèi)出過質(zhì)量問題的物料批次”,在傳統(tǒng)數(shù)據(jù)庫里可能需要進(jìn)行多次復(fù)雜的表格連接(JOIN操作),查詢速度會(huì)非常慢,甚至?xí)翱ㄋ馈薄?/p>

而圖數(shù)據(jù)庫,就是為了“關(guān)系”查詢而生的。它的存儲(chǔ)方式就是點(diǎn)和邊,查詢語言也像是在描述一段旅程。上面那個(gè)復(fù)雜的問題,用圖數(shù)據(jù)庫的查詢語言(比如Cypher)來描述,就會(huì)非常直觀且高效:

尋找一個(gè)路徑:(工人{(lán)名字:”張三”}) -> [維修過] -> (設(shè)備) -> [生產(chǎn)了] -> (物料批次) -> [發(fā)生過] -> (質(zhì)量問題{時(shí)間:最近一周})

這種查詢?cè)趫D數(shù)據(jù)庫里是秒級(jí)響應(yīng)。

主流選擇

市面上有很多成熟的圖數(shù)據(jù)庫產(chǎn)品,比如:

  • Neo4j:目前社區(qū)最完善,資料最豐富的圖數(shù)據(jù)庫之一,非常適合入門和中小型項(xiàng)目。
  • NebulaGraph(星云圖):一款國產(chǎn)的、性能卓越的分布式圖數(shù)據(jù)庫,適合處理超大規(guī)模的圖數(shù)據(jù)。
  • TigerGraph:高性能的分布式圖數(shù)據(jù)庫,在企業(yè)級(jí)應(yīng)用中也很常見。

引擎:圖神經(jīng)網(wǎng)絡(luò)(GNN)

它是什么

知識(shí)圖譜和圖數(shù)據(jù)庫已經(jīng)能搭建一個(gè)功能完備的Graph RAG系統(tǒng),圖神經(jīng)網(wǎng)絡(luò)(GNN)就像是給這輛車加裝的渦輪增壓和AI導(dǎo)航。

能做什么

  1. 鏈接預(yù)測(cè):GNN可以根據(jù)現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu),預(yù)測(cè)兩個(gè)原本沒有直接聯(lián)系的節(jié)點(diǎn)之間,未來可能會(huì)產(chǎn)生聯(lián)系。比如,它可以分析出:根據(jù)歷史數(shù)據(jù),凡是經(jīng)過M001號(hào)設(shè)備處理、且核心指標(biāo)X偏高的物料,都極有可能在F工序上導(dǎo)致病疵Z??梢宰屛覀兊腁I助手從事后分析向事前預(yù)警前進(jìn)。
  2. 智能檢索:有時(shí)候我們的提問比較模糊,但是GNN可以幫助我們找到語義上最相關(guān)的節(jié)點(diǎn),而不是僅僅依靠精確的關(guān)鍵詞匹配。它能理解沖壓機(jī)和壓力設(shè)備在概念上的相似性,從而返回更全面的結(jié)果。

Graph RAG是如何思考的?

讓我們?cè)倩仡櫼幌轮暗膯栴}:壓出工序的參數(shù)異常,是否以及如何影響了12小時(shí)后硫化工序的成品質(zhì)量?

理解問題

當(dāng)AI助手收到我們的提問時(shí),它做的第一件事不是立刻去數(shù)據(jù)庫里“瞎找”,而是先“讀懂”我們的意圖。這個(gè)過程就像一位偵探接到報(bào)案后,首先要從報(bào)案人的描述中圈定核心的“人、事、地”。

  • 識(shí)別實(shí)體:系統(tǒng)會(huì)利用大語言模型(LLM)或者特定的自然語言處理(NLP)技術(shù),迅速從問題中識(shí)別出我們知識(shí)圖譜里存在的“點(diǎn)”。在這個(gè)問題中,它會(huì)立刻鎖定兩個(gè)核心實(shí)體:A工序和F工序。
  • 理解意圖:系統(tǒng)會(huì)進(jìn)一步分析,發(fā)現(xiàn)我們想知道的是兩者之間的影響關(guān)系,并且這個(gè)影響還有一個(gè)“半天后”(即12小時(shí)左右)的時(shí)間定語。

在圖中尋找答案

任務(wù)明確后,真正的工作開始了。系統(tǒng)會(huì)以第一步定位到的實(shí)體為起點(diǎn),在圖數(shù)據(jù)庫中進(jìn)行一場(chǎng)高效的追溯。

  1. 起點(diǎn)出發(fā):查詢從“A工序”這個(gè)節(jié)點(diǎn)開始。系統(tǒng)會(huì)遍歷所有由它發(fā)出的“關(guān)系線”。很快,它會(huì)找到一條關(guān)系:(A工序)-[生產(chǎn)了]->(P20250817批次物料)。
  2. 路徑追蹤:現(xiàn)在,焦點(diǎn)轉(zhuǎn)移到了“P20250817批次物料”這個(gè)節(jié)點(diǎn)上。系統(tǒng)繼續(xù)從這個(gè)物料節(jié)點(diǎn)出發(fā),尋找它的“下游”關(guān)系。它可能會(huì)找到一條帶有時(shí)間屬性的關(guān)系:(P20250817批次物料)-[在倉庫中轉(zhuǎn){耗時(shí):12小時(shí)}]->,這條關(guān)系的終點(diǎn)指向了一個(gè)“領(lǐng)用事件”。
  3. 連接終點(diǎn):接著,從這個(gè)“領(lǐng)用事件”出發(fā),系統(tǒng)輕松找到了最終的目標(biāo):(領(lǐng)用事件)-[被用于]->(F工序)。

至此,一條完整的核心路徑被找到了:A工序 → 生產(chǎn)了 → 某批次物料 → 中轉(zhuǎn)12小時(shí) → 被用于 → F工序。

但Graph RAG的強(qiáng)大之處在于遠(yuǎn)不止這些。為了提供更豐富的上下文,它不會(huì)只返回這條路徑,還會(huì)把這條路徑周圍的相關(guān)信息也一并撈取出來,形成一個(gè)情境子圖。

這個(gè)子圖里可能還包括:

  • 與“A工序”相連的“操作員張三”和“M001號(hào)設(shè)備”。
  • 附著在“P20250817批次物料”節(jié)點(diǎn)上的屬性,比如“核心指標(biāo)X=異常值”。
  • 與“F工序”相連的“最終成品病疵Z”的記錄。

轉(zhuǎn)化為人話

圖數(shù)據(jù)庫返回的情境子圖是給機(jī)器看的結(jié)構(gòu)化數(shù)據(jù),由節(jié)點(diǎn)和關(guān)系組成。大語言模型(LLM)雖然強(qiáng)大,但直接閱讀這種格式的數(shù)據(jù)效果并不好。因此,我們需要一個(gè)翻譯步驟,將這張圖轉(zhuǎn)換成LLM容易理解的文本格式。

這個(gè)過程叫作序列化,簡(jiǎn)單來說,就是把圖里的信息,用有條理的文字描述出來。

比如:核心路徑:工序A 生產(chǎn)了 物料批次P20250817,該物料批次 被用于 工序F。 路徑詳情:物料批次P20250817 的中轉(zhuǎn)時(shí)間為 12小時(shí)。 相關(guān)實(shí)體屬性:

– 工序A:操作員是張三,使用設(shè)備是M001號(hào)。

– 物料批次P20250817:核心指標(biāo)X的檢測(cè)值為5.8(標(biāo)準(zhǔn)為<5.0)。

– 工序F:產(chǎn)生了成品病疵Z。

生成精準(zhǔn)報(bào)告

將序列化后的圖譜知識(shí)作為高質(zhì)量的上下文(Context)喂給大語言模型,生成邏輯嚴(yán)謹(jǐn)、有理有據(jù)的最終報(bào)告。

這個(gè)最終的指令(Prompt)框架如下:

[背景資料]

– 核心路徑:工序A 生產(chǎn)了 物料批次P20250817,該物料批次 被用于 工序F。 …(上面那段)

[問題]: “A工序的參數(shù)異常,對(duì)半天后F工序的成品率有什么影響?”

[你的任務(wù)]: 請(qǐng)基于以上背景資料,作為一名專業(yè)的質(zhì)量分析工程師,詳細(xì)、有邏輯地回答我的問題,并生成一份根因分析報(bào)告。

最終輸出的報(bào)告示例

根據(jù)生產(chǎn)數(shù)據(jù)追溯,A工序的參數(shù)異常對(duì)F工序的成品率產(chǎn)生了直接影響。

具體路徑如下:

在上午8點(diǎn),由于M001號(hào)設(shè)備的參數(shù)臨時(shí)波動(dòng),導(dǎo)致A工序生產(chǎn)的P20250817批次物料核心指標(biāo)X偏高。

該批物料在倉庫中轉(zhuǎn)12小時(shí)后,于晚上8點(diǎn)被F工序領(lǐng)用,最終導(dǎo)致成品出現(xiàn)病疵Z,影響了成品率。

建議檢查M001號(hào)設(shè)備當(dāng)時(shí)的運(yùn)行日志并復(fù)核操作員張三的操作記錄?!?/p>

如何搭建我們工廠的Graph RAG流程

前期設(shè)計(jì):數(shù)據(jù)準(zhǔn)備與知識(shí)建模

這是整個(gè)項(xiàng)目中最重要、也最需要業(yè)務(wù)專家深度參與的一步。如果設(shè)計(jì)錯(cuò)了,后續(xù)的建設(shè)都會(huì)走偏。

梳理所有相關(guān)數(shù)據(jù)源

需要列出所有可能蘊(yùn)含知識(shí)的數(shù)據(jù)來源。在我們的場(chǎng)景中包括:

  • 生產(chǎn)系統(tǒng):MES、WMS、PLC數(shù)據(jù)系統(tǒng)里的結(jié)構(gòu)化數(shù)據(jù)表。
  • 設(shè)備文檔:PDF格式的設(shè)備說明書、維修保養(yǎng)手冊(cè)。
  • 質(zhì)量報(bào)告:Word或PDF格式的成品病疵分析報(bào)告、8D報(bào)告。
  • 工藝文件:Excel或Word里的SOP、工藝參數(shù)表。
  • 臨時(shí)信息:郵件、會(huì)議紀(jì)要里關(guān)于生產(chǎn)的臨時(shí)通知和決策。

定義核心實(shí)體與關(guān)系

定義知識(shí)圖譜的骨架:也就是哪些點(diǎn)(實(shí)體)和線(關(guān)系),比如制造業(yè)的人機(jī)料法環(huán)

  • 人:工人 (工號(hào)、姓名)、班組、工程師
  • 機(jī):設(shè)備 (設(shè)備編號(hào)、型號(hào))、零件、傳感器
  • 料:物料批次 (批次號(hào))、原材料、半成品、成品
  • 法:工序 (A工序、F工序)、SOP文檔、工藝參數(shù) (溫度、壓力)
  • 環(huán):時(shí)間點(diǎn)、生產(chǎn)日期、車間
  • 事件:維修事件、質(zhì)量異常事件、生產(chǎn)事件

定義關(guān)系

  • 工人-操作-設(shè)備
  • 設(shè)備-生產(chǎn)-物料批次
  • 物料批次-被用于-工序
  • 工序-遵循-SOP文檔
  • 維修事件-影響-設(shè)備
  • 質(zhì)量異常事件-關(guān)聯(lián)-物料批次

這個(gè)建模過程不是一次性的,可以在實(shí)踐中不斷迭代和豐富。初期可以先從最核心的“設(shè)備-物料-工序”這條主線開始。

知識(shí)加工:知識(shí)圖譜自動(dòng)化構(gòu)建

有了藍(lán)圖之后,我們就要開始從成堆的原始數(shù)據(jù)中,自動(dòng)化地抽取出結(jié)構(gòu)化的實(shí)體和關(guān)系三元組。

這個(gè)過程就像建立一條“智能化”的零件加工流水線:

1)數(shù)據(jù)輸入:將一篇維修報(bào)告(PDF)、一段MES的操作日志(文本)或者一個(gè)Excel表格的一行,作為原材料送入流水線。

2)LLM信息抽取:通過Prompt指揮LLM工作。

3)結(jié)構(gòu)化輸出:LLM會(huì)閱讀輸入的文本,然后輸出我們需要的標(biāo)準(zhǔn)三元組。例如,對(duì)于“技術(shù)員張三更換了M001號(hào)沖壓機(jī)的軸承”,LLM就能輸出:

  • (張三, 身份是, 技術(shù)員)
  • (張三, 執(zhí)行操作, 更換)
  • (M001號(hào)沖壓機(jī), 被更換部件, 軸承)

通過這種方式,我們可以半自動(dòng)化地處理海量歷史文檔。

系統(tǒng)建造:圖數(shù)據(jù)庫

我們還需要一個(gè)倉庫和車間來存放和組裝:圖數(shù)據(jù)庫。

  • 選型與部署:根據(jù)我們的數(shù)據(jù)規(guī)模和團(tuán)隊(duì)熟悉度,選擇一款圖數(shù)據(jù)庫(如Neo4j)。可以先在單臺(tái)服務(wù)器上進(jìn)行本地部署,也可以直接使用云服務(wù)商提供的圖數(shù)據(jù)庫實(shí)例。
  • 數(shù)據(jù)導(dǎo)入:將第二階段生成的所有三元組,通過批處理腳本,批量導(dǎo)入到圖數(shù)據(jù)庫中。這個(gè)過程完成后,我們的知識(shí)工廠就建好了!你可以通過圖數(shù)據(jù)庫提供的可視化界面,親眼看到那張由無數(shù)節(jié)點(diǎn)和關(guān)系構(gòu)成的、描繪我們工廠運(yùn)作的宏偉知識(shí)網(wǎng)絡(luò)。

流水線運(yùn)行:服務(wù)開發(fā)

智能檢索器:把用戶的自然語言問題,翻譯成圖數(shù)據(jù)庫能聽懂的查詢語言(例如Neo4j的Cypher)。這里還是依賴大語言模型的能力

Text-to-Cypher:我們給LLM提供圖譜的地圖(即我們?cè)诘谝浑A段定義的實(shí)體和關(guān)系,也就是Schema),然后把用戶的問題(如“查詢M001設(shè)備最近一次的維修記錄”)給它。

例如:MATCH (d:設(shè)備 {id: ‘M001’})<-[r:影響]-(e:維修事件) RETURN e.詳情, e.時(shí)間 ORDER BY e.時(shí)間 DESC LIMIT 1。

報(bào)告生成器

  • 執(zhí)行檢索器生成的Cypher代碼,從圖數(shù)據(jù)庫中獲得情境子圖。
  • 將子圖序列化為一段描述性的文本。
  • 將這段文本作為關(guān)鍵上下文,連同用戶最初的問題,一起打包成一個(gè)最終的Prompt,發(fā)送給LLM。
  • LLM基于這份詳盡的材料,生成最終的邏輯嚴(yán)謹(jǐn)、有理有據(jù)的分析報(bào)告。

建好了這個(gè)新系統(tǒng),是不是意味著我們過去用的傳統(tǒng)RAG就沒用了呢?其實(shí)還是可以的,因?yàn)椴煌膱?chǎng)景下雙方各有優(yōu)勢(shì)。

如何將Graph RAG與傳統(tǒng)RAG結(jié)合使用

傳統(tǒng)RAG是一把鋒利的瑞士軍刀,功能多樣,應(yīng)對(duì)日常簡(jiǎn)單問答得心應(yīng)手、效率極高。而Graph RAG則是一套精密的外科手術(shù)器械,專門用來處理那些需要深入肌理、理清復(fù)雜脈絡(luò)的大手術(shù)(比如根因分析)。

各有所長(zhǎng)

傳統(tǒng)RAG:信息檢索的廣度擔(dān)當(dāng)

核心優(yōu)勢(shì):快、準(zhǔn)、廣。它極其擅長(zhǎng)處理“關(guān)于XX的信息是什么?”這類問題。

局限:見樹不見林。它能給你一篇篇獨(dú)立的文檔,但無法告訴你這些文檔背后的主角們是如何互相關(guān)聯(lián)的。

  • 事實(shí)性問答:“M001號(hào)設(shè)備的安全操作規(guī)程是什么?”
  • 文檔查找與摘要:“幫我找到上周關(guān)于P20250817批次物料的質(zhì)量報(bào)告,并總結(jié)一下?!?/li>
  • 開放性知識(shí)問答:“介紹一下我們工廠常用的幾種質(zhì)檢方法。”

Graph RAG:洞察關(guān)系的“深度”擔(dān)當(dāng)

核心優(yōu)勢(shì):深、透、強(qiáng)邏輯。它專門為了回答“A和B之間為什么/如何產(chǎn)生關(guān)聯(lián)?”這類問題而生。

局限:對(duì)于那些不需要深度關(guān)聯(lián)的簡(jiǎn)單問題,動(dòng)用圖譜進(jìn)行多步遍歷,有點(diǎn)“殺雞用牛刀”,成本和耗時(shí)都更高。

復(fù)雜根因分析:跨工序、跨時(shí)間的溯源問題。

影響性/假設(shè)性分析:“如果我們更換A供應(yīng)商的某個(gè)零件,可能會(huì)對(duì)哪些生產(chǎn)環(huán)節(jié)和產(chǎn)品批次產(chǎn)生連鎖反應(yīng)?”

關(guān)聯(lián)網(wǎng)絡(luò)發(fā)現(xiàn):“找出過去三個(gè)月內(nèi),所有與‘軸承磨損’故障相關(guān)的設(shè)備、操作員和物料批次?!?/p>

混合使用策略

理解了各自的定位,我們就可以設(shè)計(jì)一個(gè)智能“調(diào)度中心”,讓用戶的同一個(gè)問題,可以同時(shí)從兩種技術(shù)中獲益。主流的混合策略有兩種:

策略一:串聯(lián)

這種策略像一個(gè)兩階段的偵破流程,非常適合處理那些線索隱藏在大量文本中的復(fù)雜案件。

  1. 向量檢索:當(dāng)用戶提出一個(gè)模糊的問題,比如“調(diào)查一下最近成品病疵Z頻發(fā)的原因”,系統(tǒng)首先啟動(dòng)傳統(tǒng)RAG。它會(huì)快速從所有報(bào)告、郵件、會(huì)議紀(jì)要中,召回一批最相關(guān)的文檔。這些文檔就像是案發(fā)現(xiàn)場(chǎng)的第一批“目擊證人”。
  2. 實(shí)體鏈接:系統(tǒng)(或LLM)從這些被召回的文檔中,自動(dòng)抽取出核心的實(shí)體,比如“設(shè)備M005”、“物料批次P-XXXX”、“操作員李四”。
  3. 圖譜挖掘:這些被抽出的實(shí)體,將作為“關(guān)鍵線索”被提交給GraphRAG。GraphRAG以這些實(shí)體為起點(diǎn),在龐大的知識(shí)網(wǎng)絡(luò)中進(jìn)行深度挖掘,尋找它們之間隱藏的、跨文檔的關(guān)聯(lián)路徑。
  4. 綜合生成:最后,LLM會(huì)綜合第一步找到的原始文本證據(jù)和第三步發(fā)現(xiàn)的深層關(guān)系鏈條,生成一份既有宏觀描述又有微觀洞察的詳盡報(bào)告。

策略二:并聯(lián)

這種策略更像是讓兩位專家(一位是文檔專家,一位是關(guān)系專家)同時(shí)對(duì)一個(gè)問題進(jìn)行“會(huì)診”。

1)同步執(zhí)行:當(dāng)用戶提出問題后,系統(tǒng)同時(shí)將問題分發(fā)給傳統(tǒng)RAG和GraphRAG。

2)各自返回結(jié)果:

  • 傳統(tǒng)RAG返回一組最相關(guān)的文本段落。
  • GraphRAG返回一個(gè)與問題相關(guān)的情境子圖(并將其序列化為文本)。

3)結(jié)果融合與重排:系統(tǒng)會(huì)得到兩份診斷報(bào)告。此時(shí)可以引入一個(gè)rerank模塊,或者直接利用LLM的強(qiáng)大理解能力,判斷哪份報(bào)告的證據(jù)更關(guān)鍵,或者如何將兩份報(bào)告的信息有機(jī)地融合在一起。

4)最終生成:LLM基于被融合、優(yōu)化后的“雙份材料”,給出最全面、最準(zhǔn)確的答案。

我們的選擇

結(jié)合我們工廠AI助手的核心目標(biāo)—精準(zhǔn)、高效地進(jìn)行根因分析,串聯(lián)策略(廣度初篩,深度挖掘)在很多場(chǎng)景下可能是一個(gè)更具性價(jià)比和流程合理性的選擇。

為什么呢?因?yàn)橐痪€質(zhì)檢員發(fā)現(xiàn)問題時(shí),往往是從一個(gè)具體的點(diǎn)開始的,比如不良品報(bào)告、一個(gè)設(shè)備報(bào)警記錄。這個(gè)點(diǎn)本身就是一個(gè)文檔。

我們的AI助手工作流設(shè)計(jì)方案:

入口:質(zhì)檢員上傳一張圖片或一段關(guān)于病疵的描述。

步驟一(向量RAG):系統(tǒng)首先在歷史報(bào)告庫中進(jìn)行向量檢索,找到描述最相似的5個(gè)歷史案例及其解決方案,給出一個(gè)初步的參考。

步驟二(Graph RAG觸發(fā)):同時(shí),系統(tǒng)從用戶的描述和找到的歷史案例中,提取出關(guān)鍵實(shí)體(如病疵類型、設(shè)備編號(hào))。用戶可以點(diǎn)擊一個(gè)深度分析按鈕。

步驟三(深度分析):點(diǎn)擊后,Graph RAG被觸發(fā),以這些實(shí)體為錨點(diǎn),開始進(jìn)行我們第四章描述的那種深度溯源,最終呈現(xiàn)出完整的關(guān)系網(wǎng)絡(luò)和邏輯鏈條。

通過這種方式,我們既保證了簡(jiǎn)單查詢的快速響應(yīng)(由傳統(tǒng)RAG負(fù)責(zé)),又為復(fù)雜問題提供了強(qiáng)大的深度鉆取能力(由Graph RAG負(fù)責(zé))。

總結(jié)

GraphRAG不僅克服了傳統(tǒng)RAG與QFS方法各自的局限,還能實(shí)現(xiàn)大規(guī)模、多樣化、全局性的文本綜合與問答能力,在AI知識(shí)管理、企業(yè)級(jí)歸納分析等核心場(chǎng)景中展現(xiàn)出領(lǐng)先優(yōu)勢(shì)。其設(shè)計(jì)思路和構(gòu)建流程為知識(shí)工程和大模型應(yīng)用提供了新的范式和落地路徑,未來能夠推動(dòng)AI能力更智能地全局理解海量文本資料。

參考資料:

https://arxiv.org/html/2404.16130

https://www.llmwatch.com/p/your-introduction-to-microsoft-graphrag

本文由 @思敏 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 干活

    來自浙江 回復(fù)
  2. 寫的真詳細(xì)!

    來自浙江 回復(fù)