# Tool Calling चरण-दर-चरण — Agent Frameworks और MCP की बुनियाद

Source: https://www.geekswithgeeks.com/hi/agent-frameworks-mcp/af-tool-calling

> Schema से नतीजे तक एक tool call का पीछा करें, tool_use और tool_result messages समेत।

## Messages का आदान-प्रदान

आप user message के साथ tool परिभाषाओं की सूची (नाम, description, inputs का JSON schema) भेजते हैं। Model को tool चाहिए तो वह `tool_use` block के साथ उत्तर देता है जिसमें tool का नाम, id और arguments होते हैं, और रुक जाता है। आप function चलाते हैं, फिर उसी id वाला `tool_result` block भेजते हैं। Model उसे पढ़कर या तो और tool माँगता है या अंतिम उत्तर देता है।

## इसमें शामिल रूप

यह trace सरल किया गया है। `id` नतीजे को अनुरोध से जोड़ता है, जो कई tools एक साथ बुलाने पर ज़रूरी है।

```json
// 1. model asks
{ "type": "tool_use", "id": "toolu_01", "name": "get_weather", "input": { "city": "Pune" } }

// 2. your code replies
{ "type": "tool_result", "tool_use_id": "toolu_01", "content": "31°C, clear" }
```

## Arguments जाँचें

Model ग़लत या अनपेक्षित arguments भेज सकता है। Function चलाने से पहले उन्हें किसी भी अविश्वसनीय input की तरह जाँचें, और ग़लत होने पर मददगार error संदेश लौटाएँ।

**Quiz:** tool_use की id से आप क्या कर पाते हैं?

- [x] हर नतीजे को उसके अनुरोध से मिलाना
- [ ] Message को encrypt करना
- [ ] Model का आकार चुनना
- [ ] Validation छोड़ना

*Answer:* हर नतीजे को उसके अनुरोध से मिलाना. नतीजे id से अनुरोधों के साथ जोड़े जाते हैं, जो parallel tool calls में ज़रूरी है।
