AI एजेंट · पाठ

उपकरण आउटपुट का सत्यापन (Pydantic)

हर उपकरण आउटपुट को Pydantic मॉडल से पार्स करें—गलत रूप से बने उत्तर पर तुरंत विफल हों।

पाठ 4, कुल 4 में से14 चरण

उपकरण आउटपुट का सत्यापन (Pydantic), CoddyKit पर AI एजेंट का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह AI एजेंट सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

इस पाठ के कुछ हिस्सों का अभी तक अनुवाद नहीं हुआ है और वे अंग्रेज़ी में दिखाए गए हैं।

भरोसा करें, पर जाँचें

उपकरणों के परिणाम बाहरी दुनिया से आते हैं — एपीआई, वेब पृष्ठ और मॉडल। गलत या अप्रत्याशित उत्तर आपके एजेंट को क्रैश कर सकता है या, इससे भी बुरा, LLM में चुपचाप गलत डेटा पहुँचा सकता है।

हर उपकरण के परिणाम का किसी स्कीमा के अनुसार सत्यापन कीजिए।

Pydantic मॉडल

अपेक्षित संरचनाएँ परिभाषित कीजिए:

from pydantic import BaseModel, HttpUrl

class SearchResult(BaseModel):
    title: str
    url: HttpUrl
    snippet: str
    score: float = 0.0

Validate at the Boundary

from pydantic import ValidationError

def search(query):
    raw = requests.post('https://api.tavily.com/search', json={'query': query}).json()
    results = []
    for r in raw.get('results', []):
        try:
            results.append(SearchResult.model_validate(r))
        except ValidationError as e:
            log.warning('Bad search result skipped: %s', e)
    return results

मॉडल सत्यापन वाली सूचियाँ

पूरे उत्तर का सत्यापन कीजिए:

from pydantic import BaseModel
class SearchResponse(BaseModel):
    results: list[SearchResult]

response = SearchResponse.model_validate(raw)

फ़ील्ड सत्यापक

फ़ील्ड के अंदर कस्टम जाँच:

from pydantic import field_validator

class SearchResult(BaseModel):
    score: float

    @field_validator('score')
    @classmethod
    def score_in_range(cls, v):
        if not 0 <= v <= 1:
            raise ValueError('score out of [0,1]')
        return v

सख्त बनाम उदार

डिफ़ॉल्ट रूप से Pydantic प्रकारों को बदलकर अनुकूल बनाता है (जहाँ संभव हो, स्ट्रिंग -> पूर्णांक)। सख्त जाँच के लिए:

from pydantic import StrictInt

class User(BaseModel):
    age: StrictInt   # rejects '25' (string)

Default Values for Missing Fields

class Tool(BaseModel):
    name: str
    description: str = 'No description provided'   # fallback

LLM के संरचित परिणाम का सत्यापन

मॉडल से ऐसा JSON लौटाने के लिए कहिए जो Pydantic स्कीमा में फिट हो — संरचित परिणाम वाले पाठ को देखिए। गहन सुरक्षा के लिए सीमा पर फिर से सत्यापन कीजिए।

उपकरण के तर्कों का सत्यापन

निष्पादित करने से पहले मॉडल के tool_call.arguments का सत्यापन कीजिए:

class SearchArgs(BaseModel):
    query: str
    k: int = 5

args = SearchArgs.model_validate_json(tool_call.function.arguments)
results = search(args.query, args.k)

सत्यापन त्रुटियों को उपकरण परिणाम के रूप में लौटाना

यदि सत्यापन विफल हो, तो त्रुटि मॉडल को लौटाइए, ताकि वह सही किए गए तर्कों के साथ पुनःप्रयास कर सके:

try:
    args = SearchArgs.model_validate_json(...)
except ValidationError as e:
    return {'error': f'Invalid arguments: {e}'}

स्कीमा के संस्करण

जब किसी उपकरण के परिणाम का स्कीमा बदलता है, तो उसका संस्करण बदलिए:

class SearchResultV2(BaseModel):
    title: str
    url: HttpUrl
    relevance: float       # was 'score' in v1

Pydantic से JSON स्कीमा बनाना

उपकरण के स्कीमा की परिभाषाओं के लिए अपने Pydantic वर्ग से उसे प्राप्त कीजिए:

schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.

सत्यापन का लक्ष्य

हर उपकरण के परिणाम पर Pydantic का उपयोग क्यों करना चाहिए?

पुनरावलोकन

हर सीमा पर Pydantic: अंदर आने वाले उपकरण के तर्क, बाहर आने वाले उपकरण के परिणाम और LLM के संरचित परिणाम। चुपचाप डेटा खराब होने से स्पष्ट विफलताएँ बेहतर हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ AI एजेंट सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
60
पाठ
239

अक्सर पूछे जाने वाले प्रश्न

क्या “उपकरण आउटपुट का सत्यापन (Pydantic)” पाठ निःशुल्क है?

हाँ—“उपकरण आउटपुट का सत्यापन (Pydantic)” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और AI एजेंट पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“उपकरण आउटपुट का सत्यापन (Pydantic)” में मैं क्या सीखूँगा?

हर उपकरण आउटपुट को Pydantic मॉडल से पार्स करें—गलत रूप से बने उत्तर पर तुरंत विफल हों। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AI एजेंट का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या AI एजेंट शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AI एजेंट शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“उपकरण आउटपुट का सत्यापन (Pydantic)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस AI एजेंट पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर AI एजेंट पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. इडेम्पोटेंट उपकरण और साइड इफ़ेक्ट
  2. घातीय बैकऑफ़ के साथ पुनःप्रयास
  3. टाइमआउट और सर्किट ब्रेकर
  4. उपकरण आउटपुट का सत्यापन (Pydantic)
← AI एजेंट पर वापस जाएँ