مقدمة إلى إطار DSPy
لماذا يستبدل DSPy المطالبات المكتوبة يدويًا بالتوقيعات التصريحية
مقدمة إلى إطار DSPy درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
هشاشة المطالبات المكتوبة يدويًا
المطالبات المصاغة يدويًا هشة. فقد يؤدي تغيير كلمة واحدة إلى تغيير سلوك النموذج بشكل كبير، وما ينجح مع GPT-4 غالبًا ما يفشل مع Claude أو Gemini.
يقضي مهندسو المطالبات ساعات في تعديل الصياغة، ليكتشفوا أن التغييرات لا تعمم غالبًا عبر مجموعات البيانات أو إصدارات النماذج المختلفة. هذه الهشاشة هي المشكلة الأساسية التي يحلها DSPy.
ماهيّة DSPy
DSPy (Declarative Self-improving Python) هو إطار عمل من Stanford يتعامل مع صياغة المطالبات باعتبارها مشكلة تجميع، لا مهارة حرفية.
بدلًا من كتابة: "Think step by step and answer the following question..."، تعلن ما تريده (أي توقيعًا)، وتدع DSPy يحدد كيفية صياغة مطالبة للنموذج لتحقيقه.
تثبيت DSPy
يتوفر DSPy على PyPI. ثبّته واضبط واجهة خلفية لنموذج لغوي للبدء.
pip install dspy-ai
# Basic setup in Python
import dspy
# Configure the language model
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
print('DSPy configured successfully')الفكرة الأساسية: فصل المنطق عن صياغة المطالبات
في صياغة المطالبات التقليدية، يتشابك منطق البرنامج مع نص المطالبة. فإذا أردت تغيير طريقة استدلال النموذج، فعليك إعادة كتابة سلسلة نص المطالبة.
يفصل DSPy بين هذين الأمرين: تكتب منطق Python باستخدام الوحدات، ويتولى DSPy إنشاء نص المطالبة الفعلي وتحسينه تلقائيًا أثناء خطوة التجميع.
التوقيعات: إعلان النية
التوقيع في DSPy هو إعلان مَكتوب يحدد أنواع المدخلات والمخرجات. إنه يصف ما تريد، لا كيفية تحقيقه.
يستخدم DSPy التوقيع لإنشاء مطالبة مناسبة عند وقت التجميع، من دون حاجة منك إلى هندسة المطالبات.
import dspy
# Declare: given a question, produce an answer
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField(desc='A concise factual answer')
# DSPy turns this declaration into a real prompt automatically
print(SimpleQA.__doc__)الوحدات: كتل استدلال قابلة للتركيب
يوفر DSPy وحدات تنفذ أنماط الاستدلال الشائعة. وتستخدمها كما تستخدم طبقات PyTorch، إذ تركبها معًا لإنشاء برامج أكبر.
dspy.Predict— تنبؤ مباشرdspy.ChainOfThought— يضيف خطوات للاستدلالdspy.ReAct— استدلال + استخدام الأدوات
import dspy
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField()
# Three different module strategies for the same signature
predict_module = dspy.Predict(SimpleQA)
cot_module = dspy.ChainOfThought(SimpleQA)
# Call just like a function
result = predict_module(question='What is the capital of France?')
print(result.answer)ما الذي يفعله التجميع
التجميع هو العملية التي يحسن فيها DSPy مطالبات برنامجك باستخدام مجموعة تدريب ودالة مقياس.
قبل التجميع: يستخدم DSPy مطالبة افتراضية أساسية. بعد التجميع: يكون DSPy قد وجد أمثلة few-shot أو تعليمات أفضل أو أمثلة توضيحية لسلسلة التفكير، بما يزيد قيمة المقياس إلى أقصى حد. تُحفظ المطالبات المحسّنة ويُعاد استخدامها عند وقت الاستدلال.
برنامج DSPy مصغّر
إليك برنامج DSPy مصغّرًا ومتكاملًا: توقيع ووحدة واستدعاء. لا تُكتب أي سلسلة مطالبة في أي موضع.
import dspy
# 1. Configure LM
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
# 2. Define signature
class Summarize(dspy.Signature):
"""Summarize text into one sentence."""
text: str = dspy.InputField()
summary: str = dspy.OutputField()
# 3. Create module
summarizer = dspy.Predict(Summarize)
# 4. Use it
result = summarizer(text='DSPy is a framework for programming language models.')
print(result.summary)DSPy مقابل هندسة المطالبات التقليدية
يكمن الاختلاف الفلسفي الأساسي فيما يلي:
- التقليدية: تكتب نص المطالبة ← ينفذه النموذج ← تعدّل النص يدويًا
- DSPy: تكتب منطق Python ← يجد المحسّن أفضل نص للمطالبة ← ينفذ النموذج المطالبة المحسّنة
يتعامل DSPy مع المطالبات باعتبارها تفاصيل تنفيذ ينبغي أن يتولاها المترجم، تمامًا كما يحول المترجم Python إلى بايت كود.
متى يستحق DSPy الاستخدام
يتألق DSPy عندما تتوفر لديك:
- مقياس واضح لتحسينه (الدقة أو F1 أو تقييم المستخدم)
- مجموعة تدريب من الأمثلة (حتى 20 إلى 50 مثالًا تكفي)
- مسار معالجة يتضمن خطوات استدلال متعددة تتفاعل فيما بينها
أما بالنسبة إلى المطالبات البسيطة لمرة واحدة، فلا تستحق التكلفة الإضافية لـ DSPy. لكن بالنسبة إلى مسارات معالجة LLM الإنتاجية ذات الأهداف القابلة للقياس، فإنه يُحدث تحولًا كبيرًا.
نظرة عامة على منظومة DSPy
DSPy ليس مجرد غلاف لواجهة برمجة التطبيقات، بل هو منظومة متكاملة:
- التوقيعات: إعلان المدخلات والمخرجات
- الوحدات: استراتيجيات الاستدلال
- المحسّنات: BootstrapFewShot وMIPRO وCOPRO
- التقييم: إطار تقييم مضمّن
- التأكيدات: تقييد المخرجات بصورة إعلانية
ستستكشف كل واحدة من هذه الميزات في الدروس التالية من هذه الدورة.
اختبار المعرفة: المفهوم الأساسي في DSPy
ما الطريقة الأساسية التي يختلف بها DSPy عن كتابة المطالبات يدويًا؟
مراجعة: أساسيات إطار DSPy
يعالج DSPy هشاشة المطالبات المكتوبة يدويًا من خلال التعامل مع صياغة المطالبات باعتبارها مشكلة تجميع. إذ تكتب توقيعات (إعلانات مَكتوبة للمدخلات والمخرجات)، وتركبها مع وحدات مثل Predict وChainOfThought. ثم يجد المحسّن أفضل نص للمطالبة تلقائيًا باستخدام بيانات التدريب والمقياس الخاصين بك. والنتيجة هي مسار مطالبات قابل للنقل والاختبار والتحسين تلقائيًا، من دون هندسة مطالبات يدوية.
تعلم AI Prompt Engineering مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 53
- الدروس
- 199
الأسئلة الشائعة
هل درس «مقدمة إلى إطار DSPy» مجاني؟
نعم — نص درس «مقدمة إلى إطار DSPy» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
ماذا ستتعلم في «مقدمة إلى إطار DSPy»؟
لماذا يستبدل DSPy المطالبات المكتوبة يدويًا بالتوقيعات التصريحية تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟
لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «مقدمة إلى إطار DSPy»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟
نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى إطار DSPy
- تعريف التوقيعات والوحدات
- تجميع المطالبات وتحسينها
- تقييم مسارات DSPy