0Pricing
AI Agents · درس

التحقق من مخطط Pydantic

عرّف مخرجك على أنه Pydantic BaseModel، وتحقق من JSON، واكتشف الاستجابات المشوهة مبكرًا.

التحقق من مخطط Pydantic درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

لماذا Pydantic؟

تُعد Pydantic مكتبة الأمان النوعي المعتمدة بحكم الواقع في Python. وهي:

  • تتحقق من القواميس بمقارنتها بفئات تتضمن تعليقات نوعية
  • تحوّل القيم عند عدم التطابق أو ترفضها
  • تنشئ تلقائيًا مخطط JSON لواجهة OpenAI البرمجية
  • تتكامل بسلاسة مع FastAPI وLangChain وLlamaIndex

Defining a Schema

from pydantic import BaseModel, Field

class Product(BaseModel):
    name: str
    price: float = Field(gt=0, description='Positive price in USD')
    in_stock: bool
    tags: list[str] = []

Validating a Dict

data = {'name': 'Mug', 'price': 9.99, 'in_stock': True, 'tags': ['kitchen']}
product = Product.model_validate(data)
print(product.price)        # 9.99

Validating JSON

json_str = '{"name":"Mug","price":9.99,"in_stock":true}'
product = Product.model_validate_json(json_str)

Validation Errors

from pydantic import ValidationError

try:
    Product.model_validate({'name': 'Mug', 'price': -1, 'in_stock': True})
except ValidationError as e:
    print(e)
# [{'type': 'greater_than', 'loc': ('price',), 'msg': 'Input should be greater than 0', ...}]

Field-Level Validators

from pydantic import field_validator

class User(BaseModel):
    email: str

    @field_validator('email')
    @classmethod
    def must_have_at(cls, v):
        if '@' not in v:
            raise ValueError('Invalid email')
        return v.lower()

Nested Models

class Address(BaseModel):
    city: str
    zip: str

class User(BaseModel):
    name: str
    address: Address

data = {'name': 'Alice', 'address': {'city': 'Berlin', 'zip': '10115'}}
user = User.model_validate(data)
print(user.address.city)

Generating JSON Schema

schema = Product.model_json_schema()
# Pass straight to OpenAI tools or response_format

Using With OpenAI SDK

from openai import OpenAI
client = OpenAI()

response = client.beta.chat.completions.parse(
    model='gpt-4o-2024-08-06',
    messages=[{'role': 'user', 'content': 'Give me a product.'}],
    response_format=Product
)
product = response.choices[0].message.parsed

Optional Fields

from typing import Optional
class Order(BaseModel):
    id: int
    note: Optional[str] = None

Defaults

class Settings(BaseModel):
    units: str = 'celsius'
    notify: bool = True

الأسماء المستعارة

لربط snake_case في JSON بـ camelCase في Python أو العكس:

class User(BaseModel):
    user_id: int = Field(alias='userId')

u = User.model_validate({'userId': 42})
print(u.user_id)   # 42

الاتحادات المميّزة

بالنسبة إلى الأنواع متعددة الأشكال، استخدموا الاتحاد المميّز في Pydantic:

from typing import Literal, Union
from pydantic import Field

class TextMessage(BaseModel):
    type: Literal['text']
    content: str

class ImageMessage(BaseModel):
    type: Literal['image']
    url: str

Message = Annotated[Union[TextMessage, ImageMessage], Field(discriminator='type')]

هدف التحقق

لماذا نستخدم Pydantic مع كل ناتج من أدوات؟

مراجعة

تمثل Pydantic طبقة العقد بين مخرجات LLM ومخرجات الأدوات والشفرة الخاصة بكم. استخدموها في كل مكان، وادمجوها مع المخرجات المهيكلة لضمان الصلاحية.

الأسئلة الشائعة

هل درس «التحقق من مخطط Pydantic» مجاني؟

نعم — نص درس «التحقق من مخطط Pydantic» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «التحقق من مخطط Pydantic»؟

عرّف مخرجك على أنه Pydantic BaseModel، وتحقق من JSON، واكتشف الاستجابات المشوهة مبكرًا. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «التحقق من مخطط Pydantic»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. وضع JSON ومخرجات استدعاء الأدوات
  2. التحقق من مخطط Pydantic
  3. حلقات إصلاح المخرجات المشوهة
  4. Instructor وOutlines لضمان البنية
← العودة إلى AI Agents