使用 LangChain 建構採用 LLM 的應用程式

本頁面將介紹如何使用 LangChain 建構 LLM 輔助應用程式。本頁面的總覽會連結至 GitHub 中的程序指南。

什麼是 LangChain?

LangChain 是 LLM 自動化調度管理框架,可協助開發人員建構生成式 AI 應用程式或檢索增強生成 (RAG) 工作流程。並提供結構、工具和元件,簡化複雜的 LLM 工作流程。

如要進一步瞭解 LangChain,請參閱 Google LangChain 頁面。如要進一步瞭解 LangChain 架構,請參閱 LangChain 產品說明文件。

MySQL 適用的 Cloud SQL 的 LangChain 元件

MySQL 適用的 Cloud SQL 提供下列 LangChain 介面:

瞭解如何搭配使用 LangChain 和 MySQL 適用的 Cloud SQL LangChain 快速入門

MySQL 適用的 Cloud SQL 向量儲存區

向量儲存區會從向量資料庫擷取及儲存文件和中繼資料。 向量儲存空間可讓應用程式執行語意搜尋,解讀使用者查詢的含意。這類搜尋稱為向量搜尋,可找出概念上與查詢相符的主題。在查詢時,向量儲存區會擷取與搜尋要求嵌入最相似的嵌入向量。在 LangChain 中,向量儲存庫會負責儲存嵌入資料,並為您執行向量搜尋。

如要在 MySQL 適用的 Cloud SQL 中使用向量儲存區,請使用 MySQLVectorStore 類別。

詳情請參閱 LangChain Vector Stores 產品說明文件。

向量儲存庫程序指南

向量儲存空間適用的 MySQL 適用的 Cloud SQL 指南說明如何執行下列操作:

  • 安裝整合套件和 LangChain
  • 建立 MySQLEngine 物件,並設定連線集區至 MySQL 適用的 Cloud SQL 資料庫
  • 初始化資料表
  • 使用 VertexAIEmbeddings 建立嵌入物件
  • 初始化預設 MySQLVectorStore
  • 新增文字
  • 刪除文字
  • 搜尋文件
  • 依向量搜尋文件
  • 新增索引來加快向量搜尋查詢速度
  • 移除索引
  • 建立自訂向量儲存空間
  • 使用中繼資料篩選器搜尋文件

MySQL 適用的 Cloud SQL 文件載入器

文件載入器會儲存、載入及刪除 LangChain Document 物件。舉例來說,您可以將資料載入嵌入,以便處理,然後將資料儲存在向量儲存空間,或做為工具,為鏈結提供特定脈絡。

如要從 MySQL 適用的 Cloud SQL 中的文件載入器載入文件,請使用 MySQLLoader 類別。MySQLLoader 方法會從表格傳回一或多份文件。使用 MySQLDocumentSaver 類別儲存及刪除文件。

詳情請參閱「LangChain 文件載入器」主題。

文件載入器程序指南

文件載入器適用的 MySQL 適用的 Cloud SQL 指南說明如何執行下列操作:

  • 安裝整合套件和 LangChain
  • 從資料表載入文件
  • 在載入器中新增篩選器
  • 自訂連線和驗證
  • 指定客戶內容和中繼資料,自訂文件建構方式
  • 如何使用及自訂 MySQLDocumentSaver 來儲存和刪除文件

MySQL 適用的 Cloud SQL 的即時通訊訊息記錄

問答應用程式需要對話記錄,才能瞭解對話脈絡,進而回答使用者提出的問題。應用程式可透過 LangChain ChatMessageHistory 類別將訊息儲存至資料庫,並在需要時擷取訊息,以制定進一步的答案。訊息可以是問題、答案、陳述、問候語,或使用者/應用程式在對話期間提供的任何其他文字。ChatMessageHistory會儲存每則訊息,並將每則對話的訊息串連在一起。

MySQL 適用的 Cloud SQL 會使用 MySQLChatMessageHistory 擴充這個類別。

Chat 訊息記錄程序指南

這份 MySQL 適用的 Cloud SQL 指南說明如何執行下列操作:

  • 安裝 LangChain 並驗證 Google Cloud
  • 建立 MySQLEngine 物件,並設定連線集區至 MySQL 適用的 Cloud SQL 資料庫
  • 初始化資料表
  • 初始化 MySQLChatMessageHistory 類別,即可新增及刪除訊息
  • 使用 LangChain 運算式語言 (LCEL) 和 Google 的 Vertex AI 聊天模型,建立訊息記錄的鏈結