# LangGraph: Stateful Workflows — LangChain / LlamaIndex

Source: https://www.geekswithgeeks.com/hi/langchain-llamaindex/g-langgraph

> जटिल प्रवाहों को साझा state वाले graph के रूप में मॉडल करें।

## Nodes, edges, state

**LangGraph** (LangChain टीम की अलग library) application को **graph** के रूप में मॉडल करती है: **nodes** functions हैं (LLM call, tool, जाँच), **edges** तय करते हैं आगे क्या चलेगा (**conditional edges** और loops सहित), और typed **state** साथ में पास होकर अद्यतन होती है। स्वतंत्र चलने वाले agent की तुलना में लाभ: स्पष्ट नियंत्रण-प्रवाह, **checkpointing** (state सहेजना और फिर शुरू करना, जिससे memory और विफलता-बहाली), अनुमोदन के लिए **human-in-the-loop** ठहराव, बीच के चरणों की streaming और हर node की आसान testing। जब loops, branching, लंबे चलने वाले कार्य या अनुमोदन चाहिए तब इसे उपयोग करें; नहीं तो सरल chain।

## Support-agent graph (रेखाचित्र)

अवधारणात्मक नक़्शा, किसी विशिष्ट संस्करण का कोड नहीं। Nodes, एक conditional edge और मानव अनुमोदन चरण दिखाता है।

```text
START -> classify ----billing----> lookup_invoice -> draft_reply --+
                 \--technical--> search_docs ----> draft_reply --+
                 \--other------> draft_reply --------------------+
                                                                v
                                              [human approval if refund > 100]
                                                                v
                                                         send_reply -> END
state = {question, category, evidence, draft, approved}   # saved at each step (checkpoint)
```

**Quiz:** Checkpointing क्या संभव करती है?

- [ ] Prompts छिपाना
- [ ] मॉडल प्रशिक्षित करना
- [x] State सहेजना और फिर शुरू करना, memory और विफलता-बहाली के लिए
- [ ] Nodes हटाना

*Answer:* State सहेजना और फिर शुरू करना, memory और विफलता-बहाली के लिए. Checkpoints steps और runs के बीच graph state बनाए रखते हैं।
