想像您正在構建一個複雜的,多功能的大語言模型(LLM)應用程序。令人興奮,但面臨挑戰:管理各種代理的狀態,協調他們的互動,並有效地處理錯誤。這是Langgraph可以提供幫助的地方。
Langgraph是Langchain生態系統中的圖書館,旨在正面應對這些挑戰。 Langgraph提供了一個以結構化的方式定義,協調和執行多個LLM代理(或鏈)的框架。>它通過啟用周期性圖的創建來簡化開發過程,這對於開發代理的運行時間至關重要。使用Langgraph,我們可以輕鬆地構建健壯,可擴展和靈活的多代理系統。
如果您想了解有關Langchain生態系統的更多信息,我建議您對Langchain介紹。>
什麼是langgraph?
想像您的應用程序作為有向圖。在langgraph中,每個節點代表LLM代理,邊緣是這些試劑之間的通信通道。這種結構允許清晰可管理的工作流程,每個代理執行特定的任務並根據需要將信息傳遞給其他代理。
>
容錯
基本概念 互動
>步驟1:定義狀態圖
編譯圖以創建一個編譯對象,並且可以選擇地使用下面的代碼可視化圖形結構: 步驟5:運行聊天機器人 高級langgraph功能 langgraph允許您創建自定義節點類型來實現複雜的代理邏輯。這提供了對應用程序行為的靈活性和控制。 邊緣類型
Langgraph提供強大的狀態管理技術,其中包括使用SQLITE,PostgreSQL和MongoDB等外部數據庫,或使用Amazon S3,Google Cloud Storage和Azure Blob存儲等雲存儲解決方案存儲並檢索您的代理商的狀態,可靠性和可伸縮性。
>
推薦系統 如果您想了解有關Langchain生態系統中開發應用程序的更多信息,我建議您使用Langchain開發LLM應用程序的課程。 圖形結構
Langgraph的出色功能之一是其自動狀態管理。此功能使我們能夠在多個交互之間跟踪和持久信息。當代理執行任務時,狀態將動態更新,確保系統保持上下文並適當響應新的輸入。
協調
正如我上面提到的那樣,Langgraph為使用複雜LLM應用程序的開發人員提供了一些重要的優勢。這是Langgraph提供的一些現實世界的好處。
簡化的開發
在Langgraph的情況下,開發人員可以靈活地定義自己的代理邏輯和通信協議。這允許針對特定用例量身定制的高度定制應用程序。無論您是否需要一個可以處理各種用戶請求的聊天機器人,還是執行複雜任務的多代理系統,Langgraph都提供了構建所需內容的工具。這一切都是為了賦予您創建的力量。
langgraph旨在支持大規模多代理應用程序的執行。其強大的架構可以處理大量的交互和復雜的工作流程,從而可以開發可擴展的系統,這些系統可以隨您的需求而增長。這使其適用於企業級應用程序和方案,而性能和可靠性至關重要。
開始使用langgraph >
>安裝
pip install -U langgraph
>節點:節點代表langgraph中工作單位。它們通常是執行特定任務的Python函數,例如:
與LLM
狀態:狀態是圖表中的節點隨時間更新的中心對象。它管理您的應用程序的內部狀態,並且可以根據申請的要求覆蓋或添加。這種狀態可以容納以下內容:
這是使用langgraph創建基本聊天機器人應用程序的分步示例。
>定義一個狀態圖對象,以將聊天機器人構造為狀態計算機。狀態是一個類型列表的單個關鍵消息定義的類對象,並使用add_messages()函數來附加新消息,而不是覆蓋它們。
pip install -U langgraph
>
>在這裡,我們初始化AzureChatopenai模型,並創建一個簡單的聊天機器人函數,該函數將狀態消息作為輸入輸入並生成消息響應(隨後將其應用於狀態)。
此聊天機器人函數被添加為名為“聊天機器人”的節點。
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
class State(TypedDict):
# messages have the type "list".
# The add_messages function appends messages to the list, rather than overwriting them
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
步驟4:編譯和可視化圖
from langchain_openai import AzureChatOpenAI
llm = AzureChatOpenAI(
openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"],
)
def chatbot(state: State):
return {"messages": [llm.invoke(state["messages"])]}
‘’’The first argument is the unique node name
# The second argument is the function or object that will be called whenever the node is used.’’’
graph_builder.add_node("chatbot", chatbot)
# Set entry and finish points
graph_builder.set_entry_point("chatbot")
graph_builder.set_finish_point("chatbot")
自定義節點類型
graph = graph_builder.compile()
from IPython.display import Image, display
try:
display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
pass
>在這裡,我們定義了一個封裝自定義邏輯並與LLM交互的類mycustomnode。這提供了實施複雜節點行為的更具結構化和可維護的方法。
>
要創建一個條件邊緣,您需要三個組件:
>
pip install -U langgraph
狀態管理
錯誤處理from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph
from langgraph.graph.message import add_messages
class State(TypedDict):
# messages have the type "list".
# The add_messages function appends messages to the list, rather than overwriting them
messages: Annotated[list, add_messages]
graph_builder = StateGraph(State)
>例外:節點函數可以在執行過程中提出異常來發出錯誤。您可以捕獲並處理以下例外,以防止圖形崩潰。
重試機制:您可以在節點中實現重試邏輯來處理瞬態錯誤,例如網絡問題或API超時。
>對於需要自主決策的應用程序,langgraph可以創建可以根據用戶輸入和預定義的邏輯獨立執行任務的代理。
這些代理可以執行複雜的工作流程,與其他系統進行交互,並動態適應新信息。 Langgraph的結構化框架可確保每個代理都可以有效地運行,從而適合自動化客戶支持,數據處理和系統監控等任務。 多代理系統
Langgraph在構建應用程序中擅長於多個代理以實現共同目標的構建應用程序。例如,不同的代理可以在供應鏈管理系統中管理庫存,過程訂單和協調交貨。 Langgraph的協調能力確保每個代理商都有有效的交流,共享信息並以同步方式做出決策。這會導致更有效的操作和更好的整體系統性能。
>隨著langgraph,自動化業務流程和工作流程變得很簡單。智能代理可以設計用於處理諸如文檔處理,批准工作流和數據分析之類的任務。通過定義清晰的工作流並利用Langgraph的國家管理,這些工具可以執行複雜的動作序列,而無需人為乾預,降低錯誤並提高生產率。
結論
通過提供一個結構化的框架來管理狀態和協調代理相互作用,
以上是Langgraph教程:Langgraph是什麼,如何使用它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

