您可以使用 LlamaIndex 和 Spanner Graph,建構使用圖形檢索增強生成 (GraphRAG) 的大型語言模型 (LLM) 應用程式。
Spanner Graph 透過屬性圖形儲存庫功能與 LlamaIndex 整合,讓您使用下列項目建立資料擷取工作流程:
屬性圖形存放區:可讓您在圖形資料庫中儲存節點和邊緣,以圖形形式呈現資料。您可以使用圖形資料庫查詢資料中的複雜關係。
圖形檢索器:可讓您使用 LLM 將使用者的自然語言問題轉換為圖形儲存庫的查詢。應用程式可透過圖表資料中的結構化關係回答問題。
什麼是 LlamaIndex?
LlamaIndex 是用於建構 LLM 應用程式的資料架構,可協助您簡化檢索增強生成 (RAG) 和其他情境感知系統的開發作業。LlamaIndex 提供工具,可將大型語言模型與您的資料連結,協助您擷取、建立索引及查詢資料。您可以搭配使用 LlamaIndex 和 LLM,建構可提供準確且相關回覆的應用程式。
如要進一步瞭解 LlamaIndex 架構,請參閱 LlamaIndex 產品說明文件。
Spanner 的屬性圖儲存空間
應用程式可以使用屬性圖形存放區執行下列操作:
從文件中擷取實體和關係,並以圖形形式儲存。
對圖形結構執行複雜的遍歷和分析。
使用 Graph Query Language (GQL) 查詢圖形,為 LLM 提供特定背景資訊。
如要在 Spanner Graph 中使用屬性圖形存放區,請使用 SpannerPropertyGraphStore 類別。
屬性圖商店教學課程
如要瞭解如何搭配 Spanner 使用屬性圖形儲存空間,請參閱 Spanner 適用的屬性圖形儲存空間教學課程。 本教學課程將說明如何執行下列操作:
安裝
llama-index-spanner套件和 LlamaIndex初始化
SpannerPropertyGraphStore類別,並使用該類別連線至 Spanner 資料庫。使用 LlamaIndex 知識圖譜擷取器,將從文件中擷取的資料新增至 Spanner Graph 的節點和邊緣。
使用 GQL 查詢圖表,擷取結構化資訊。
以視覺化方式呈現圖表查詢結果。
Spanner 的圖形擷取器
LlamaIndex 中的圖形檢索器是使用 LLM 將使用者的自然語言問題轉換為圖形儲存庫查詢的元件。應用程式會使用產生的查詢,透過圖形資料中的結構化關係回答問題。圖形檢索器會使用下列工作流程,根據自然語言查詢生成答案:
提示大型語言模型將自然語言問題翻譯成 GQL 查詢。
使用 Spanner Graph 和
SpannerPropertyGraphStore類別,對圖形存放區執行 GQL 查詢。使用 Spanner 圖表,將查詢傳回的結構化資料傳送至 LLM。
使用 LLM 生成人類可解讀的答案。
使用 LlamaIndex 擷取器類別
下列 LlamaIndex 圖形檢索器類別可搭配 Spanner Graph 使用,為 LLM 提示生成方便使用者閱讀的答案:
SpannerGraphTextToGQLRetriever 類別
SpannerGraphTextToGQLRetriever 類別會將自然語言轉換為 GQL 查詢,從圖形中擷取資料。
SpannerGraphCustomRetriever 類別
SpannerGraphCustomRetriever 類別會實作混合式擷取方法。SpannerGraphCustomRetriever 會按照下列步驟處理具體和概念性問題:
同時執行下列搜尋:
圖表搜尋:將自然語言問題轉換為 GQL 查詢,並使用圖表尋找答案。
向量搜尋或語意搜尋,尋找概念相關的資訊。
合併圖形搜尋和向量搜尋的結果。
使用 LLM 評估合併結果並重新排名。LLM 會選取最相關且符合情境的資訊,回答原始問題。
圖形擷取器教學課程
如要瞭解如何搭配使用 Spanner 和圖形擷取器回答問題,請參閱 Spanner 適用的圖形擷取器教學課程。本教學課程將示範如何:
從非結構化文字 Blob 建立圖形。
使用
SpannerPropertyGraphStore類別將圖表儲存在 Spanner 中使用圖形儲存區和 LLM 初始化
SpannerGraphTextToGQLRetriever類別和SpannerGraphCustomRetriever執行個體。使用儲存在 Spanner 中的圖表資料,生成自然語言問題的答案。
後續步驟
如要瞭解如何搭配使用 Spanner 與其他 Google Cloud 產品 建構生成式 AI 應用程式,請參閱 Spanner AI 總覽。
如要瞭解 Spanner 中的向量搜尋功能,請參閱「使用 Spanner Graph 執行向量搜尋」。
如要瞭解如何使用 Spanner 儲存向量嵌入,請參閱「取得 Spanner 文字嵌入」。
如要進一步瞭解如何搭配使用 Spanner 與機器學習技術,請參閱 Vertex AI 整合總覽。