Xây các dòng làm việc với LangGraph (phần 8)

Quản lí trạng thái (tiếp tục)

Một superstep trên LangGraph trình bày một bước lặp rời rạc trên một hay một vài node, và nó được truyền
cảm hứng bởi Pregel, một hệ thống xây dựng bởi Google cho xử lí các đồ thị lớn có quy mô. Nó xử li
thực thi song song của các nodes và các cập nhật gửi tới trạng thái trung tâm của đồ thị.
Trong ví dụ của chúng ta, chúng ta sử dụng các edges trực tiếp từ một node tới node khác. Nó làm graph
của chúng ta không có gì khác so vơi một xích chuỗi cái chúng ta đã định nghĩa với LangChain. Một trong
những đặc tính then chốt của LangGraph là khả năng tạo các edges điều kiện cái có thể điều hướng dòng
thực thi tới một hay node khác phụ thuộc vào trạng thái hiện tại. Một edge điều kiện là một hàm Python
cái nhận trạng thái hiện tại như một đầu vào và trả về một string vơi tên của node sẽ được thực thi.

from typing import Literal
builder = StateGraph(JobApplicationState)
builder.add_node(“analyze_job_description”, analyze_job_description)
builder.add_node(“generate_application”, generate_application)
def is_suitable_condition(state: StateGraph) -> Literal[“generate_
application”, END]:

if state.get(“is_suitable”):

return “generate_application”

return END

builder.add_edge(START, “analyze_job_description”)
builder.add_conditional_edges(“analyze_job_description”, is_suitable_
condition)
builder.add_edge(“generate_application”, END)
graph = builder.compile()
from IPython.display import Image, display
display(Image(graph.get_graph().draw_mermaid_png()))

Chia sẻ