Chapter 89
EdgeAI للمبتدئين - ورشة عمل
EdgeAI للمبتدئين - ورشة عمل
مسار تعليمي عملي لبناء تطبيقات Edge AI جاهزة للإنتاج
تعلم كيفية نشر الذكاء الاصطناعي محليًا باستخدام Microsoft Foundry Local، بدءًا من أول إكمال محادثة إلى تنسيق متعدد الوكلاء في 6 جلسات تدريجية.
🎯 المقدمة
مرحبًا بكم في ورشة عمل EdgeAI للمبتدئين - دليلك العملي لبناء تطبيقات ذكية تعمل بالكامل على الأجهزة المحلية. تحول هذه الورشة مفاهيم Edge AI النظرية إلى مهارات عملية من خلال تمارين تدريجية باستخدام Microsoft Foundry Local ونماذج اللغة الصغيرة (SLMs).
لماذا هذه الورشة؟
ثورة Edge AI بدأت الآن
تتجه المؤسسات حول العالم من الذكاء الاصطناعي المعتمد على السحابة إلى الحوسبة الطرفية لثلاثة أسباب رئيسية:
- الخصوصية والامتثال - معالجة البيانات الحساسة محليًا دون إرسالها إلى السحابة (HIPAA، GDPR، اللوائح المالية)
- الأداء - القضاء على تأخير الشبكة (50-500 مللي ثانية محليًا مقابل 500-2000 مللي ثانية في السحابة)
- التحكم في التكلفة - التخلص من تكاليف API لكل رمز والتوسع دون نفقات السحابة
لكن Edge AI مختلف
تشغيل الذكاء الاصطناعي محليًا يتطلب مهارات جديدة:
- اختيار النماذج وتحسينها لتناسب القيود المواردية
- إدارة الخدمات المحلية وتسريع الأجهزة
- هندسة المطالبات للنماذج الصغيرة
- أنماط نشر الإنتاج للأجهزة الطرفية
هذه الورشة تقدم تلك المهارات
في 6 جلسات مركزة (~3 ساعات إجمالاً)، ستنتقل من "Hello World" إلى نشر أنظمة متعددة الوكلاء جاهزة للإنتاج - جميعها تعمل محليًا على جهازك.
📚 أهداف التعلم
عند إكمال هذه الورشة، ستكون قادرًا على:
الكفاءات الأساسية
-
نشر وإدارة خدمات الذكاء الاصطناعي المحلية
- تثبيت وتكوين Microsoft Foundry Local
- اختيار النماذج المناسبة للنشر الطرفي
- إدارة دورة حياة النموذج (التنزيل، التحميل، التخزين المؤقت)
- مراقبة استخدام الموارد وتحسين الأداء
-
بناء تطبيقات مدعومة بالذكاء الاصطناعي
- تنفيذ إكمال المحادثات المتوافقة مع OpenAI محليًا
- تصميم مطالبات فعالة لنماذج اللغة الصغيرة
- التعامل مع الردود المتدفقة لتحسين تجربة المستخدم
- دمج النماذج المحلية في التطبيقات الحالية
-
إنشاء أنظمة RAG (توليد معزز بالاسترجاع)
- بناء بحث دلالي باستخدام التضمينات
- ربط استجابات نماذج اللغة بمعرفة محددة بالمجال
- تقييم جودة RAG باستخدام مقاييس معيارية صناعية
- التوسع من النموذج الأولي إلى الإنتاج
-
تحسين أداء النموذج
- قياس أداء نماذج متعددة لحالتك
- قياس التأخير، الإنتاجية، ووقت أول رمز
- اختيار النماذج المثلى بناءً على توازن السرعة والجودة
- مقارنة التوازن بين SLM و LLM في السيناريوهات الواقعية
-
تنسيق أنظمة متعددة الوكلاء
- تصميم وكلاء متخصصين لمهام مختلفة
- تنفيذ ذاكرة الوكلاء وإدارة السياق
- تنسيق الوكلاء في سير عمل معقد
- توجيه الطلبات بذكاء عبر نماذج متعددة
-
نشر حلول جاهزة للإنتاج
- تنفيذ معالجة الأخطاء ومنطق إعادة المحاولة
- مراقبة استخدام الرموز وموارد النظام
- بناء هياكل قابلة للتوسع باستخدام أنماط النموذج كأدوات
- تخطيط مسارات الانتقال من الطرف إلى الهجين (الطرف + السحابة)
🎓 نتائج التعلم
ما الذي ستبنيه؟
بحلول نهاية هذه الورشة، ستكون قد أنشأت:
| الجلسة | النتيجة | المهارات المكتسبة |
|---|---|---|
| 1 | تطبيق محادثة مع تدفق | إعداد الخدمة، الإكمال الأساسي، تجربة المستخدم المتدفقة |
| 2 | نظام RAG مع التقييم | تضمينات، بحث دلالي، مقاييس الجودة |
| 3 | مجموعة قياس أداء متعددة النماذج | قياس الأداء، مقارنة النماذج |
| 4 | مقارنة SLM مقابل LLM | تحليل التوازن، استراتيجيات التحسين |
| 5 | منسق متعدد الوكلاء | تصميم الوكلاء، إدارة الذاكرة، التنسيق |
| 6 | نظام توجيه ذكي | اكتشاف النوايا، اختيار النموذج، التوسع |
مصفوفة الكفاءة
| مستوى المهارة | الجلسة 1-2 | الجلسة 3-4 | الجلسة 5-6 |
|---|---|---|---|
| مبتدئ | ✅ الإعداد والأساسيات | ⚠️ تحدي | ❌ متقدم جدًا |
| متوسط | ✅ مراجعة سريعة | ✅ تعلم أساسي | ⚠️ أهداف ممتدة |
| متقدم | ✅ سهولة المرور | ✅ تحسين | ✅ أنماط الإنتاج |
مهارات جاهزة للعمل
بعد هذه الورشة، ستكون مستعدًا لـ:
✅ بناء تطبيقات أولاً للخصوصية
- تطبيقات الرعاية الصحية التي تتعامل مع PHI/PII محليًا
- خدمات مالية مع متطلبات الامتثال
- أنظمة حكومية مع احتياجات سيادة البيانات
✅ تحسين البيئات الطرفية
- أجهزة إنترنت الأشياء ذات الموارد المحدودة
- تطبيقات الجوال التي تعمل بدون اتصال
- أنظمة الوقت الحقيقي منخفضة التأخير
✅ تصميم هياكل ذكية
- أنظمة متعددة الوكلاء لسير العمل المعقد
- نشرات هجينة طرفية-سحابية
- بنية تحتية للذكاء الاصطناعي محسنة التكلفة
✅ قيادة مبادرات Edge AI
- تقييم جدوى Edge AI للمشاريع
- اختيار النماذج والأطر المناسبة
- تصميم حلول ذكاء اصطناعي محلية قابلة للتوسع
🗺️ هيكل الورشة
نظرة عامة على الجلسات (6 جلسات × 30 دقيقة = 3 ساعات)
| الجلسة | الموضوع | التركيز | المدة |
|---|---|---|---|
| 1 | البدء مع Foundry Local | التثبيت، التحقق، أول إكمال | 30 دقيقة |
| 2 | بناء حلول الذكاء الاصطناعي مع RAG | هندسة المطالبات، التضمينات، التقييم | 30 دقيقة |
| 3 | نماذج المصدر المفتوح | اكتشاف النماذج، قياس الأداء، الاختيار | 30 دقيقة |
| 4 | نماذج متقدمة | SLM مقابل LLM، التحسين، الأطر | 30 دقيقة |
| 5 | وكلاء مدعومون بالذكاء الاصطناعي | تصميم الوكلاء، التنسيق، الذاكرة | 30 دقيقة |
| 6 | النماذج كأدوات | التوجيه، الربط، استراتيجيات التوسع | 30 دقيقة |
🚀 البداية السريعة
المتطلبات الأساسية
متطلبات النظام:
- نظام التشغيل: Windows 10/11، macOS 11+، أو Linux (Ubuntu 20.04+)
- RAM: 8GB كحد أدنى، يفضل 16GB+
- التخزين: مساحة خالية 10GB+ للنماذج
- المعالج: معالج حديث يدعم AVX2
- GPU (اختياري): متوافق مع CUDA أو Qualcomm NPU للتسريع
متطلبات البرمجيات:
- Python 3.8+ (تحميل)
- Microsoft Foundry Local (دليل التثبيت)
- Git (تحميل)
- Visual Studio Code (موصى به) (تحميل)
الإعداد في 3 خطوات
1. تثبيت Foundry Local
Windows:
winget install Microsoft.FoundryLocalmacOS:
brew tap microsoft/foundrylocal
brew install foundrylocalالتحقق من التثبيت:
foundry --version
foundry service statusتأكد من تشغيل Azure AI Foundry Local مع منفذ ثابت
# Set FoundryLocal to use port 58123 (default)
foundry service set --port 58123 --show
# Or use a different port
foundry service set --port 58000 --showالتحقق من العمل:
# Check service status
foundry service status
# Test the endpoint
curl http://127.0.0.1:58123/v1/modelsالعثور على النماذج المتاحة لرؤية النماذج المتاحة في مثيل Foundry Local الخاص بك، يمكنك استعلام نقطة النهاية للنماذج:
# cmd/bash/powershell
foundry model listباستخدام نقطة النهاية على الويب
# Windows PowerShell
powershell -Command "Invoke-RestMethod -Uri 'http://127.0.0.1:58123/v1/models' -Method Get"
# Or using curl (if available)
curl http://127.0.0.1:58123/v1/models2. استنساخ المستودع وتثبيت التبعيات
# Clone repository
git clone https://github.com/microsoft/edgeai-for-beginners.git
cd edgeai-for-beginners/Workshop
# Create virtual environment
python -m venv .venv
# Activate virtual environment
# Windows:
.\.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt3. تشغيل أول نموذج
# Start Foundry Local and load a model
foundry model run phi-4-mini
# Run the chat bootstrap sample
cd samples
python -m session01.chat_bootstrap "What is edge AI?"✅ نجاح! يجب أن ترى استجابة متدفقة حول Edge AI.
📦 موارد الورشة
أمثلة Python
أمثلة عملية تدريجية توضح كل مفهوم:
| الجلسة | المثال | الوصف | وقت التشغيل |
|---|---|---|---|
| 1 | chat_bootstrap.py | محادثة أساسية ومتدفقة | ~30 ثانية |
| 2 | rag_pipeline.py | RAG مع التضمينات | ~45 ثانية |
| 2 | rag_eval_ragas.py | تقييم جودة RAG | ~60 ثانية |
| 3 | benchmark_oss_models.py | قياس أداء متعدد النماذج | ~2-3 دقائق |
| 4 | model_compare.py | مقارنة SLM مقابل LLM | ~45 ثانية |
| 5 | agents_orchestrator.py | نظام متعدد الوكلاء | ~60 ثانية |
| 6 | models_router.py | التوجيه بناءً على النوايا | ~45 ثانية |
| 6 | models_pipeline.py | خط أنابيب متعدد الخطوات | ~60 ثانية |
دفاتر Jupyter
استكشاف تفاعلي مع شروحات ورسوم بيانية:
| الجلسة | الدفتر | الوصف | الصعوبة |
|---|---|---|---|
| 1 | session01_chat_bootstrap.ipynb | أساسيات المحادثة والتدفق | ⭐ مبتدئ |
| 2 | session02_rag_pipeline.ipynb | بناء نظام RAG | ⭐⭐ متوسط |
| 2 | session02_rag_eval_ragas.ipynb | تقييم جودة RAG | ⭐⭐ متوسط |
| 3 | session03_benchmark_oss_models.ipynb | قياس أداء النماذج | ⭐⭐ متوسط |
| 4 | session04_model_compare.ipynb | مقارنة النماذج | ⭐⭐ متوسط |
| 5 | session05_agents_orchestrator.ipynb | تنسيق الوكلاء | ⭐⭐⭐ متقدم |
| 6 | session06_models_router.ipynb | توجيه النوايا | ⭐⭐⭐ متقدم |
| 6 | session06_models_pipeline.ipynb | تنسيق خط الأنابيب | ⭐⭐⭐ متقدم |
الوثائق
أدلة شاملة ومراجع:
| الوثيقة | الوصف | الاستخدام |
|---|---|---|
| QUICK_START.md | دليل الإعداد السريع | البدء من الصفر |
| QUICK_REFERENCE.md | ورقة مرجعية للأوامر وواجهة API | الحاجة إلى إجابات سريعة |
| FOUNDRY_SDK_QUICKREF.md | أنماط ومثال SDK | كتابة الكود |
| ENV_CONFIGURATION.md | دليل متغيرات البيئة | تكوين الأمثلة |
| notebooks/TROUBLESHOOTING.md | المشكلات الشائعة والحلول | تصحيح الأخطاء |
🎓 توصيات مسار التعلم
للمبتدئين (3-4 ساعات)
- ✅ الجلسة 1: البدء (التركيز على الإعداد والمحادثة الأساسية)
- ✅ الجلسة 2: أساسيات RAG (تجاوز التقييم في البداية)
- ✅ الجلسة 3: قياس أداء بسيط (نموذجين فقط)
- ⏭️ تجاوز الجلسات 4-6 الآن
- 🔄 العودة إلى الجلسات 4-6 بعد بناء أول تطبيق
للمطورين المتوسطين (3 ساعات)
- ⚡ الجلسة 1: التحقق السريع من الإعداد
- ✅ الجلسة 2: إكمال خط أنابيب RAG مع التقييم
- ✅ الجلسة 3: مجموعة قياس الأداء الكاملة
- ✅ الجلسة 4: تحسين النموذج
- ✅ الجلسات 5-6: التركيز على أنماط الهيكل
للممارسين المتقدمين (2-3 ساعات)
- ⚡ الجلسات 1-3: مراجعة سريعة والتحقق
- ✅ الجلسة 4: تعمق في التحسين
- ✅ الجلسة 5: هيكل متعدد الوكلاء
- ✅ الجلسة 6: أنماط الإنتاج والتوسع
- 🚀 التوسع: بناء منطق توجيه مخصص ونشرات هجينة
حزمة جلسات الورشة (مختبرات مركزة لمدة 30 دقيقة)
إذا كنت تتبع تنسيق الورشة المكثف المكون من 6 جلسات، استخدم هذه الأدلة المخصصة (كل منها يتوافق مع ويكمل الوثائق العامة أعلاه):
| جلسة الورشة | الدليل | التركيز الأساسي |
|---|---|---|
| 1 | Session01-GettingStartedFoundryLocal | التثبيت، التحقق، تشغيل phi و GPT-OSS-20B، التسريع |
| 2 | Session02-BuildAISolutionsRAG | هندسة المطالبات، أنماط RAG، الربط بـ CSV والمستندات، الترحيل |
| 3 | Session03-OpenSourceModels | تكامل Hugging Face، قياس الأداء، اختيار النموذج |
| 4 | Session04-CuttingEdgeModels | SLM مقابل LLM، WebGPU، Chainlit RAG، تسريع ONNX |
| 5 | Session05-AIPoweredAgents | أدوار الوكلاء، الذاكرة، الأدوات، التنسيق |
| 6 | Session06-ModelsAsTools | التوجيه، الربط، مسار التوسع إلى Azure |
كل ملف جلسة يتضمن: ملخص، أهداف التعلم، عرض توضيحي لمدة 30 دقيقة، مشروع البداية، قائمة التحقق من التحقق، استكشاف الأخطاء وإصلاحها، ومراجع إلى SDK الرسمي لـ Foundry Local Python.
نماذج نصوص
تثبيت متطلبات الورشة (Windows):
cd Workshop
py -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txtmacOS / Linux:
cd Workshop
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtإذا كنت تشغل خدمة Foundry Local على جهاز (Windows) مختلف أو VM من macOS، قم بتصدير نقطة النهاية:
export FOUNDRY_LOCAL_ENDPOINT=http://<windows-host>:5273/v1| الجلسة | النصوص | الوصف |
|---|---|---|
| 1 | samples/session01/chat_bootstrap.py | خدمة التهيئة والدردشة المتدفقة |
| 2 | samples/session02/rag_pipeline.py | RAG بسيط (تضمينات في الذاكرة) |
samples/session02/rag_eval_ragas.py | تقييم RAG باستخدام مقاييس ragas | |
| 3 | samples/session03/benchmark_oss_models.py | قياس زمن الاستجابة والإنتاجية لنماذج متعددة |
| 4 | samples/session04/model_compare.py | مقارنة SLM مقابل LLM (زمن الاستجابة وعينة النتائج) |
| 5 | samples/session05/agents_orchestrator.py | بحث وكيلين → خط تحرير |
| 6 | samples/session06/models_router.py | عرض توجيه يعتمد على النوايا |
samples/session06/models_pipeline.py | سلسلة تخطيط/تنفيذ/تحسين متعددة الخطوات |
متغيرات البيئة (مشتركة بين النماذج)
| المتغير | الغرض | المثال |
|---|---|---|
FOUNDRY_LOCAL_ALIAS | الاسم المستعار الافتراضي لنموذج واحد للنماذج الأساسية | phi-4-mini |
SLM_ALIAS / LLM_ALIAS | نموذج SLM صريح مقابل نموذج أكبر للمقارنة | phi-4-mini / gpt-oss-20b |
BENCH_MODELS | قائمة بالأسماء المستعارة للنماذج لقياس الأداء | qwen2.5-0.5b,mistral-7b |
BENCH_ROUNDS | تكرار قياس الأداء لكل نموذج | 3 |
BENCH_PROMPT | النص المستخدم في قياس الأداء | Explain retrieval augmented generation briefly. |
EMBED_MODEL | نموذج تضمين sentence-transformers | sentence-transformers/all-MiniLM-L6-v2 |
RAG_QUESTION | تجاوز استعلام الاختبار لخط أنابيب RAG | Why use RAG with local inference? |
AGENT_QUESTION | تجاوز استعلام خط أنابيب الوكلاء | Explain why edge AI matters for compliance. |
AGENT_MODEL_PRIMARY | الاسم المستعار لنموذج وكيل البحث | phi-4-mini |
AGENT_MODEL_EDITOR | الاسم المستعار لنموذج وكيل التحرير (يمكن أن يختلف) | gpt-oss-20b |
SHOW_USAGE | عند 1، يعرض استخدام الرموز لكل إكمال | 1 |
RETRY_ON_FAIL | عند 1، يعيد المحاولة مرة واحدة عند حدوث أخطاء مؤقتة في الدردشة | 1 |
RETRY_BACKOFF | الثواني للانتظار قبل إعادة المحاولة | 1.0 |
إذا لم يتم تعيين متغير، فإن النصوص تعتمد على الإعدادات الافتراضية المعقولة. بالنسبة للعروض التوضيحية لنموذج واحد، عادةً ما تحتاج فقط إلى FOUNDRY_LOCAL_ALIAS.
وحدة الأدوات
تشارك جميع النماذج الآن مساعدًا samples/workshop_utils.py يوفر:
- إنشاء مخبأ لـ
FoundryLocalManager+ عميل OpenAI - مساعد
chat_once()مع خيار إعادة المحاولة + طباعة الاستخدام - تقرير بسيط عن استخدام الرموز (تمكين عبر
SHOW_USAGE=1)
هذا يقلل من التكرار ويبرز أفضل الممارسات لتنسيق النماذج المحلية بكفاءة.
تحسينات اختيارية (عبر الجلسات)
| الموضوع | التحسين | الجلسات | البيئة / التبديل |
|---|---|---|---|
| الحتمية | درجة حرارة ثابتة + مجموعات نصوص مستقرة | 1–6 | تعيين temperature=0, top_p=1 |
| رؤية استخدام الرموز | تعليم التكلفة/الكفاءة بشكل متسق | 1–6 | SHOW_USAGE=1 |
| بث الرمز الأول | مقياس زمن الاستجابة المدرك | 1,3,4,6 | BENCH_STREAM=1 (قياس الأداء) |
| مرونة إعادة المحاولة | معالجة بدء التشغيل البارد المؤقت | الكل | RETRY_ON_FAIL=1 + RETRY_BACKOFF |
| وكلاء متعدد النماذج | تخصص الأدوار المتغاير | 5 | AGENT_MODEL_PRIMARY, AGENT_MODEL_EDITOR |
| التوجيه التكيفي | النوايا + تكاليف الاستدلال | 6 | تمديد الموجه بمنطق التصعيد |
| ذاكرة المتجهات | استدعاء دلالي طويل الأمد | 2,5,6 | دمج FAISS/Chroma تضمين الفهرس |
| تصدير التتبع | التدقيق والتقييم | 2,5,6 | إضافة خطوط JSON لكل خطوة |
| معايير الجودة | تتبع نوعي | 3–6 | مطالبات تسجيل ثانوية |
| اختبارات الدخان | التحقق السريع قبل الورشة | الكل | python Workshop/tests/smoke.py |
البدء السريع الحتمي
set FOUNDRY_LOCAL_ALIAS=phi-4-mini
set SHOW_USAGE=1
python Workshop\tests\smoke.pyتوقع عدد رموز ثابت عبر إدخالات متطابقة متكررة.
تقييم RAG (الجلسة 2)
استخدم rag_eval_ragas.py لحساب مدى ملاءمة الإجابة، الدقة، ودقة السياق على مجموعة بيانات صناعية صغيرة:
cd Workshop/samples
python -m session02.rag_eval_ragasقم بالتوسيع عن طريق توفير JSONL أكبر للأسئلة، السياقات، والحقائق الأساسية، ثم تحويلها إلى Dataset من Hugging Face.
ملحق دقة أوامر CLI
تستخدم الورشة فقط أوامر CLI الموثقة / المستقرة حاليًا لـ Foundry Local.
الأوامر المستقرة المشار إليها
| الفئة | الأمر | الغرض |
|---|---|---|
| الأساسية | foundry --version | عرض الإصدار المثبت |
| الخدمة | foundry service start | بدء الخدمة المحلية (إذا لم تكن تلقائية) |
| الخدمة | foundry service status | عرض حالة الخدمة |
| النماذج | foundry model list | قائمة الكتالوج / النماذج المتاحة |
| النماذج | foundry model download <alias> | تنزيل أوزان النموذج إلى المخبأ |
| النماذج | foundry model run <alias> | تشغيل (تحميل) نموذج محليًا؛ الجمع مع --prompt لجلسة واحدة |
| النماذج | foundry model unload <alias> / foundry model stop <alias> | تفريغ نموذج من الذاكرة (إذا كان مدعومًا) |
| المخبأ | foundry cache list | قائمة النماذج المخزنة (التي تم تنزيلها) |
نمط النص الواحد
بدلاً من الأمر الفرعي model chat المهمل، استخدم:
foundry model run <alias> --prompt "Your question here"هذا ينفذ دورة نص/استجابة واحدة ثم يخرج.
الأنماط المحذوفة / المتجنبة
| مهمل / غير موثق | البديل / التوجيه |
|---|---|
foundry model chat <model> "..." | foundry model run <model> --prompt "..." |
foundry model list --running | استخدم foundry model list العادي + النشاط الأخير / السجلات |
foundry model list --cached | foundry cache list |
foundry model stats <model> | استخدم نص قياس الأداء Python + أدوات النظام (مدير المهام / nvidia-smi) |
foundry model benchmark ... | samples/session03/benchmark_oss_models.py |
قياس الأداء والقياسات
- زمن الاستجابة، p95، الرموز/الثانية:
samples/session03/benchmark_oss_models.py - زمن استجابة الرمز الأول (البث): تعيين
BENCH_STREAM=1 - استخدام الموارد: مراقبات النظام (مدير المهام، مراقب النشاط،
nvidia-smi).
مع استقرار أوامر القياسات CLI الجديدة، يمكن دمجها مع تعديلات بسيطة على ملفات الجلسة.
الحارس التلقائي للتنسيق
يمنع مدقق تلقائي إعادة إدخال أنماط CLI المهملة داخل كتل التعليمات البرمجية المسورة لملفات Markdown:
النص: Workshop/scripts/lint_markdown_cli.py
يتم حظر الأنماط المهملة داخل أسوار التعليمات البرمجية.
البدائل الموصى بها:
| مهمل | البديل |
|---|---|
foundry model chat <a> "..." | foundry model run <a> --prompt "..." |
model list --running | model list |
model list --cached | cache list |
model stats | نص قياس الأداء + أدوات النظام |
model benchmark | samples/session03/benchmark_oss_models.py |
model list --available | model list |
تشغيل محليًا:
python Workshop\scripts\lint_markdown_cli.py --verboseإجراء GitHub: .github/workflows/markdown-cli-lint.yml يتم تشغيله عند كل دفع & PR.
خطاف اختياري قبل الالتزام:
echo "python Workshop/scripts/lint_markdown_cli.py" > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commitجدول الهجرة السريع من CLI إلى SDK
| المهمة | أمر CLI | المكافئ في SDK (Python) | الملاحظات |
|---|---|---|---|
| تشغيل نموذج مرة واحدة (النص) | foundry model run phi-4-mini --prompt "Hello" | manager=FoundryLocalManager("phi-4-mini"); client=OpenAI(base_url=manager.endpoint, api_key=manager.api_key or "not-needed"); client.chat.completions.create(model=manager.get_model_info("phi-4-mini").id, messages=[{"role":"user","content":"Hello"}]) | SDK يقوم بتشغيل الخدمة والمخبأ تلقائيًا |
| تنزيل (مخبأ) النموذج | foundry model download qwen2.5-0.5b | FoundryLocalManager("qwen2.5-0.5b") # triggers download/load | المدير يختار أفضل إصدار إذا كان الاسم المستعار يطابق عدة إصدارات |
| قائمة الكتالوج | foundry model list | # use manager for each alias or maintain known list | CLI يجمع؛ SDK حاليًا لكل اسم مستعار |
| قائمة النماذج المخزنة | foundry cache list | manager.list_cached_models() | بعد تهيئة المدير (أي اسم مستعار) |
| الحصول على عنوان URL لنقطة النهاية | (ضمنيًا) | manager.endpoint | يستخدم لإنشاء عميل متوافق مع OpenAI |
| تسخين نموذج | foundry model run <alias> ثم النص الأول | chat_once(alias, messages=[...]) (الأداة) | الأدوات تتعامل مع تسخين زمن الاستجابة الأولي البارد |
| قياس زمن الاستجابة | python -m session03.benchmark_oss_models | import benchmark_oss_models (أو نص التصدير الجديد) | يفضل النص للحصول على قياسات متسقة |
| إيقاف / تفريغ النموذج | foundry model unload <alias> | (غير مكشوف – إعادة تشغيل الخدمة / العملية) | عادةً غير مطلوب لتدفق الورشة |
| استرداد استخدام الرموز | (عرض الإخراج) | resp.usage.total_tokens | يتم توفيره إذا أعاد الخلفية كائن الاستخدام |
تصدير Markdown لقياس الأداء
استخدم النص Workshop/scripts/export_benchmark_markdown.py لتشغيل قياس أداء جديد (نفس المنطق مثل samples/session03/benchmark_oss_models.py) وإصدار جدول Markdown مناسب لـ GitHub بالإضافة إلى JSON الخام.
مثال
python Workshop\scripts\export_benchmark_markdown.py --models "qwen2.5-0.5b,mistral-7b" --prompt "Explain retrieval augmented generation briefly." --rounds 3 --output benchmark_report.mdالملفات المولدة:
| الملف | المحتويات |
|---|---|
benchmark_report.md | جدول Markdown + تلميحات التفسير |
benchmark_report.json | مصفوفة القياسات الخام (للتتبع / تتبع الاتجاهات) |
قم بتعيين BENCH_STREAM=1 في البيئة لتضمين زمن استجابة الرمز الأول إذا كان مدعومًا.
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.
