本頁面將介紹如何使用 LangChain 建構 LLM 輔助應用程式。本頁面的總覽會連結至 GitHub 中的程序指南。
什麼是 LangChain?
LangChain 是 LLM 自動化調度管理框架,可協助開發人員建構生成式 AI 應用程式或檢索增強生成 (RAG) 工作流程。提供結構、工具和元件,可簡化複雜的大型語言模型 (LLM) 工作流程。如要進一步瞭解 LLM、應用實例,以及 Google 提供的特定模型和服務,請參閱 Google Cloud中的 LLM 概念和服務總覽。
如要進一步瞭解 LangChain,請參閱 Google LangChain 頁面。如要進一步瞭解 LangChain 架構,請參閱 LangChain 產品說明文件。
AlloyDB 適用的 LangChain 元件
瞭解如何搭配使用 LangChain 與 AlloyDB 的 LangChain 快速入門導覽課程。本快速入門導覽課程會建立可存取 Netflix 電影資料集的應用程式,讓使用者與電影資料互動。
AlloyDB 的向量儲存庫
向量儲存區會從向量資料庫擷取及儲存文件和中繼資料。 向量儲存空間可讓應用程式執行語意搜尋,解讀使用者查詢的含意。這類搜尋稱為向量搜尋,可找出概念上與查詢相符的主題。在查詢時,向量儲存區會擷取與搜尋要求嵌入最相似的嵌入向量。在 LangChain 中,向量儲存庫會負責儲存嵌入資料,並為您執行向量搜尋。
如要在 AlloyDB 中使用向量儲存庫,請使用 AlloyDBVectorStore
類別。
詳情請參閱 LangChain 向量儲存產品說明文件。
向量儲存庫程序指南
AlloyDB 向量儲存庫指南說明如何完成下列作業:
- 安裝整合套件和 LangChain
- 建立
AlloyDBEngine
物件,並設定連線集區至 AlloyDB 資料庫 - 初始化向量儲存庫的表格
- 使用
VertexAIEmbeddings
設定嵌入服務 - 初始化
AlloyDBVectorStore
- 新增及刪除文件
- 搜尋類似文件
- 新增向量索引,提升搜尋效能
- 建立自訂向量存放區,連線至預先存在的 AlloyDB for PostgreSQL 資料庫,該資料庫含有向量嵌入的資料表
AlloyDB 的文件載入器
文件載入器會儲存、載入及刪除 LangChain Document
物件。舉例來說,您可以將資料載入嵌入,以便處理,然後將資料儲存在向量儲存空間,或做為工具,為鏈結提供特定脈絡。
如要從 AlloyDB 載入文件,請使用 AlloyDBLoader
類別。AlloyDBLoader
會從表格傳回文件清單,並將第一欄做為頁面內容,其餘欄則做為中繼資料。預設表格的第一欄是網頁內容,第二欄是 JSON 中繼資料。每一列都會變成一個文件。如需自訂這些設定的操作說明,請參閱程序指南。
使用 AlloyDBSaver
類別儲存及刪除文件。
詳情請參閱 LangChain 文件載入器主題。
文件載入器程序指南
AlloyDB 文件載入器指南說明如何執行下列操作:
- 安裝整合套件和 LangChain
- 從資料表載入文件
- 在載入器中新增篩選器
- 自訂連線和驗證
- 指定客戶內容和中繼資料,自訂文件建構方式
- 如何使用及自訂
AlloyDBSaver
來儲存及刪除文件
AlloyDB 的 Chat 訊息記錄
問答應用程式需要對話記錄,才能瞭解脈絡,進而回答使用者提出的問題。應用程式可透過 LangChain ChatMessageHistory
類別將訊息儲存至資料庫,並在需要時擷取訊息,進一步生成回覆。訊息可以是問題、答案、陳述、問候語,或使用者/應用程式在對話期間提供的任何其他文字。ChatMessageHistory
會儲存每則訊息,並將每則對話的訊息串連在一起。
AlloyDB 會使用 AlloyDBChatMessageHistory
擴充這個類別。
Chat 訊息記錄程序指南
這份 AlloyDB 指南說明如何完成下列作業:
- 安裝整合套件和 LangChain
- 建立
AlloyDBEngine
物件,並設定連線集區至 AlloyDB 資料庫 - 初始化資料表
- 初始化
AlloyDBChatMessageHistory
類別,即可新增及刪除訊息 - 使用 LangChain 運算式語言 (LCEL) 建立訊息記錄鏈