使用 LangChain 建構採用 LLM 的應用程式
本頁將介紹如何使用 LangChain 建構 LLM 輔助應用程式。本頁面的總覽會連結至 GitHub 中的程序指南。
什麼是 LangChain?
LangChain 是 LLM 自動化調度管理框架,可協助開發人員建構生成式 AI 應用程式或檢索增強生成 (RAG) 工作流程。提供結構、工具和元件,可簡化複雜的 LLM 工作流程。
如要進一步瞭解 LangChain,請參閱 Google LangChain 頁面。如要進一步瞭解 LangChain 架構,請參閱 LangChain 產品說明文件。
Bigtable 的 LangChain 元件
Bigtable 提供下列 LangChain 介面:
瞭解如何搭配使用 LangChain 與 LangChain Quickstart for Bigtable。本快速入門導覽課程會建立可存取 Netflix 電影資料集的應用程式,讓使用者與電影資料互動。
Bigtable 向量儲存庫
您可以使用向量儲存空間,將文字文件連同向量嵌入和其他中繼資料儲存在 Bigtable 資料表中。這項功能可讓您:
- 使用向量相似度搜尋或最大邊際關聯性 (MMR) 搜尋等技術,搜尋文件。
- 使用文件的中繼資料,對向量搜尋結果執行額外篩選。
詳情請參閱「LangChain 向量儲存區」主題。
向量儲存庫程序指南
Bigtable 向量儲存區指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 設定嵌入服務
- 建立及設定 Bigtable 商店
- 自訂連線和驗證
- 使用 kNN 演算法查詢商店,並依文件中繼資料篩選結果
Bigtable 的鍵/值儲存庫
Bigtable 會以 ByteStore 類別的形式,為 LangChain 提供鍵/值儲存庫,方便您處理以位元組物件形式儲存的文件或嵌入。執行重複查詢的快取和索引嵌入等工作時,這種做法有助於大幅降低成本和延遲時間。
詳情請參閱「LangChain 鍵/值儲存區」主題。
鍵/值儲存程序指南
鍵/值儲存空間的 Bigtable 指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 初始化必要的引擎和資料表
- 自訂連線和驗證
- 如何將
BigtableByteStore做為向量嵌入的快取層
Bigtable 的文件載入器
文件載入器會儲存、載入及刪除 LangChain Document 物件。
舉例來說,您可以將資料載入嵌入,然後儲存在向量儲存空間,或當做工具使用,為鏈結提供特定情境。
如要從 Bigtable 的文件載入器載入文件,請使用 BigtableLoader 類別。BigtableLoader 方法會從資料表傳回一或多個文件。使用 BigtableSaver 類別儲存及刪除文件。
詳情請參閱 LangChain 文件載入器主題。
文件載入器程序指南
Bigtable 文件載入器指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 從資料表載入文件
- 在載入器中新增篩選器
- 自訂連線和驗證
- 指定客戶內容和中繼資料,自訂文件建構方式
- 如何使用及自訂
BigtableSaver來儲存及刪除文件
Bigtable 的 Chat 訊息記錄
問答應用程式需要對話記錄,才能瞭解對話脈絡,進而回答使用者提出的問題。應用程式可透過 LangChain ChatMessageHistory 類別儲存訊息,並在需要時擷取訊息,以擬定後續回覆。訊息可以是問題、答案、陳述、問候語,或使用者/應用程式在對話期間提供的任何其他文字。ChatMessageHistory會儲存每則訊息,並將每則對話的訊息串連在一起。
Bigtable 會使用 BigtableChatMessageHistory 擴充這個類別。
Chat 訊息記錄程序指南
這份 Bigtable 指南說明如何完成下列作業:
- 安裝 LangChain 並驗證 Google Cloud
- 初始化 Bigtable 結構定義
- 初始化
BigtableChatMessageHistory類別,即可新增及刪除訊息 - 使用用戶端自訂連線和驗證