انتقل إلى المحتوى
الصفحات

المفاهيم

كيف يعمل التحسين

عقد التشغيل والتقييم، وأنواع العناصر، والمحركات المناسبة لكل نوع.

Skynet هو Optimize Anything: منتج واحد يحسّن أي عنصر مقابل بياناتك ومقياسك. يستخدم كل تشغيل عقد التشغيل نفسه وعقد المقياس نفسه. ويحدّد نوع العنصر المحرّكات التي يمكنها العمل عليه.

العقد المشترك

لكل تشغيل ملفان. يشغّل run.py العنصر على حالة واحدة. ويقيّم metric.py المخرجات.

from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input)
  • artifact هو النسخة الحالية التي يقترحها المُحسِّن.
  • input قاموس (dict) يحمل حقول الإدخال لحالة واحدة.
  • expected هو القيمة المتوقعة للحالة، أو None عندما لا تكون للحالة قيمة متوقعة.
  • تُرجع score زوجًا: رقمًا، وقاموسًا يحتوي على سلسلة "feedback".

توفّر وحدة المساعدة skynet كلًا من llm وImage وlog. يذهب استدعاء llm من كود التشغيل إلى نموذج المهمة. ويذهب استدعاء llm من المقياس إلى نموذج المقياس.

اقرأ المقاييس والمُقيِّمات للاطلاع على عقد المقياس الكامل.

أنواع العناصر والمحركات

نوع العنصرالمحرّكات
موجّهAuto, GEPA, Best-of-N, AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve
كودمثل الموجّه
نصمثل الموجّه
برنامج DSPyAuto, DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot

تنقسم المحرّكات إلى عائلتين:

  • تتعامل المحرّكات الأصلية مع العنصر كصندوق أسود. تعمل على عناصر الموجّه والكود والنص.
  • تعمل مُحسِّنات DSPy داخل برنامج DSPy. وتعمل فقط على عناصر برنامج DSPy.

يحتاج DSPy MIPROv2 وDSPy BootstrapFewShot إلى أزواج (حالات مع مخرجات متوقعة). مع إدخال واحد، لا يستطيع برنامج DSPy استخدام سوى Auto وDSPy GEPA.

عناصر الموجه والكود والنص

تتعامل المحرّكات الأصلية مع العنصر كصندوق أسود. يقترح المحرّك نسخة جديدة، ويشغّل run(artifact, input) على الحالات، ويقرأ الدرجة والملاحظات.

تستخدم المحرّكات الأصلية الستة طرق بحث مختلفة:

  • يطوّر GEPA النسخ بالتأمل ويحتفظ بجبهة باريتو.
  • يطلب Best-of-N من نموذج التأمل اقتراحات مستقلة ويحتفظ بأفضلها.
  • تستخدم AutoResearch وMeta-Harness وAutoSaddler وShinkaEvolve وكيل برمجة لاقتراح النسخ.

اقرأ المحرّكات للتعرّف على كل محرّك وإعداداته.

عناصر برنامج DSPy

برنامج DSPy هو نوع واحد من العناصر. يبني ملف run.py الخاص بك dspy.Module على مستوى الوحدة ويستدعيه داخل run. إذا احتوى الملف على أكثر من وحدة، فسمِّ الوحدة المراد تحسينها program.

ما يحدث عندما يعمل مُحسِّن DSPy:

  1. يعثر Skynet على وحدتك ويغلّفها بدالة run الخاصة بك. تمر كل حالة عبر run الخاصة بك.
  2. يترجم مُحسِّن DSPy البرنامج على حالات التدريب.
  3. يختار بناءً على حالات التحقق.
  4. الفائز هو نص التعليمات لكل متنبئ (predictor)، بالإضافة إلى الحالة المترجمة الكاملة للوحدة. تشمل الحالة أمثلة few-shot.

تقيس الدرجات النهائية البرنامج نفسه الذي يحفظه Skynet.

المُحسِّنيقرأ نص الملاحظات
DSPy GEPAنعم
DSPy MIPROv2لا، الدرجة فقط
DSPy BootstrapFewShotلا، الدرجة فقط

لا يستخدم DSPy BootstrapFewShot نموذج تأمل.

Auto

Auto هو الخيار الافتراضي في المعالج.

  • على عنصر موجّه أو كود أو نص، يستكشف Auto بخمسة محرّكات أصلية، ثم يتابع بـ GEPA من أفضل نسخة.
  • على برنامج DSPy، يشغّل Auto DSPy GEPA.

يقرأ Auto بشكليه نص الملاحظات من مقياسك.

أي محرك تختار

وضعكاستخدم
لديك موجّه يشغّله نموذجعنصر موجّه. ابدأ بـ Auto.
لديك كود تريد جعله أسرع أو أرخص أو أكثر صحةعنصر كود. ابدأ بـ Auto.
لديك مستند أو ملف إعداداتعنصر نص. ابدأ بـ Auto.
لديك برنامج DSPyعنصر برنامج DSPy. ابدأ بـ Auto.
تريد أمثلة few-shot مختارة من بياناتكعنصر برنامج DSPy مع DSPy BootstrapFewShot أو DSPy MIPROv2

صفحات ذات صلة