大語言模型(LLM)正在成為一種變革性技術(shù),使開發(fā)人員能夠構(gòu)建以前無法構(gòu)建的應(yīng)用程序。但是,單獨使用這些LLM通常不足以創(chuàng)建一個真正強(qiáng)大的應(yīng)用程序——當(dāng)你可以將它們與其他計算或知識來源相結(jié)合時,便可能實現(xiàn)其真正的能力。
LangChain是一個用于開發(fā)由語言模型驅(qū)動的應(yīng)用程序的框架,允許開發(fā)人員將語言模型連接到其他數(shù)據(jù)源并與其環(huán)境相交互。LangChain旨在幫助開發(fā)者在以下六個主要領(lǐng)域,按照復(fù)雜性遞增的順序:
- ?? LLMs and Prompts: 這包括提示管理、提示優(yōu)化、適用于所有 LLM 的通用界面以及用于處理 LLM 的通用實用程序。
- ?? Chains: 鏈不僅僅是單個 LLM 調(diào)用,而是調(diào)用序列(無論是對 LLM 還是對不同的實用程序)。 LangChain 為鏈提供標(biāo)準(zhǔn)接口、與其他工具的大量集成以及用于常見應(yīng)用程序的端到端鏈。
- ?? Data Augmented Generation: 數(shù)據(jù)增強(qiáng)生成涉及特定類型的鏈,這些鏈?zhǔn)紫扰c外部數(shù)據(jù)源交互以獲取數(shù)據(jù)以用于生成步驟。 這方面的例子包括對長文本的總結(jié)和對特定數(shù)據(jù)源的問答。
- ?? Agents: 代理涉及 LLM 做出關(guān)于采取哪些行動的決定,采取該行動,看到一個觀察,并重復(fù)直到完成。LangChain 為代理提供了一個標(biāo)準(zhǔn)接口,可供選擇的代理選擇,以及端到端代理的示例。
- ?? Memory: 內(nèi)存是鏈/代理調(diào)用之間持久狀態(tài)的概念。 LangChain 提供了內(nèi)存的標(biāo)準(zhǔn)接口、內(nèi)存實現(xiàn)的集合以及使用內(nèi)存的鏈/代理的示例。
- ?? Evaluation: [BETA] 眾所周知,生成模型很難用傳統(tǒng)指標(biāo)進(jìn)行評估。 評估它們的一種新方法是使用語言模型本身進(jìn)行評估,LangChain 提供了一些提示/鏈來協(xié)助這一點。