title: “Pydantic AI” sidebarTitle: “Pydantic AI” description: “הגן על אג’נטים מוקלדים, כלים, קריאות מודל וניסיונות חוזרים.” icon: “/images/frameworks/pydantic-ai.svg”
התקנה
pydantic-ai-slim 2.0 עד 3.0. גרסה 2.0 הסירה את Agent(instrument=...) והציגה את פרוטוקול ההיכולת שעליו בנוי המתאם הזה, ולכן לא ניתן לבצע אינסטרומנטציה של 1.x בדרך זו.
אינסטרומנטציה
root_capability יחידה, ולכן אין תכונת agent.capabilities שניתן לקרוא.
אג’נטים שנבנו תוך כדי אינסטרומנטציה שומרים על ההיכולת, ולכן תוכל להפעיל uninstrument() ולהמשיך לאינסטרומנטציה ללא בנייה מחדש.
מה מתעד
אין כאן זוג hook ואין זוג human-in-the-loop. Pydantic AI אין לו גבול node או step שיש לתחום ואין הפסקה בנויה של בן אדם, ולכן אין מה למפות. אם תבנה כל אחד מהם, פלוט את האירועים בעצמך — ראה אג’נטים מותאמים אישית.
output_type לא משנה את העקבה. ריצה מוקלדת וריצה של מחרוזת מייצרות את אותם אירועים.
דוגמה
restock_eta מופיע כ-tool_result המנשא שגיאה, ואחריו קריאת מודל נוספת שבה האג’נט עובד סביב זה, והריצה עדיין מסתיימת ב-success. שני העובדות נשמרות.
שגיאות, ניסיונות חוזרים וזרימת בקרה
Pydantic AI משמיע חריגים בשלוש דברים שונים, והמתאם מפריד ביניהם:ModelRetry נמצא בקבוצה הראשונה בכוונה. זה אומר שניסיון באמת נכשל ובמודל בקשו לנסות שוב, וזה בדיוק מה ששדה השגיאה של span של כלי מיועד לעשות. סיווג זה כזרימת בקרה היה מסתיר כשלי כלי אמיתיים מאחורי ריצה ירוקה.
שמות את ה-spans שלך
ה-span של ריצה של 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 עם הודעה שהיא יכולה לפעול עליה. הכשל מתועד בכל מקרה.יש span אג'נט קינן שלא יצרתי
יש span אג'נט קינן שלא יצרתי
הילד הוא span ריצה של Pydantic AI עצמו, וזה המקום שבו אירועי המודל והכלים תלויים. שחרר את ההיקף שלך אם אתה רוצה span יחיד, במחיר השם המותאם.
Tracebacks מתחיל עם סימן קיצור
Tracebacks מתחיל עם סימן קיצור
ערימת הגרף האסינכרונית של Pydantic AI ארוכה יותר מגבול שדה העומס, וקו האחרון של traceback הוא החריג עצמו. שדה זה קוצץ מהחזית ולא מהגב, ולכן הקו שאתה צריך שורד.
הבא
איך זה עובד
זוגות, מזהים, מחזור חיים של חסות וסילוק.
קרא עקבה
עקוב אחר סיבתיות דרך החסות שרק תפסת.
מסגרות אחרות
LangGraph, CrewAI, LlamaIndex, ואג’נטים מותאמים אישית.

