LangChain 是一個用于開發(fā)由語言模型驅(qū)動的應用程序的框架甲雅,它旨在幫助開發(fā)者更容易地構(gòu)建昨稼、實驗和部署大模型應用程序瞒瘸。LangChain 的架構(gòu)設計靈活且可擴展,涵蓋了從模型輸入輸出殖演、數(shù)據(jù)連接氧秘、鏈(Chains)、記憶(Memory)趴久、代理(Agents)到可觀測性(如LangSmith)等多個層面丸相。
LangChain 的主要組件包括:
- Models(模型):包括聊天模型(Chat Models)和大型語言模型(LLMs),這些模型處理語言相關的任務彼棍,如文本生成和理解灭忠。
- Prompts(提示):提供提示模板(Prompt Templates),幫助格式化用戶輸入座硕,使其適合模型處理弛作。
- Indexes(索引):涉及向量數(shù)據(jù)庫(Vector Databases)和交互層提示(Interaction Layer Prompts),用于存儲和檢索向量表示华匾,如文本嵌入映琳。
- Memory(記憶):包括外部知識(External Knowledge)和外部工具(External Tools),用于存儲對話歷史和提供與外部環(huán)境的交互蜘拉。
- Chains(鏈):LangChain 提供了 LangChain 表達式語言(LCEL)萨西,允許開發(fā)者通過聲明式編程語言將不同的組件組合起來,構(gòu)建復雜的處理流程旭旭。
- Agents(代理):代理使用 LLM 作為推理引擎來決定執(zhí)行的動作谎脯,使得模型能夠與其環(huán)境進行交互。
- LangServe:一個庫您机,用于將 LangChain 鏈部署為 REST API,方便通過網(wǎng)絡進行訪問和使用年局。
- LangSmith:一個開發(fā)平臺际看,提供調(diào)試、測試矢否、評估和監(jiān)控基于任何 LLM 框架構(gòu)建的鏈仲闽,并與 LangChain 無縫集成。
LangChain 的架構(gòu)設計允許開發(fā)者通過模塊化和可組合的方式構(gòu)建應用程序僵朗,從而提高開發(fā)效率并簡化應用程序的生命周期管理赖欣,從開發(fā)到生產(chǎn)化再到部署屑彻。通過這些組件,LangChain 支持開發(fā)者構(gòu)建具有上下文感知能力和推理能力的應用程序顶吮,使語言模型能夠連接到上下文來源并進行復雜的數(shù)據(jù)處理和交互社牲。
LangChain生態(tài)
LangChain在大模型領域,尤其是RAG和AI Agent領域已經(jīng)形成豐富的生態(tài)悴了,包括支持Multi Agent的記憶組件Lang Graph和支持調(diào)試和監(jiān)控的LangSmith搏恤。