讓我們討論“共鳴”作為AI領域的評估度量的上升。該分析是我正在進行的《福布斯》列的一部分,探索了AI開發的複雜方面(請參見此處的鏈接)。 AI評估中的共鳴 傳統

Waymo的亞利桑那工廠:批量生產自動駕駛美洲虎及以後 Waymo位於亞利桑那州鳳凰城附近,經營著最先進的設施,生產其自動jaguar i-pace電動SUV機隊。 這個239,000平方英尺的工廠開業

標準普爾全球首席數字解決方案官Jigar Kocherlakota討論了公司的AI旅程,戰略收購和未來的數字化轉型。 變革性的領導角色和未來的準備團隊 Kocherlakota的角色

從應用到生態系統:導航數字景觀 數字革命遠遠超出了社交媒體和AI。 我們正在見證“所有應用程序”的興起 - 綜合數字生態系統整合了生活的各個方面。 山姆A。

萬事達卡代理工資:AI驅動的付款革新商業 雖然Visa的AI驅動交易功能成為頭條新聞,但萬事達卡揭開了代理商的薪酬,建立在代幣化,信任和代理的基礎上的更高級的AI本地支付系統

Future Ventures Fund IV:一項耗資2億美元的新技術押注 Future Ventures最近關閉了其超額認購的IV,總計2億美元。 這項由史蒂夫·朱維森(Steve Jurvetson),瑪麗娜·薩恩科(Maryanna Saenko)和尼科·恩里克斯(Nico Enriquez)管理的新基金代表

隨著AI應用的爆炸式增長,企業正從傳統的搜索引擎優化(SEO)轉向生成式引擎優化(GEO)。 谷歌正引領這一轉變。其“AI概述”功能已服務於超過十億用戶,在用戶點擊鏈接之前提供完整的答案。 [^2] 其他參與者也在迅速崛起。 ChatGPT、微軟Copilot和Perplexity正在創造一種全新的“答案引擎”類別,完全繞過了傳統的搜索結果。 如果您的企業沒有出現在這些AI生成的答案中,潛在客戶可能永遠不會發現您——即使您在傳統的搜索結果中排名靠前。 從SEO到GEO——這究竟意味著什麼? 幾十年來

讓我們探索人工通用智能(AGI)的潛在途徑。 該分析是我正在進行的《福布斯》列的AI進步的一部分,並深入研究了達到AGI和人工超智慧(ASI)的複雜性。 (請參閱相關藝術


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具