# आपका पहला Graph — LangGraph Agents और Multi-Agent Systems

Source: https://www.geekswithgeeks.com/hi/langgraph-agents/i-first

> दो-node graph बनाएँ, compile करें और चलाएँ।

## परिभाषित करें, जोड़ें, compile करें, चलाएँ

नुस्ख़ा चार चरणों का है: **state schema** परिभाषित करें; **node functions** लिखें; `StateGraph(State)` बनाएँ, nodes और edges जोड़ें, `START` से शुरू और `END` पर समाप्त; **compile** करें और प्रारंभिक state के साथ `invoke` करें। Nodes एक काम करें, सिर्फ़ वही लौटाएँ जो बदला, और छिपी वैश्विक state से बचें। Nodes के स्पष्ट नाम traces और error संदेशों में मदद करते हैं। प्रवाह का आरेख दस्तावेज़ के लिए पाने को `app.get_graph().draw_mermaid()` भी बुला सकते हैं।

## दो-node graph, चलाकर

मैंने यह Python virtual environment में langgraph 1.2.12 और langchain-core 1.6.6 के साथ ऑफ़लाइन चलाया। किसी API key या मॉडल की ज़रूरत नहीं क्योंकि मॉडल की जगह सादे Python functions हैं, इसलिए आउटपुट दोहराने योग्य है। Graph `clean` फिर `count` चलाता है। State पाठ और उठाए चरणों की सूची रखती है, और अंतिम state दिखाती है कि दोनों nodes क्रम से चले।

```python
from typing import TypedDict
from langgraph.graph import StateGraph, START, END

class State(TypedDict):
    text: str
    steps: list

def clean(state: State):
    return {"text": state["text"].strip().lower(), "steps": state["steps"] + ["clean"]}

def count(state: State):
    return {"text": f"{state['text']} ({len(state['text'].split())} words)", "steps": state["steps"] + ["count"]}

g = StateGraph(State)
g.add_node("clean", clean)
g.add_node("count", count)
g.add_edge(START, "clean")
g.add_edge("clean", "count")
g.add_edge("count", END)
app = g.compile()

print(app.invoke({"text": "  Hello Big WORLD  ", "steps": []}))

```

Output:

```
{'text': 'hello big world (3 words)', 'steps': ['clean', 'count']}
```

## Nodes के नाम इंसानों के लिए रखें

classify, draft_reply और send_reply जैसे नाम traces और error संदेश पठनीय बनाते हैं।

**Quiz:** compile() क्या लौटाता है?

- [ ] Database
- [ ] प्रशिक्षित मॉडल
- [ ] JSON फ़ाइल
- [x] invoke और stream वाला runnable app

*Answer:* invoke और stream वाला runnable app. Compile graph को validate करके चलने योग्य application बनाता है।
