AI Agent LangGraph:LangChain - AI新時(shí)代的構(gòu)建者 原創(chuàng)
在探索人工智能的無(wú)限可能中,構(gòu)建智能代理(Agents)已成為技術(shù)發(fā)展的新前沿。LangChain的最新擴(kuò)展——LangGraph以其獨(dú)特的技術(shù)架構(gòu)構(gòu)建方式,為AI領(lǐng)域的創(chuàng)造帶來(lái)了前所未有的靈活性和控制力。
一、LangGraph的架構(gòu)之美
LangGraph的誕生,不是偶然,它是在LangChain堅(jiān)實(shí)基礎(chǔ)上的自然延伸。作為一個(gè)擴(kuò)展庫(kù),它與LangChain的現(xiàn)有組件水乳交融,共同繪制了AI發(fā)展的新藍(lán)圖
工作流程:通過(guò)精確定義圖的節(jié)點(diǎn)與邊,LangGraph將復(fù)雜的基于LLM的任務(wù)細(xì)節(jié)轉(zhuǎn)化為直觀的Graph表示。在任務(wù)執(zhí)行過(guò)程中,中央狀態(tài)對(duì)象不斷更新,確保了任務(wù)的連續(xù)性和一致性。
在構(gòu)建好 StateGraph,并增加 Node 和 Edge 后,可以通過(guò) compile 編譯成可運(yùn)行的應(yīng)用示例如下:
二、核心概念解析
- StateGraph是LangGraph中代表整個(gè)狀態(tài)圖的基礎(chǔ)類(lèi)。它是應(yīng)用狀態(tài)管理的中心,負(fù)責(zé)維護(hù)和更新應(yīng)用在運(yùn)行過(guò)程中的各種狀態(tài)信息。StateGraph使得開(kāi)發(fā)者能夠清晰地追蹤和控制應(yīng)用的每個(gè)階段,確保了狀態(tài)的一致性和可管理性。
- Nodes(節(jié)點(diǎn))是構(gòu)成狀態(tài)圖的基本單元。每個(gè)節(jié)點(diǎn)可以是一個(gè)獨(dú)立的任務(wù),如推理函數(shù)調(diào)用、檢索器調(diào)用、響應(yīng)內(nèi)容生成或問(wèn)題重寫(xiě)等。節(jié)點(diǎn)的設(shè)計(jì)允許開(kāi)發(fā)者將復(fù)雜的AI任務(wù)分解為可管理的小塊,每一塊都是一個(gè)可調(diào)用的函數(shù)、Chain或Agent。
- 特殊節(jié)點(diǎn) END節(jié)點(diǎn):一個(gè)特殊的節(jié)點(diǎn),它的進(jìn)入標(biāo)志著任務(wù)的完成和應(yīng)用的結(jié)束。
- Edges(邊):定義了節(jié)點(diǎn)間的跳轉(zhuǎn)關(guān)系,它們是任務(wù)流程中不可或缺的部分。LangGraph中的邊有三種類(lèi)型:
- Starting Edge 任務(wù)的起點(diǎn):一種特殊的邊,它定義了任務(wù)運(yùn)行的起始節(jié)點(diǎn)。與普通邊不同,起始邊沒(méi)有上游節(jié)點(diǎn),它標(biāo)志著任務(wù)的開(kāi)始。
- Normal Edge:普通邊,代表上一個(gè)節(jié)點(diǎn)完成后,流程將立即轉(zhuǎn)移到下一個(gè)節(jié)點(diǎn)。這種邊確保了任務(wù)的線(xiàn)性執(zhí)行,如從Tools調(diào)用到LLM推理的順暢過(guò)渡。
- Conditional Edge:條件邊,它在節(jié)點(diǎn)間引入了條件判斷。這種邊不僅連接了上游和下游節(jié)點(diǎn),還引入了一個(gè)條件函數(shù),根據(jù)函數(shù)的返回值來(lái)決定流程的分支。例如,Check Relevance節(jié)點(diǎn)使用條件邊來(lái)判斷文檔的相關(guān)性,從而決定是生成回答還是重寫(xiě)問(wèn)題。
三、LangGraph的應(yīng)用構(gòu)建
LangGraph革新了AgentExecutor的設(shè)計(jì)方式,將黑盒操作透明化為直觀的圖形界面,讓開(kāi)發(fā)者能自定義內(nèi)部結(jié)構(gòu),實(shí)現(xiàn)更高層次的功能性與靈活性。通過(guò)LangGraph,即便是基礎(chǔ)的ReAct范式Agent也能被重新構(gòu)建,以圖形化手段細(xì)化邏輯,推進(jìn)AI應(yīng)用的智能化與可定制化進(jìn)程,實(shí)現(xiàn)更復(fù)雜的交互與決策能力。
上圖示例代碼:
總結(jié)
LangGraph在構(gòu)建LLM應(yīng)用時(shí)展現(xiàn)了強(qiáng)大的控制能力和靈活性。通過(guò)Graph的定義,開(kāi)發(fā)者可以對(duì)AI代理的處理過(guò)程進(jìn)行細(xì)致的編排設(shè)計(jì),滿(mǎn)足復(fù)雜場(chǎng)景的產(chǎn)業(yè)應(yīng)用需求。
本文轉(zhuǎn)載自公眾號(hào)頂層架構(gòu)領(lǐng)域
原文鏈接:??https://mp.weixin.qq.com/s/Kc00uNt8tH4gUiMVmOnQ3Q??
