本頁面將介紹如何使用 LangChain 建構採用 LLM 的應用程式。本頁面的總覽會連結至 GitHub 中的程序指南。
什麼是 LangChain?
LangChain 是一種 LLM 自動化調度管理框架,可協助開發人員建構生成式 AI 應用程式或檢索增強生成 (RAG) 工作流程。提供結構、工具和元件,簡化複雜的 LLM 工作流程。
如要進一步瞭解 LangChain,請參閱 Google LangChain 頁面。如要進一步瞭解 LangChain 架構,請參閱 LangChain 產品說明文件。
適用於 Spanner 的 LangChain 元件
Spanner 提供下列 LangChain 介面:
Spanner 的向量儲存空間
向量儲存區會從向量資料庫擷取及儲存文件和中繼資料。 向量儲存空間可讓應用程式執行語意搜尋,解讀使用者查詢的含意。這類搜尋稱為向量搜尋,可找出概念上與查詢相符的主題。在查詢時,向量儲存區會擷取與搜尋要求嵌入最相似的嵌入向量。在 LangChain 中,向量儲存庫會負責儲存嵌入資料,並為您執行向量搜尋。
如要在 Spanner 中使用向量儲存庫,請使用 SpannerVectorStore
類別。
詳情請參閱 LangChain Vector Stores 產品說明文件。
向量儲存庫程序指南
Spanner 向量儲存區指南說明如何完成下列作業:
- 安裝整合套件和 LangChain
- 初始化向量儲存庫的資料表
- 使用
VertexAIEmbeddings
設定嵌入服務 - 初始化
SpannerVectorStore
- 新增及刪除文件
- 搜尋類似文件
- 建立自訂向量儲存區,連線至預先存在的 Spanner 資料庫,該資料庫具有含向量嵌入的資料表
適用於 Spanner 的文件載入器
文件載入器會儲存、載入及刪除 LangChain Document
物件。舉例來說,您可以將資料載入至嵌入內容進行處理,然後儲存在向量儲存空間,或做為工具提供特定脈絡給鏈結。
如要從 Spanner 載入文件,請使用 SpannerLoader
類別。
使用 SpannerDocumentSaver
類別儲存及刪除文件。
詳情請參閱「LangChain 文件載入器」主題。
文件載入器程序指南
Spanner 文件載入器指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 從資料表載入文件
- 在載入器中新增篩選器
- 自訂連線和驗證
- 指定客戶內容和中繼資料,自訂文件建構方式
- 如何使用及自訂
SpannerDocumentSaver
來儲存和刪除文件
Spanner 的 Chat 訊息記錄
問答應用程式需要對話記錄,才能瞭解對話內容,進而回答使用者提出的問題。應用程式可透過 LangChain ChatMessageHistory
類別將訊息儲存至資料庫,並在需要時擷取訊息,以制定進一步的答案。訊息可以是問題、答案、陳述、問候語,或使用者/應用程式在對話期間提供的任何其他文字。ChatMessageHistory
會儲存每則訊息,並將每則對話的訊息串連在一起。
Spanner 會使用 SpannerChatMessageHistory
擴充這個類別。
Chat 訊息記錄程序指南
Spanner 即時通訊訊息記錄指南說明如何完成下列作業:
- 安裝 LangChain 並驗證 Google Cloud
- 初始化資料表
- 初始化
SpannerChatMessageHistory
類別,即可新增及刪除訊息 - 使用用戶端自訂連線和驗證
- 刪除
SpannerChatMessageHistory
課程
Spanner 的圖形商店
圖形儲存區會從圖形資料庫擷取及儲存節點和邊緣。應用程式可透過圖形存放區執行下列操作:
- 在圖表中新增節點和邊緣
- 對圖表執行遍歷和分析
- 檢查圖表的結構定義
您也可以搭配使用圖形儲存庫和圖形問答鏈,建立可與圖形對話的應用程式。
如要搭配 Spanner Graph 使用圖形儲存空間,請使用 SpannerGraphStore
類別,儲存從文件中擷取的節點和邊緣。SpannerGraphStore
支援 Graph Query Language (GQL)。
圖表商店程序指南
圖形儲存區的 Spanner 指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 根據各種資料來源準備圖表
- 使用現有的 Spanner Graph 資料庫初始化
SpannerGraphStore
- 將節點和邊緣新增至 Spanner 圖表
- 使用 GQL 查詢執行遍歷
- 以視覺化方式呈現圖表查詢結果
- 清除圖表
Spanner 的圖形 QA 鏈結
Spanner 的圖形 QA 鏈結會使用 Spanner 圖形回答問題。圖表問答工作流程如下:
- Graph QA 會使用 LangChain LLM 將自然語言問題轉換為 GQL 查詢。
- Spanner Graph 會使用圖形儲存介面執行 GQL 查詢。
- GQL 查詢結果會傳回給大型語言模型。
- 大型語言模型會生成並傳回問題的答案。
圖表品質保證程序指南
圖表品質保證的 Spanner 指南說明如何使用 Spanner 和圖表品質保證回答問題,並示範如何執行下列操作:
- 使用
LLMGraphTransformer
從非結構化文字 Blob 建立圖表。 - 使用
SpannerGraphStore
類別將圖形儲存在 Spanner Graph 中。 - 初始化
SpannerGraphQAChain
例項。 - 使用 Spanner Graph 中的圖形儲存區,生成自然語言問題的答案。