هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية
تصميم مطالبة النظام، وأمثلة few-shot، وتنسيق المخرجات، ومنطق إعادة المحاولة، وتحسين التكلفة
هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
كتابة المطالبات في بيئة الإنتاج
في التطبيقات الفعلية، تكون المطالبات كودًا؛ ولذلك تحتاج إلى بنية واختبار وموثوقية. تقلّل هندسة المطالبات الجيدة من الهلوسة، وتفرض تنسيق المخرجات، وتتحكم في التكلفة. يغطّي هذا الدرس التقنيات المهمة في بيئة الإنتاج.
تصميم مطالبة النظام
تحدّد مطالبة النظام دور النموذج ونبرته وقيوده وقواعده. كونوا محددين: اذكروا ماهية المساعد، وما يجب عليه فعله وما يجب ألا يفعله، وتنسيق إجاباتـه. تُعد مطالبة النظام الواضحة أقوى أداة لتوجيه النموذج.
system = (
"You are a support agent for an e-commerce store. "
"Answer only questions about orders and shipping. "
"If asked anything else, politely decline. "
"Keep replies under 3 sentences."
)أمثلة Few-Shot
تعني المطالبة باستخدام أمثلة قليلة عرض أزواج من المدخلات والمخرجات على النموذج كي يتعلّم النمط. وتضعون هذه الأزواج على هيئة رسائل متناوبة من المستخدم والمساعد قبل الطلب الفعلي.
messages = [
{"role": "system", "content": system},
{"role": "user", "content": "Classify: I love this!"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "Classify: This broke instantly."},
{"role": "assistant", "content": "negative"},
{"role": "user", "content": "Classify: It is okay I guess."}
]سبب فاعلية Few-Shot
توضّح الأمثلة قصدكم بدرجة أفضل من التعليمات وحدها. فهي تثبّت نمط المخرجات الدقيق، مثل كلمة واحدة أو JSON أو تصنيف، وتحسّن الاتساق بدرجة كبيرة في مهام التصنيف والاستخراج والتنسيق.
فرض إخراج JSON
بالنسبة إلى الردود القابلة للقراءة آليًا، اطلبوا وضع JSON باستخدام response_format. وعند استخدام {"type": "json_object"}، يُقيَّد النموذج بإخراج JSON صالح يمكنكم تحليله بأمان.
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)عدّ الرموز باستخدام tiktoken
تُقاس التكلفة وحدود السياق باستخدام الرموز. وتعدّ مكتبة tiktoken الرموز محليًا، مما يتيح لكم وضع الميزانية قبل الإرسال. ثبّتوها باستخدام pip install tiktoken.
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("Hello, how are you?")
print(len(tokens))أهمية عدّ الرموز
لكل نموذج نافذة سياق، أي حد أقصى لعدد الرموز، كما أنكم تدفعون مقابل كل رمز. يتيح لكم العد مسبقًا تقليص السجل، ورفض المدخلات الكبيرة جدًا، والتنبؤ بالتكلفة قبل مغادرة الاستدعاء لخادمكم.
def cost_estimate(text, price_per_1k=0.005):
enc = tiktoken.encoding_for_model("gpt-4o")
n = len(enc.encode(text))
return n, n / 1000 * price_per_1kالتعامل مع حدود المعدل
تواجه حركة المرور في بيئة الإنتاج حدود المعدل (HTTP 429) وأخطاء مؤقتة. بدلًا من توقف التطبيق بسبب الخطأ، أعيدوا المحاولة مع زيادة أسّية في فترة الانتظار. وتجعل مكتبة tenacity ذلك ممكنًا عبر مصمم واحد.
pip install tenacity
from tenacity import retry, wait_exponential, stop_after_attemptإعادة المحاولة باستخدام tenacity
طبّقوا المصمم @retry على استدعاء API. واستخدموا wait_exponential لزيادة التأخير بين المحاولات، وstop_after_attempt لتحديد الحد الأقصى لإجمالي المحاولات. ويساعد ذلك التطبيق على تجاوز الانقطاعات المؤقتة بسلاسة.
@retry(wait=wait_exponential(min=1, max=30), stop=stop_after_attempt(5))
def ask(prompt):
return client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)تعريف مخطط JSON للمخرجات
عند فرض وضع JSON، صِفوا دائمًا الشكل الدقيق الذي تريدونه داخل المطالبة، حتى تكون المفاتيح متوقعة. ويمنحكم توضيح المخطط نصيًا إلى جانب وضع JSON نتائج صالحة للتحليل والتحقق في كل مرة.
system = (
"Return ONLY JSON with this shape: "
"{\"sentiment\": \"positive|negative|neutral\", "
"\"confidence\": number between 0 and 1}"
)دمج المكوّنات
خط أنابيب المطالبة في بيئة الإنتاج: صمّموا مطالبة نظام صارمة، وأضيفوا أمثلة Few-Shot، وافرضوا مخرجات JSON عند الحاجة، وعدّوا الرموز لإدارة التكلفة والسياق، وأحاطوا الاستدعاءات بمنطق إعادة المحاولة. وتجعل هذه العناصر ميزات النماذج اللغوية الكبيرة موثوقة عند جمعها معًا.
تحقّق سريع
اختبروا معرفتكم بكتابة المطالبات في بيئة الإنتاج.
مراجعة: التوجيه للبيئة الإنتاجية
لقد تعلمتم صياغة مطالبات النظام الصارمة، وتوجيه السلوك باستخدام أمثلة few-shot، وضمان الردود المنظمة عبر وضع JSON في response_format. وحسبتم الرموز باستخدام tiktoken لإدارة السياق والتكلفة، وأضفتم القدرة على التحمّل باستخدام عمليات إعادة المحاولة من tenacity عند تجاوز حدود المعدل.
الأسئلة الشائعة
هل درس «هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية» مجاني؟
نعم — نص درس «هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية»؟
تصميم مطالبة النظام، وأمثلة few-shot، وتنسيق المخرجات، ومنطق إعادة المحاولة، وتحسين التكلفة تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- واجهة OpenAI البرمجية: chat.completions والبث
- واجهة Anthropic Claude البرمجية في Python
- استدعاء الدوال واستخدام الأدوات مع نماذج اللغة الكبيرة
- هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية