解開使用 LangChain 建立自訂語言模型的祕密。簡化流程、輕鬆整合,並發揮 AI 開發的強大力量。
簡介
大型語言模型(LLMs)如 OpenAI 的 GPT-3、Google 的 BERT 和 Meta 的 LLaMA 正透過促進各種文本類型的生成(從行銷資料、資料科學程式碼到詩歌)來革新各行業。雖然 ChatGPT 因其易用的聊天介面而備受關注,但仍有許多未經探索的機會可將 LLM 整合到不同的軟體應用程式中。如果你對生成式 AI 和 LLM 的變革潛力感到好奇,本教學就是為你量身打造的。在此,我們介紹 LangChain——一個開源的 Python 框架,專為建構使用 GPT 等 LLM 的應用程式而設計。透過我們的「使用 LangChain 與 OpenAI API AI Code Along 建構多模態 AI 應用程式」課程,探索使用 LangChain 建構 AI 應用的領域。你將學習使用 Whisper 語音轉文字 AI 轉錄 YouTube 影片內容,並隨後使用 GPT 對內容提出問題。

什麼是 LangChain
LangChain 是一個開源框架,精心設計以簡化由大型語言模型(LLMs)驅動的應用程式開發。它提供了一套全面的工具、元件和介面,旨在簡化以 LLM 為中心的應用程式建構。有了 LangChain,管理與語言模型的互動、無縫連接不同元件以及整合 API 和資料庫等資源變得輕而易舉。若想進一步了解 LangChain 在資料工程與資料應用中的角色,請參閱我們專門的文章。LangChain 平台提供了一系列 API,開發者可以輕鬆嵌入到他們的應用程式中,從而賦予語言處理能力,無需從零開始。因此,LangChain 顯著加快了基於 LLM 的應用程式開發過程,使其能夠為各層級的開發者所用。聊天機器人、虛擬助手、語言翻譯工具和情緒分析工具都是 LLM 驅動的多樣化應用範例。利用 LangChain,開發者可以根據精確需求打造客製化的語言模型應用程式。隨著自然語言處理持續進步並獲得廣泛採用,這項技術的潛在應用幾乎是無限的。以下是 LangChain 的幾個顯著特點:
- 可根據特定需求自訂提示
- 建立鏈結元件以處理高階使用情境
- 無縫整合模型以進行資料擴充,並存取 GPT 和 HuggingFace Hub 等尖端語言模型功能
- 多用途元件可自由混合搭配以滿足特定要求
- 操作上下文以建立並引導方向,獲得更高的精確度與使用者滿意度
LangChain 的主要元件
LangChain 以其強調靈活性和模組化而著稱,將自然語言處理流程分解為離散元件。這種方法使開發者能夠根據需求自訂工作流程,使 LangChain 能夠適應各種 AI 應用,跨越多個領域和情境。
元件與鏈
在 LangChain 中,元件代表在語言處理流程中執行特定功能的專門模組。這些元件可以相互連接形成「鏈」,從而建立客製化的工作流程。例如,客戶服務聊天機器人鏈可能包含情緒分析、意圖識別和回應生成的模組。
提示模板
LangChain 提供可重複使用的提示模板,可透過插入特定值動態調整。例如,一個要求輸入使用者名稱的模板可以透過插入使用者的實際名稱來個性化。此功能有助於根據動態資源生成提示。
向量儲存
向量儲存透過嵌入(embeddings)來儲存和檢索資訊,嵌入分析文件意義的數值表示。向量儲存作為這些嵌入的儲存設施,可根據語義相似性進行高效搜尋。

索引與檢索器
索引的功能類似於資料庫,儲存訓練資料的詳細資訊和中繼資料,而檢索器則快速搜尋此索引以獲取特定資訊。這透過提供上下文和相關資訊來增強模型回應。
輸出解析器
輸出解析器最佳化模型生成的回應,管理不想要的內容、調整輸出格式或在回應中補充額外資料。因此,輸出解析器有助於從語言模型回應中提取結構化結果,例如 JSON 物件。
範例選擇器
LangChain 中的範例選擇器會識別模型訓練資料中的相關實例,從而提高生成回應的精確度和相關性。這些選擇器可自訂以優先考慮某些類型的範例或過濾掉不相關的範例,確保根據使用者輸入提供量身打造的 AI 回應。
代理(Agents)
代理代表獨特的 LangChain 實例,每個實例都配備了針對特定使用案例的提示、記憶體和鏈。這些代理可以部署在各個平台上,包括網頁、行動裝置和聊天機器人,滿足不同受眾的需求。
如何使用 Python 設定 LangChain
在 Python 中安裝 LangChain 相當直接。你可以使用 pip 或 conda 安裝。
使用 pip 安裝

