Skip to main content

REDMADMEDIA 網誌

回前頁
LangChain生態系統的架構組成部份包括了甚麼? - 當下科技

LangChain生態系統的架構組成部份包括了甚麼?

· · 專欄: 當下科技

LangChain 是一個用於開發由大型語言模型 (LLM) 驅動的「應用」程序之強大框架,它的生態系統並不僅僅是一個單一的 Python 或 JavaScript 庫,而是一整套工具、庫和平台,旨在簡化從開發到部署的整個生命週期。

LangChain 生態系統的架構主要由以下幾個核心組成部分構成:

1) LangChain 核心庫 (LangChain Libraries)

這是生態系統的基礎,提供了構建 LLM 應用程序所需的主要組件和接口,主要分為 Python (langchain-python) 和 JavaScript/TypeScript (langchain-js) 兩個版本。

核心庫本身又可以細分為幾個層次:

LangChain Core (核心層)

這是框架的基礎抽象層,定義了標準接口,例如 Runnable 協議(LangChain 表達式語言 LCEL 的基礎)、消息格式、文檔結構等。其目的是確保不同組件之間的互操作性,並且依賴性極低。

LangChain Community (社區層)

這一層包含了與第三方集成的具體實現。例如,與 OpenAI、Google Gemini、Hugging Face 的模型集成,或者與各種向量數據庫(如 Chroma, Pinecone)的集成。這些集成由社區維護,數量龐大且增長迅速。

LangChain (主庫)

這是將核心抽象與具體實現結合起來的地方。它包含了構建應用程序所需的認知架構(Cognitive Architectures),例如:

-Chains (鏈): 將多個組件(如提示詞、模型、輸出解析器)按順序連接起來。

-Agents (代理): 讓 LLM 作為推理引擎,決定採取什麼行動、使用什麼工具以及何時結束任務。

-Retrieval Strategies (檢索策略): 用於 RAG (檢索增強生成) 的高級檢索算法。

2) LangChain Templates (模板)

LangChain Templates 是一組易於部署的參考架構集合,目的是幫助開發者快速啟動項目,而不是從零開始編寫所有代碼。內容包含了針對特定任務(如 RAG 聊天機器人、數據提取、SQL 查詢生成等)的最佳實踐代碼。開發者可以直接下載這些模板,並根據自己的需求進行微調,大大縮短了開發時間。

3) LangServe

LangServe 是一個用於將 LangChain 鏈 (Chains) 和代理 (Agents) 部署為 REST API 的庫,它建立在 FastAPI (Python) 之上,功能包括自動生成 API 端點;提供內置的交互式文檔 (類似 Swagger UI);支持流式輸出 (Streaming),這對於 LLM 應用至關重要,可以讓用戶實時看到生成的文本;與 LangSmith 無縫集成,用於監控。

LangServe解決了 「如何將我的 Python 腳本變成一個可供前端調用的生產級服務」的問題。

4) LangSmith

LangSmith 是一個用於開發、測試、評估和監控 LLM 應用程序的開發者平台(SaaS),這是生態系統中至關重要的一環,因為 LLM 的行為往往是不可預測的,所以需要:

-調試 (Debugging): 它可以記錄鏈中每一個步驟的輸入和輸出。如果一個複雜的代理失敗了,你可以確切地看到是哪一步出錯了(是檢索失敗?還是模型理解錯誤?)。

-測試與評估 (Testing & Evaluation): 允許開發者創建數據集,並對應用程序進行自動化測試。例如,你可以測試新版本的 Prompt 是否比舊版本表現更好。

-監控 (Monitoring): 在生產環境中,它可以追蹤延遲、代幣使用量 (Token Usage) 和錯誤率。

5) LangGraph

LangGraph 是一個較新的補充,專門用於構建有狀態的 (Stateful)、多參與者的 (Multi-actor) 應用程序。傳統的 LangChain Chain是有向無環圖 (DAG),適合線性流程。但複雜的 Agent 往往需要循環 (Loops) 和狀態持久化。LangGraph允許開發者定義圖結構(節點和邊),支持循環執行,這對於構建能夠自我修正、長時間運行的自主代理至關重要。LangGraph建立在 LangChain Core 之上,但提供了更靈活的編排能力,特別適合構建複雜的 Agent 系統。

我們可以將這些組件視為一個層次結構:

1) 應用層 (Application Layer): 最終用戶使用的聊天機器人或工具。

2) 部署層 (Deployment Layer - LangServe): 將邏輯暴露為 API。

3) 編排與邏輯層 (Orchestration Layer - LangChain / LangGraph): 定義 Prompt、Chains、Agents 和業務邏輯。

4) 組件與集成層

(Component Layer - LangChain Community): 具體的模型 (OpenAI)、向量庫 (Pinecone)、工具 (Google Search)。

5) 基礎抽象層 (Foundation Layer - LangChain Core): 協議與接口。

6) 觀測與工程平台 (DevOps/Ops - LangSmith): 貫穿整個生命週期的監控與評估。

這個架構設計使得 LangChain 不僅僅是一個簡單的 API 包裝器,而是一個能夠支撐從原型設計到企業級生產部署的完整生態系統。

0 likes

推薦文章

美股今晚不會好過(21/11/2025)

美股今晚不會好過(21/11/2025)

今天,我不斷做著同一件事,就是回應各方:「我今天不入貨!只觀察。」我亦再三致電提醒我老媽,不要進貨。父親不在了,怕母親一時寬心起來,儍兮兮買入幾手。 收市後,我認為自己做對了! 只因今天…

Proof of History (歷史證明)究竟係乜?— 向前gen的hash number

Proof of History (歷史證明)究竟係乜?— 向前gen的hash number

由我年青時學經濟學到而家學習電腦編程,都見到好多相關的解說,真係睇到你眉頭都皺起,內容術語多多,背景又不交待清楚,故作深遽,明明可用好簡單既文字表達個意思,但偏偏就用上d似是而非既外星文,非常討厭!…

世道亦無奈於我

世道亦無奈於我

人老了,常態志氣就該弱下來;但我沒有,仍在努力掙扎,想再有出色的表現,渴望活出多一次人生華彩。 本來,對一個過半百的人來說,這期望有點奢侈,世界只會給年青人機會,你老成這樣,還有幹出頭的機會嗎…

留言 (0)

還沒有留言,成為第一個留言的人吧!

發表留言

您必須登入才能留言。