التحقق من مخرجات الأدوات (Pydantic)
حلّل كل مخرج أداة من خلال نموذج Pydantic، وأظهر الخطأ بوضوح عند تلقي استجابة مشوهة.
التحقق من مخرجات الأدوات (Pydantic) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
ثِق ولكن تحقّق
تأتي مخرجات الأدوات من العالم الخارجي — من واجهات API وصفحات الويب والنماذج. وقد تؤدي استجابة مشوّهة أو غير متوقعة إلى تعطيل وكيلك، أو ما هو أسوأ، إلى تمرير بيانات غير صحيحة بصمت إلى LLM.
تحقّق من كل مخرج أداة مقابل مخطط.
نماذج Pydantic
حدّد الأشكال المتوقعة:
from pydantic import BaseModel, HttpUrl
class SearchResult(BaseModel):
title: str
url: HttpUrl
snippet: str
score: float = 0.0Validate 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 الأنواع تلقائيًا افتراضيًا (من string إلى int عند الإمكان). ولإجراء فحوصات صارمة:
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إنشاء JSON Schema من Pydantic
لتعريفات مخططات الأدوات، اشتقّ المخطط من فئة Pydantic لديك:
schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.هدف التحقق
لماذا نستخدم Pydantic مع كل مخرج أداة؟
مراجعة
استخدم Pydantic عند كل حد فاصل: وسائط الأدوات الداخلة، ومخرجات الأدوات الخارجة، والمخرجات المنظّمة لـ LLM. فالإخفاقات الواضحة أفضل من تلف البيانات الصامت.
تعلم AI Agents مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 60
- الدروس
- 239
الأسئلة الشائعة
هل درس «التحقق من مخرجات الأدوات (Pydantic)» مجاني؟
نعم — نص درس «التحقق من مخرجات الأدوات (Pydantic)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «التحقق من مخرجات الأدوات (Pydantic)»؟
حلّل كل مخرج أداة من خلال نموذج Pydantic، وأظهر الخطأ بوضوح عند تلقي استجابة مشوهة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التحقق من مخرجات الأدوات (Pydantic)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الأدوات غير المتكررة والآثار الجانبية
- إعادة المحاولة مع التراجع الأسي
- المهلات وقواطع الدائرة
- التحقق من مخرجات الأدوات (Pydantic)