使用 conda 安裝
設定 LangChain 的基本架構為其功能奠定了基礎。然而,LangChain 真正出色的地方在於它能與多種模型提供者、資料儲存等資源無縫整合。
環境設定
整合 LangChain 通常涉及將其與多種模型提供者、資料儲存、API 等元件整合。如同任何整合流程,必須為 LangChain 提供必要且相關的 API 金鑰才能運作。這可以透過兩種方式完成:
- 將金鑰設為環境變數
- 直接在相關類別中設定金鑰
如何在 LangChain 中建立語言模型應用程式
LangChain 提供了一個 LLM 類別,專為與不同的語言模型提供者(如 OpenAI、Cohere 和 Hugging Face)互動而設計。LLM 的核心功能是文字生成。使用 LangChain,建立一個接收字串提示並產生相應輸出的應用程式非常簡單。
輸出:>>> 「What do you get when you tinker with data? A data scientist!」 在上述範例中,我們使用了 OpenAI 的 text-ada-001 模型。如果你想將其替換為 HuggingFace 的任何開源模型,只需簡單修改:
你可以從你的 HF 帳戶取得 Hugging Face hub token id。如果你有多個提示,可以使用 generate 方法一次發送提示列表:
輸出:

1
你可以使用 LangChain 開發的最基本應用程式是向所選的語言模型發送提示並接收回應。這種簡單的設定允許調整各種參數,例如 temperature。溫度參數控制輸出的隨機性,預設值為 0.7。
在多步驟工作流程中整合 LLM 與提示
LangChain 中所謂的鏈接(Chaining)涉及將 LLM 與其他元素整合以建構應用程式。範例包括:
- 順序串聯多個 LLM,其中第一個 LLM 的輸出作為第二個 LLM 的輸入。
- 將 LLM 與提示模板整合。
- 將 LLM 與外部資料來源結合,例如用於問答。
- 將 LLM 與長期記憶(如聊天記錄)結合。
結論與啟發
就在不久前,ChatGPT 令人印象深刻的能力仍讓我們驚嘆不已。然而,情勢迅速演變,現在出現了像 LangChain 這樣的開發工具,使我們能夠在個人筆記型電腦上數小時內創建同樣令人矚目的原型。LangChain 是一個開源 Python 框架,賦能個人開發由 LLM(大型語言模型)驅動的應用程式。該框架提供了與多種基礎模型互動的通用介面,簡化了提示管理,並作為各種元件的中央樞紐,包括提示模板、其他 LLM、外部資料以及其他工具(透過代理,根據最新更新)。為了掌握生成式 AI 和 LLM 的最新進展,請考慮參加我們的「使用 LangChain 與 GPT 建構 AI 應用程式」網路研討會。在本次課程中,你將掌握使用 LangChain 進行 AI 應用開發的基礎知識,了解如何建構 AI 應用程式,以及發現用於最佳化效能的文字資料嵌入技術。此外,你還可以查看我們關於生成式 AI 工具全景的速查表,該表分類了不同的工具、它們的應用以及對各領域的影響。或者,你也可以直接嘗試 novita.ai 提供的大型語言模型。我們的 LLM 配備多種模型,透過強大的推理 API 為你提供不受審查、無限制的對話。憑藉最實惠的定價和可擴展的模型,Novita AI LLM 推理 API 賦予你的 LLM 令人難以置信的穩定性,且延遲低於 2 秒。

novita.ai,一站式平台提供無限創造力,讓你能存取 100+ API。從影像生成、語言處理到音訊增強和影片操作,便宜且按量計費,讓你免除 GPU 維護的麻煩,同時打造自己的產品。立即免費試用。
推薦閱讀
