इंस्टॉल करें
pydantic-ai-slim 2.0 से 3.0 तक। 2.0 ने Agent(instrument=...) को हटाया और capability protocol को पेश किया जिस पर यह एडेप्टर बनाया गया है, इसलिए 1.x को इस तरीके से इंस्ट्रूमेंट नहीं किया जा सकता।
इंस्ट्रूमेंट करें
root_capability में विलय करता है, इसलिए पढ़ने के लिए कोई agent.capabilities विशेषता नहीं है।
इंस्ट्रूमेंट करते समय बने एजेंट्स क्षमता को बनाए रखते हैं, इसलिए आप uninstrument() कर सकते हैं और उन्हें फिर से बनाए बिना फिर से इंस्ट्रूमेंट कर सकते हैं।
क्या रिकॉर्ड किया जाता है
यहाँ कोई हुक जोड़ी नहीं है और कोई मानव-इन-द-लूप जोड़ी नहीं है। Pydantic AI के पास ब्रैकेट करने के लिए कोई नोड या स्टेप सीमा नहीं है और कोई अंतर्निहित मानव विराम नहीं है, इसलिए मैप करने के लिए कुछ भी नहीं है। यदि आप कोई भी बनाते हैं, तो इवेंट्स स्वयं उत्सर्जित करें — कस्टम एजेंट्स देखें।
output_type ट्रेस में कोई अंतर नहीं बनाता है। एक टाइप किया गया रन और एक स्ट्रिंग रन समान इवेंट्स उत्पन्न करते हैं।
उदाहरण
restock_eta एक tool_result के रूप में दिखाई देता है जो एक त्रुटि ले जाता है, इसके बाद एक और मॉडल कॉल जहां एजेंट इसके चारों ओर काम करता है, और रन अभी भी success के साथ समाप्त होता है। दोनों तथ्य संरक्षित हैं।
त्रुटियां, रिट्राई और नियंत्रण प्रवाह
Pydantic AI तीन अलग-अलग चीजों के लिए अपवाद उठाता है, और एडेप्टर उन्हें अलग करता है:ModelRetry पहले समूह में जानबूझकर है। इसका अर्थ है कि एक प्रयास वास्तविक रूप से विफल हुआ और मॉडल को फिर से प्रयास करने के लिए कहा गया, जो एक टूल स्पैन के त्रुटि क्षेत्र के लिए है। इसे नियंत्रण प्रवाह के रूप में वर्गीकृत करने से वास्तविक टूल विफलताएं हरे रन के पीछे छिप जाएंगी।
अपने स्पैन्स को नाम दें
Pydantic AI का अपना रन स्पैनagent नाम दिया गया है। इसे अपनी पसंद का लेबल देने के लिए कॉल को लपेटें:
inventory के अंतर्गत नेस्ट होता है, और यह वह जगह है जहां मॉडल और टूल इवेंट्स लटकते हैं।
agent_id को कम कार्डिनैलिटी रखें। यह हर डैशबोर्ड सतह पर प्राथमिक पहलू है, इसलिए एक भूमिका नाम का उपयोग करें, कभी UUID या प्रति-रन स्ट्रिंग नहीं।
सेशन को नियंत्रित करें
इस क्रम में हल किया गया, पहला मिलान जीतता है:instrument("pydantic_ai", session_id=...)- संलग्न
failproofai_sdk.session()स्कोप - रन का
conversation_id, फिर इसकाrun_id - एक उत्पन्न
uuid4().hex
विकल्प
सामान्य समस्याएं
रन काम करता है लेकिन कोई इवेंट्स दिखाई नहीं देते
रन काम करता है लेकिन कोई इवेंट्स दिखाई नहीं देते
Agent को instrument() चलने से पहले बनाया गया था। ऊपर की चेतावनी देखें, और agent.root_capability.capabilities जांचें।एक टूल में सादा अपवाद रन को मार देता है
एक टूल में सादा अपवाद रन को मार देता है
एक बेयर
raise प्रसारित होता है; यह Pydantic AI का डिज़ाइन है। मॉडल को इसके चारों ओर काम करने देने के लिए, ModelRetry को एक संदेश के साथ उठाएं जिस पर वह कार्य कर सकता है। विफलता किसी भी तरीके से रिकॉर्ड की जाती है।एक नेस्टेड एजेंट स्पैन है जो मैंने नहीं बनाया
एक नेस्टेड एजेंट स्पैन है जो मैंने नहीं बनाया
वह चाइल्ड Pydantic AI का अपना रन स्पैन है, और यह वह जगह है जहां मॉडल और टूल इवेंट्स लटकते हैं। अपना स्कोप छोड़ें यदि आप एक एकल स्पैन चाहते हैं, कस्टम नाम की कीमत पर।
ट्रेसबैक्स एक ट्रंकेशन मार्कर से शुरू होते हैं
ट्रेसबैक्स एक ट्रंकेशन मार्कर से शुरू होते हैं
Pydantic AI का एसिंक ग्राफ स्टैक पेलोड फील्ड लिमिट से लंबा है, और ट्रेसबैक की अंतिम पंक्ति अपवाद ही है। यह फील्ड पीछे की ओर से बजाय आगे की ओर से ट्रिम की जाती है, इसलिए आपको जो पंक्ति चाहिए वह बची रहती है।
आगे
यह कैसे काम करता है
जोड़ी, आईडी, सेशन लाइफसाइकल और डिलीवरी।
एक ट्रेस पढ़ें
आपने जो सेशन कैप्चर किया उस के माध्यम से कार्य-कारण का अनुसरण करें।
अन्य फ्रेमवर्क
LangGraph, CrewAI, LlamaIndex, और कस्टम एजेंट्स।

