使用 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 類別,即可新增及刪除訊息
  • 使用用戶端自訂連線和驗證