HyperAI
Back to Headlines

تعلم استخدام Pydantic لإدارة البيانات بشكل أكثر أناقة وإضفاء ذكاء على تطبيقات الذكاء الاصطناعي الذاتية الدفع

منذ 5 أيام

بناء تطبيقات ذكية لـ AI ذاتية الفعل باستخدام Pydantic: دليل للمبتدئين المقدمة هل تعرضت لانهيار كود Python بسبب بيانات خاطئة أو فوضوية؟ سواء كنت تعمل مع بيانات المستخدم، أو تبني API، أو تربط أجزاء مختلفة من البرنامج، يمكن أن تتسبب البيانات السيئة في تعطل الكود. هنا يأتي دور Pydantic، وهو مكتبة Python القوية التي تقوم بتحقق من صحة البيانات وتجميعها تلقائيًا باستخدام تلميحات النوع (type hints). في هذا الدليل، ستتعلم كيفية استخدام Pydantic لتحقق من صحة البيانات، تنظيفها، وإدارتها بطريقة بسيطة ومباشرة باستخدام فقط فئات Python وتلميحات النوع. لماذا يهم Pydantic؟ يدعم FastAPI: أحد أسرع الإطارات الويب نموًا. استخدام واسع في تطبيقات AI ذاتية الفعل: حيث تكون البيانات المهيكلة والمتحقق منها مهمة للغاية. يساعد في اكتشاف الأخطاء مبكرًا: مما يجعل الكود أسهل في الصيانة. يعمل تحت غطاء Rust: مما يجعله ليس فقط أنيقًا، بل سريعًا جدًا أيضًا. ما الذي ستتعلمه: مقارنة Dataclass مع Pydantic. كيفية التحقق من صحة البيانات باستخدام تلميحات النوع. كيفية التعامل مع أخطاء التحقق من الصلاحية. كيفية التعامل مع الحقول الإضافية والقيم الافتراضية. كيفية استخدام تحقق من صحة القوائم. كيفية استخدام النماذج المركبة وقيود مخصصة. استخدام Field() للتحقق من صحة إضافية. Pydantic مع FastAPI. 1. مقارنة Dataclass مع Pydantic لنبدأ بمقارنة عملية لمعرفة لماذا يعتبر Pydantic أفضل لتطبيقات التحقق من الصلاحية الثقيلة. باستخدام Dataclass: ```python from dataclasses import dataclass @dataclass class Person: name: str age: int p = Person("Alice", "ten") print(p) # لا يوجد خطأ رغم أن العمر يجب أن يكون عددًا صحيحًا! ``` باستخدام Pydantic: ```python from pydantic import BaseModel class PersonModel(BaseModel): name: str age: int p = PersonModel(name="Alice", age=25) print(p) Pydantic يتأكد من أن اسم يجب أن يكون نصًا والعمر يجب أن يكون عددًا صحيحًا. كما يمكنك تمرير القيم كنصوص إذا كانت قابلة للتحويل person = PersonModel(name="Bob", age="35") # '35' يتم تحويله إلى العدد الصحيح 35 ``` 2. التعامل مع أخطاء التحقق من الصلاحية إذا كانت بيانات المدخلات غير صالحة (مثل النوع الخاطئ)، سيقوم Pydantic بإصدار خطأ ValidationError. يجب عليك التقاط ومعالجة هذه الأخطاء في الأنظمة الإنتاجية. ```python from pydantic import ValidationError try: person = PersonModel(name="Charlie", age="abc") except ValidationError as e: print(e) ``` خطأ التحقق من الصلاحية: 1 خطأ في التحقق من صحة شخص - العمر: القيمة ليست عددًا صحيحًا (type=type_error.integer) 3. تلميحات النوع في Pydantic قبل أن يقوم Pydantic بأعماله السحرية، يحتاج إلى خريطة — وهذه هي تلميحات النوع. فهي تخبر Pydantic (ومحرر الشفرة الخاص بك!) بأنواع البيانات المتوقعة. python name: str # يتوقع نصًا age: int # يتوقع عددًا صحيحًا score: float # يتوقع عددًا عشريًا is_active: bool # يتوقع صحيح أو خاطئ الآن دعنا نحاول: ```python from typing import Optional, List bio: Optional[str] # يمكن أن تكون نصًا أو None tags: List[str] # قائمة من النصوص ``` تلميحات النوع لا تفرض أي شيء بمفردها، لكن Pydantic يستخدمها لتحقق من صحة بياناتك أثناء التشغيل. 4. الحقول الإضافية والقيم الافتراضية تطبيقات AI ذاتية الفعل غالبًا ما تعامل مع بيانات جزئية — قد يتجاهل LLM بعض الحقول بناءً على السياق. ```python from typing import Optional from pydantic import BaseModel class Employee(BaseModel): id: int name: str dept: str salary: Optional[float] = None is_active: bool = True emp = Employee(id=1, name="John", dept="HR") print(emp) `` في هذا المثال،salaryاختياري وقيمته الافتراضية هيNone، بينماis_activeقيمته الافتراضية هيTrue` ما لم يُحدد غير ذلك. 5. تحقق من صحة القوائم Pydantic يتفوق في التحقق من صحة الهياكل البيانات المعقدة، بما في ذلك القوائم. ```python from typing import List from pydantic import BaseModel class Classroom(BaseModel): room_no: str students: List[str] capacity: int cls = Classroom(room_no="A101", students=("Alice", "Bob", "Charlie"), capacity=30) ``` Pydantic يقوم بتحويل الأقواس إلى قوائم تلقائيًا. إذا تم تمرير عنصر قائمة غير صالح (مثل عدد صحيح في قائمة الطلاب)، سيتم رمي خطأ ValidationError. هذا حاسم عند تحليل بيانات LLM المهيكلة. 6. النماذج المركبة يمكنك بناء نماذج مركبة باستخدام نموذج آخر من نوع BaseModel داخل نموذج. هذا مفيد جدًا عند التعامل مع بيانات مهيكلة مثل العناوين، التكوينات، وما إلى ذلك. ```python class Address(BaseModel): street: str city: str class User(BaseModel): name: str address: Address user = User(name="Tom", address={"street": "123 Main St", "city": "New York"}) print(user) ``` هذا البنيان مفيد عند التعامل مع Réponses JSON أو البيانات الهرمية. عند تمرير الإخراج بين العوامل الذكية، تسمح النماذج المركبة ببناء واجهات نظيفة يمكن للعوامل فهمها. لن تقلق بعد الآن بشأن فقدان المفاتيح أو الصيغ الخاطئة — يتم التحقق من صحة كل جزء من البنيان قبل استخدامه. 7. استخدام Field() للتحقق من صحة إضافية عند العمل مع بيانات العالم الحقيقي — خاصة في الأنظمة الديناميكية مثل العوامل الذكية أو APIs — غالبًا ما تحتاج إلى التأكد من أن مدخلاتك تتبع قواعد معينة. على سبيل المثال: Pydantic يوفر أداة مفيدة للغاية للتعامل مع هذا: دالة Field(). ```python from pydantic import Field, BaseModel class Product(BaseModel): name: str = Field(min_length=2, max_length=50) price: float = Field(gt=0, description="سعر المنتج يجب أن يكون أكبر من الصفر") quantity: int = Field(ge=0, description="المخزون المتاح (صفر أو أكثر)") ``` هذه القيود تساعد في التأكد من صحة البيانات عند إنشاء النموذج — قبل أن تذهب أعمق في منطق التطبيق. هذا يؤدي إلى وجود أقل أخطاء، رسائل أخطاء أفضل، وشفرة أنظف. تستخدم أدوات مثل FastAPI هذه تعريفات الحقول لتوليد مستندات API تفاعلية غنية تلقائيًا. 8. Pydantic مع FastAPI FastAPI هو أحد أشهر الإطارات الويب في Python حاليًا — ويعتبر Pydantic المحرك وراء سرعته وموثوقيته. كل مرة تقوم فيها بتعريف جسم طلب أو نموذج استجابة في FastAPI، تكون تستخدم Pydantic في الخلفية. ```python from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float @app.post("/items/") async def create_item(item: Item): return {"message": "تم استلام العنصر!", "data": item} ``` FastAPI يقوم ب: - تحقق من صحة بيانات الطلب. - تحويل البيانات إلى الأنواع المناسبة. - إصدار رسائل أخطاء واضحة عند وجود مشكلة. استخدام API الذكية بالذكاء الاصطناعي: تستخدم العديد من التطبيقات المدعومة بالذكاء الاصطناعي — مثل البوتات المحادثة، ملخصات قاعدة البيانات المتجهة، وأنظمة الاستدلال القائمة على الأدوات — APIs التي تعتمد على FastAPI + Pydantic. يضمن هذا الزوج معالجة البيانات السريعة، الآمنة، والمحكومة بالشكل، خاصة عند التعامل مع LLMs أو العوامل الخارجية. الخلاصة ليست Pydantic مجرد مكتبة للتحقق من صحة البيانات — فهي الأساس لبناء تطبيقات AI ذاتية الفعل موثوقة وجاهزة للإنتاج. تعتبر موثوقية التحقق من الصلاحية حيوية في أنظمة الكود المولد بواسطة الذكاء الاصطناعي، وتوفر Pydantic الأدوات لتحقيق هذا الثبات. ملخص سريع مع توجهنا نحو أنظمة AI ذاتية الفعل الأكثر تعقيدًا، تصبح دور Pydantic أكثر أهمية. التحقق من صحة البيانات بشكل قوي ضروري في أنظمة الكود المولد بواسطة الذكاء الاصطناعي، وتوفر Pydantic الأدوات اللازمة لتحقيق هذا الثبات. الخطوات التالية ابدأ بتطبيق هذه الأنماط في مشروع AI القادم: واستمتع بالثقة التي تأتي مع تدفق البيانات المتحقق منها بشكل صحيح. استكشف المزيد: مستندات Pydantic اتصل بي على LinkedIn تقييم الحدث من قبل المتخصصين يُعتبر Pydantic أداة أساسية في مجال تطوير تطبيقات الذكاء الاصطناعي ذاتية الفعل، حيث يوفر حلولًا موثوقة وفعالة للتحقق من صحة البيانات ومعالجتها. العديد من المطورين والشركات يعتمدون عليه لضمان استقرار التطبيقات وسهولة صيانتها. إن استخدام Pydantic مع FastAPI يعزز من كفاءة الأنظمة المبنية على الويب ويحسن تجربة المستخدم بشكل كبير.

Related Links