ما هو SGLang؟
SGLang هو إطار عمل مجاني، مرخّص بموجب Apache 2.0، لخدمة النماذج اللغوية الكبيرة ونماذج الرؤية واللغة. نشأ من أبحاث مرتبطة بـجامعة كاليفورنيا في بيركلي وستانفورد ومنظمة LMSYS — المجتمع نفسه الذي يدير Chatbot Arena — ويُطوَّر اليوم تحت منظمة sgl-project على GitHub. على عكس الأدوات المبنية أساسًا لمستخدم واحد يتحدث محليًا مع نموذج، يستهدف SGLang مشكلتين متداخلتين: خدمة عدد كبير من الطلبات المتزامنة بكفاءة، وضمان أن مخرجات النموذج تلتزم بصيغة مُهيكلة مثل JSON، وهو أمر مهم لاستدعاء الدوال، وخطوط معالجة العوامل الذكية، ومخرجات أخرى تستهلكها الآلات.
- نشأ من أبحاث مرتبطة بـجامعة كاليفورنيا في بيركلي وستانفورد وLMSYS؛ يُطوَّر اليوم تحت منظمة
sgl-projectمفتوحة المصدر - مرخّص بموجب Apache 2.0: الشيفرة المصدرية متاحة للجمهور للاستخدام والتعديل وإعادة التوزيع وفق شروط الرخصة
- يجمع بين لغة DSL أمامية مضمّنة في Python لكتابة برامج النماذج اللغوية وبيئة تشغيل خلفية مصممة بالتوازي معها (SGLang Runtime، وغالبًا ما تُختصر SRT)
- يحمّل نقاط تفتيش نماذج متوافقة مع Hugging Face Transformers، ويغطي عائلات نماذج تشمل Llama وQwen وMistral وDeepSeek دون خطوة تحويل منفصلة لمعظم النماذج
- يوثّق عمليات نشر إنتاجية تولّد كميات كبيرة من الرموز يوميًا، ويذكر في مواده الخاصة عدة شركات ومؤسسات بحثية باعتبارها من مستخدميه
ما هو RadixAttention، ولماذا يهم؟
RadixAttention هي تقنية إدارة الذاكرة التي اشتُهر بها SGLang. تُصدر العديد من أحمال عمل النماذج اللغوية الحقيقية استدعاءات توليد متعددة تتشارك بادئة مشتركة — نفس موجّه النظام في كل طلب، ونفس الأمثلة القليلة اللقطات، أو أدوار سابقة في محادثة جارية. تؤدي إعادة حساب ذاكرة المفتاح والقيمة (KV) الخاصة بالانتباه لتلك البادئة المشتركة في كل استدعاء إلى إهدار حوسبة وذاكرة وحدة معالجة الرسوميات. بدلاً من ذلك، يخزّن RadixAttention إدخالات ذاكرة KV لكل من الطلبات المكتملة والجارية في شجرة راديكس — بنية شجرية مفهرسة بتسلسلات الرموز — بحيث يمكن لطلب جديد إيجاد وإعادة استخدام الذاكرة المؤقتة لأي بادئة يتشاركها مع طلبات سابقة تلقائيًا، دون أن يضطر المطور لتتبّع أو إدارة إعادة الاستخدام هذه يدويًا.
- يطابق ويعيد استخدام إدخالات ذاكرة KV تلقائيًا عبر الطلبات التي تتشارك بادئة تسلسل رموز، باستخدام بنية بيانات شجرة راديكس
- يغطي البادئات الناتجة عن موجّهات نظام متكررة، وأمثلة قليلة اللقطات مشتركة، وسجل محادثة متعدد الأدوار — وليس فقط الطلب الفردي نفسه المكرر حرفيًا
- يطبّق سياسة إخلاء الأقل استخدامًا مؤخرًا (LRU) على شجرة الراديكس بحيث يمكن استرجاع ذاكرة التخزين المؤقت وإعادة استخدامها مع نمو الشجرة
- يعمل جنبًا إلى جنب مع التجميع المستمر وتخصيص ذاكرة KV المُقسّمة على شكل صفحات وكتل، ما يتيح لـSGLang إضافة الطلبات وإزالتها من دفعة جارية أثناء وصولها واكتمالها
ماذا تفعل لغة الواجهة الأمامية والمخرجات المُهيكلة فعليًا؟
إلى جانب الخدمة الأساسية، يوفر SGLang قدرتين مرتبطتين ولكن منفصلتين: لغة واجهة أمامية مضمّنة في Python لكتابة برامج النماذج اللغوية، وفرض صيغ المخرجات المُهيكلة على مستوى المحرك.
لغة الواجهة الأمامية
يوفر SGLang عناصر بدائية في Python — بما في ذلك sgl.gen للتوليد، وsgl.select للاختيار من مجموعة ثابتة من الخيارات، وsgl.fork للتفرّع إلى مسارات توليد متوازية — تتيح للمطور التعبير عن برنامج نموذج لغوي متعدد الخطوات (على سبيل المثال: توليد خطة، ثم التفرّع إلى عدة توليدات فرعية متوازية، ثم دمج النتائج) كشيفرة Python عادية، مع تولّي بيئة التشغيل معالجة التجميع وإعادة استخدام الذاكرة المؤقتة عبر الفروع تلقائيًا.
المخرجات المُهيكلة على مستوى المحرك
عندما يحدد طلب مخطط JSON أو تعبيرًا نمطيًا يجب أن تتطابق معه المخرجات، يفرض SGLang هذا القيد داخل حلقة فك الترميز عبر إخفاء احتمالات (logits) أي رمز من شأنه انتهاك المخطط أو النمط في تلك الخطوة — بدلاً من توليد نص غير مقيد ثم التحقق منه أو إعادة المحاولة لاحقًا. يوثّق المشروع تمثيلاً داخليًا لآلة حالات منتهية مضغوطة لهذه القيود، مصمم للسماح للمحرك بفك ترميز عدة رموز في تمريرة أمامية واحدة عندما يحدد القيد بشكل قاطع ما يأتي بعد ذلك.
ما العتاد الذي يحتاجه SGLang؟
الهدف الأساسي والأفضل دعمًا لـSGLang هو وحدات معالجة الرسوميات NVIDIA، وتعمل غالبية عمليات النشر الإنتاجية الموصوفة في مواد المشروع الخاصة على عتاد NVIDIA. يوثّق المشروع أيضًا محركات خلفية إضافية، رغم أن التغطية والاعتماد الفعلي ليسا متساويين في جميعها.
وحدات معالجة الرسوميات NVIDIA (CUDA)
- التفاصيل:
- الهدف الأساسي والأكثر نضجًا، ويمتد من وحدات معالجة رسوميات مراكز البيانات إلى بطاقات المستهلك/محطات العمل الحديثة. الخدمة الموازية الموترية عبر عدة وحدات معالجة رسوميات NVIDIA موثقة جيدًا.
وحدات معالجة الرسوميات AMD (ROCm)
- التفاصيل:
- موثّق كمحرك خلفي مدعوم لمسرّعات AMD Instinct عبر ROCm، مع اعتماد فعلي وتغطية مجتمعية أضيق من مسار CUDA.
معالجات Intel Xeon ومسرّعات Gaudi
- التفاصيل:
- محركات خلفية إضافية يوثقها المشروع لعتاد Intel؛ يُنظر إليها كمسار نشر أصغر وأقل اختبارًا مقارنة بوحدات معالجة الرسوميات NVIDIA.
وحدات TPU من Google ومعالجات Ascend NPU
- التفاصيل:
- محركات خلفية موثقة موجهة للفرق التي تعمل بالفعل على بنية تحتية Google Cloud TPU أو Huawei Ascend.
Apple Silicon (Mac)
- التفاصيل:
- ليس مسارًا رسميًا من الدرجة الأولى مدعومًا بشكل رسمي. SGLang مبني حول عتاد مراكز البيانات ومحطات العمل المعتمد على وحدات معالجة الرسوميات، وليس للاستخدام المحلي على جهاز Mac واحد.
إذا كان هدفك تشغيل نموذج على جهاز Mac واحد أو جهاز يعتمد على المعالج المركزي فقط، فإن SGLang ليس الأداة المصممة لذلك — llama.cpp والأدوات المبنية عليه، مثل Ollama وLM Studio، تستهدف مباشرة عتاد المعالج المركزي وApple Silicon وهي أنسب لهذا السيناريو.
ما صيغ التكميم التي يدعمها SGLang؟
يدعم SGLang خدمة النماذج بدقة عددية مخفّضة لتقليل استخدام الذاكرة، وفي كثير من الحالات زيادة الإنتاجية، ويوثّق عدة صيغ تكميم راسخة.
FP8
- التفاصيل:
- دقة فاصلة عائمة بـ8 بتات، مدعومة على أجيال وحدات معالجة الرسوميات NVIDIA التي تدعم FP8 بالعتاد، مقايضةً بعض الدقة مقابل استخدام أقل للذاكرة وتنفيذ أسرع من FP16/BF16.
FP4
- التفاصيل:
- صيغة فاصلة عائمة أحدث وأقل دقة، يوثقها المشروع لأحدث جيل من عتاد NVIDIA الذي يدعمها.
AWQ
- التفاصيل:
- Activation-aware Weight Quantization، طريقة تكميم أوزان بـ4 بتات واسعة الاستخدام، مع نماذج مُكمَّمة مسبقًا ينشرها المجتمع على Hugging Face.
GPTQ
- التفاصيل:
- طريقة تكميم لاحقة للتدريب توزَّع عادة كنقاط تفتيش مُكمَّمة مسبقًا، وتُشغَّل أيضًا عادة بدقة 4 بتات.
INT4
- التفاصيل:
- مسار تكميم عددي صحيح أقل دقة، يوثقه المشروع إلى جانب AWQ وGPTQ لمزيد من تقليل الذاكرة.
لا يتضمن هذا المقال أرقامًا مقاسة بشكل مستقل لفقدان الجودة لكل صيغة — فهذه تتفاوت حسب بنية النموذج والمهمة، لذا فإن مقارنة مخرجات بضع صيغ على موجّهاتك الخاصة هي الطريقة الأكثر موثوقية للحكم على المقايضة المناسبة لحِمل عملك.
ماذا يوفر خادم SGLang المتوافق مع OpenAI؟
يؤدي تشغيل python -m sglang.launch_server إلى تشغيل خادم HTTP ينفّذ بروتوكول واجهة برمجة تطبيقات OpenAI، بحيث يمكن للتطبيقات وحِزم SDK المبنية بالفعل على واجهة برمجة تطبيقات OpenAI غالبًا الإشارة إلى نسخة SGLang مستضافة ذاتيًا بمجرد تغيير عنوان URL الأساسي واسم النموذج.
- نقاط نهاية إكمال الدردشة والإكمال المتوافقة مع OpenAI، قابلة للاستخدام كبديل مباشر لشيفرة العميل المعتمدة على واجهة برمجة تطبيقات OpenAI
- مضيف ومنفذ قابلان للتهيئة (غالبًا
http://localhost:30000في أمثلة المشروع الخاصة) - معلمات مخرجات مُهيكلة على مستوى الطلب لتوليد مقيّد بمخطط JSON أو تعبير نمطي، متاحة عبر واجهة البرمجة
- أعلام محرك لحجم التوازي الموتري، وتخصيص الذاكرة، وصيغة التكميم، تُحدَّد عند بدء تشغيل الخادم
- دعم لخدمة عدة محولات LoRA فوق نموذج أساسي واحد محمَّل
كيف تثبّت وتشغّل SGLang؟
يُوزَّع SGLang كحزمة Python، ويُثبَّت عادة في بيئة Python تحتوي على وحدة معالجة رسوميات NVIDIA وتعريفات CUDA متوافقة متاحة.
- 1تأكد من وجود وحدة معالجة رسوميات NVIDIA مدعومة مع تعريفات CUDA حديثة مثبَّتة (أو راجع وثائق المشروع للحصول على تعليمات تثبيت خاصة بـAMD/Intel/TPU إذا كنت تستهدف أحد هذه المحركات الخلفية).
- 2أنشئ بيئة Python افتراضية، ثم ثبّت SGLang، على سبيل المثال: `pip install "sglang[all]"`.
- 3شغّل الخادم المتوافق مع OpenAI بنموذج من Hugging Face، على سبيل المثال:
python -m sglang.launch_server --model-path meta-llama/Llama-3.1-8B-Instruct --host 127.0.0.1 --port 30000. - 4أرسل طلب دردشة أساسيًا بأي عميل متوافق مع واجهة برمجة تطبيقات OpenAI، مثل حزمة Python
openaiمع توجيهها إلىbase_url="http://127.0.0.1:30000/v1". - 5للحصول على استجابة مقيّدة بـJSON، مرّر مخطط JSON في معلمات المخرجات المُهيكلة للطلب بحيث يفرض الخادم المخطط أثناء فك الترميز بدلاً من مجرد طلب JSON في الموجّه.
- 6للخدمة متعددة وحدات معالجة الرسوميات، أضف علم توازٍ موتري، مثل
--tp-size 2لتقسيم النموذج على وحدتي معالجة رسوميات. - 7وجّه شيفرة عميل واجهة برمجة تطبيقات OpenAI الحالية إلى خادمك المستضاف ذاتيًا بتغيير عنوان URL الأساسي واسم النموذج فقط.
هل أحتاج إلى وحدة معالجة رسوميات لتشغيل SGLang؟
نعم، لأي استخدام يتجاوز الاختبار — الهدف الأساسي والأفضل دعمًا لـSGLang هو وحدات معالجة الرسوميات NVIDIA. يوثّق المشروع محركات خلفية أخرى للمسرّعات، لكنها ليست مسار النشر الأساسي.
هل يمكنني الحصول على مخرجات JSON مضمونة من SGLang؟
نعم — مرّر مخطط JSON في معلمات المخرجات المُهيكلة لطلبك، ويفرضه SGLang أثناء فك الترميز عبر إخفاء الرموز التي قد تنتهك المخطط، بدلاً من مجرد الطلب من النموذج إنتاج JSON في الموجّه.
كيف يقارن SGLang بـvLLM؟
SGLang وvLLM هما محركا خدمة النماذج اللغوية مفتوحا المصدر المعتمدان على وحدات معالجة الرسوميات الأكثر نقاشًا، وكلاهما مرخّص بموجب Apache 2.0 ويستهدف الخدمة الإنتاجية متعددة المستخدمين بدلاً من دردشة سطح المكتب أحادية المستخدم. ينشر كلا المشروعين اختبارات أداء تُظهرهما بصورة أفضل مقارنة بالآخر؛ لا يفصل هذا المقال في هذه المقارنة، بل يصف التصميم والادعاءات الموثقة لكل مشروع.
تقنية الذاكرة المؤقتة الرئيسية
- SGLang:
- RadixAttention — إعادة استخدام تلقائية لذاكرة KV قائمة على شجرة راديكس عبر الطلبات التي تتشارك أي بادئة.
- vLLM:
- PagedAttention — كتل ذاكرة KV بحجم صفحة، غير متجاورة، تقلل من إهدار الذاكرة الناتج عن تخصيصات محجوزة بإفراط.
المخرجات المُهيكلة
- SGLang:
- فرض مخطط JSON والتعبيرات النمطية على مستوى المحرك ميزة أساسية موثقة بشكل كبير، مبنية على آلة حالات منتهية مضغوطة.
- vLLM:
- يدعم أيضًا فك الترميز المُهيكل/الموجَّه عبر محركات خلفية للقواعد النحوية المتكاملة، موثقة كجزء من مجموعة ميزاته الأوسع وليست الميزة الرئيسية.
نموذج البرمجة
- SGLang:
- يشمل، إلى جانب خادم واجهة البرمجة، لغة DSL أمامية مضمّنة في Python (
sgl.gen،sgl.select،sgl.fork) لبرامج النماذج اللغوية متعددة الاستدعاءات. - vLLM:
- يُستخدم بشكل أساسي كخادم واجهة برمجة تطبيقات أو استدعاء مكتبة Python؛ لا يشمل لغة DSL مماثلة لكتابة البرامج.
المنشأ
- SGLang:
- أبحاث مرتبطة بجامعة كاليفورنيا في بيركلي وستانفورد ومنظمة LMSYS التي تدير Chatbot Arena.
- vLLM:
- نشأ في Sky Computing Lab التابع لـجامعة كاليفورنيا في بيركلي.
ادعاءات الإنتاجية
- SGLang:
- ينشر اختبارات أداء الإصدارات مستشهدًا بمضاعفات لـRadixAttention وفك ترميز JSON على أحمال عمل محددة.
- vLLM:
- ينشر اختبارات أداء إصداراته الخاصة؛ يصف الأساس المنطقي لكفاءة الذاكرة في PagedAttention بدلاً من رقم سرعة عام وحيد.
لا ينبغي اعتبار أي اختبار أداء تسويقي من أي من المحركين حكمًا محايدًا — فكلاهما أجراه المشروع الذي حقق النتيجة الأكثر تفضيلاً له، على أحمال عمل اختارها ذلك المشروع. إذا كانت الإنتاجية عاملاً حاسمًا في قرارك، فإن اختبار كلا المحركين بنموذجك وعتادك ونمط حركة المرور الخاص بك أكثر موثوقية من رقم أي مقال واحد، بما في ذلك هذا المقال.
كيف يقارن SGLang بـllama.cpp وTensorRT-LLM؟
يقع SGLang وllama.cpp وTensorRT-LLM في نقاط مختلفة على طيف المرونة العتادية مقابل التحسين الأقصى.
SGLang
- التفاصيل:
- مرخّص بموجب Apache 2.0، مبني بلغة Python، ومبني حول RadixAttention والمخرجات المُهيكلة على مستوى المحرك. يحمّل نماذج متوافقة مع Hugging Face Transformers مباشرة؛ وحدات معالجة الرسوميات NVIDIA هي الهدف الأساسي، مع محركات خلفية إضافية موثقة.
مقالات حول SGLang (5)
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Modelsمحدَّث ٢٠ سبتمبر ٢٠٢٦
- NVIDIA Dynamo Review: Datacenter-Scale Inference Servingمحدَّث ١٩ سبتمبر ٢٠٢٦
- GPUStack Review: Open-Source GPU Cluster Manager for Local AIمحدَّث ١٢ سبتمبر ٢٠٢٦
- Kilo Code Review: The Open-Source Coding Agent Now Owned by Anacondaمحدَّث ١٢ سبتمبر ٢٠٢٦
- Text-Generation-WebUI vs vLLM vs llama.cpp in 2026: Inference Engine Comparisonمحدَّث ٢٩ أغسطس ٢٠٢٦
مذكور أيضًا في:
- Locally Uncensored Review: Local Chat, Image, and Video in One Appمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Run a 70B LLM Locally 2026: RAM, VRAM & Speed by Hardwareمحدَّث ٢٣ أكتوبر ٢٠٢٦
- AIClient2API Review: One Local Proxy for Every AI Protocolمحدَّث ١٩ سبتمبر ٢٠٢٦
- LMDeploy Review: High-Throughput LLM Serving and Quantizationمحدَّث ١٩ سبتمبر ٢٠٢٦
+1 أخرى غير معروضة
llama.cpp
- التفاصيل:
- محرك استدلال بلغة C/C++ مرخّص بموجب MIT، مبني حول صيغة نموذج GGUF، ويعمل على المعالج المركزي وApple Silicon ووحدات معالجة الرسوميات. يستهدف النشر على جهاز واحد وفي الحافة بدلاً من عناقيد إنتاج متعددة وحدات معالجة الرسوميات.
مقالات حول llama.cpp (10)
- llama.cpp Explained: The Engine Powering Ollama (2026)محدَّث ٢٠ سبتمبر ٢٠٢٦
- GPT4All Review: Free Offline AI Chat App by Nomic AIمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Locally Uncensored Review: Local Chat, Image, and Video in One Appمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Subtitle Edit Review: Local Whisper Transcription and Auto-Translateمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Run a 70B LLM Locally 2026: RAM, VRAM & Speed by Hardwareمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best AMD GPU for Local LLMs and AI Inferenceمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best CPU-Only Local LLM 2026: 5 Models, No GPU Neededمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best Local AI Apps for Low-End PCs in 2026 (8GB RAM, No GPU)محدَّث ٢٣ أكتوبر ٢٠٢٦
- Best Local AI Apps for iPhone in 2026 (Run LLMs Without WiFi)محدَّث ٢٣ أكتوبر ٢٠٢٦
- Llamatik Review: Free Open-Source Offline AI Chatbot for Android, iPhone and Desktopمحدَّث ٢٣ أكتوبر ٢٠٢٦
+167 أخرى غير معروضة
TensorRT-LLM
- التفاصيل:
- محرك NVIDIA، مبني خصيصًا لوحدات معالجة الرسوميات NVIDIA. تُجمَّع النماذج مسبقًا في محرك TensorRT مُحسَّن لوحدة معالجة الرسوميات المستهدفة، ما قد يحقق أداءً قويًا على ذلك العتاد المحدد مقابل خطوة تجميع ومرونة أقل بين العتادات مقارنة بـSGLang.
مقالات حول TensorRT-LLM (6)
- TensorRT-LLM Explained: NVIDIA's GPU-Optimized Inference Engine (2026)محدَّث ٦ سبتمبر ٢٠٢٦
- NVIDIA Dynamo Review: Datacenter-Scale Inference Servingمحدَّث ١٩ سبتمبر ٢٠٢٦
- GPUStack Review: Open-Source GPU Cluster Manager for Local AIمحدَّث ١٢ سبتمبر ٢٠٢٦
- vLLM Explained: High-Throughput LLM Serving with PagedAttention (2026)محدَّث ٦ سبتمبر ٢٠٢٦
- text-generation-webui in 2026: How Oobabooga's Local LLM UI Became "TextGen"محدَّث ٥ سبتمبر ٢٠٢٦
- Enterprise LLM Inference Servers 2026: vLLM vs TGI vs NVIDIA NIM vs Ollamaمحدَّث ٢ سبتمبر ٢٠٢٦
مذكور أيضًا في:
- Apple MLX vs NVIDIA CUDA for Local LLMs: Which System Should You Choose in 2026?محدَّث ٢٥ سبتمبر ٢٠٢٦
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Modelsمحدَّث ٢٠ سبتمبر ٢٠٢٦
- LMDeploy Review: High-Throughput LLM Serving and Quantizationمحدَّث ١٩ سبتمبر ٢٠٢٦
+1 أخرى غير معروضة
لم يقارن هذا المقال هذه المحركات الثلاثة ببعضها بشكل مستقل ولا يزعم أن أحدها أسرع عالميًا — تعتمد الإنتاجية بشكل كبير على النموذج والعتاد وخصائص الدفعة وإصدار كل محرك. راجع دليل خوادم الاستدلال المؤسسية لمقارنة موجهة نحو النشر تغطي أيضًا vLLM وTGI وNVIDIA NIM.
لمن يناسب SGLang؟
يناسب SGLang الفرق التي تخدم نموذجًا لعدد كبير من المستخدمين أو التطبيقات المتزامنة على بنية تحتية لوحدات معالجة الرسوميات — خاصة أحمال العمل ذات بادئات الموجّهات المتكررة أو ذات المتطلب الصارم للمخرجات المُهيكلة — وليس الأشخاص الباحثين عن أسرع طريقة للدردشة مع نموذج على حاسوبهم الخاص.
استخدم SGLang إذا
- كنت تنشر نموذجًا لغويًا خلف واجهة برمجة تطبيقات سيستدعيها عدد كبير من المستخدمين أو الخدمات التابعة بشكل متزامن، خاصة مع موجّهات نظام متكررة أو أمثلة قليلة اللقطات أو محادثات متعددة الأدوار
- كان تطبيقك يتطلب مخرجات مضمونة الالتزام بمخطط JSON أو تعبير نمطي — استدعاء دوال، أو عوامل ذكية تستخدم أدوات، أو استخراج بيانات مُهيكلة
- أردت كتابة برامج نماذج لغوية متعددة الخطوات (توليدات متفرعة، استدعاءات فرعية متوازية) باستخدام لغة DSL مضمّنة في Python بدلاً من تنسيق استدعاءات واجهة برمجة تطبيقات منفصلة بنفسك
- كان لديك إمكانية الوصول إلى وحدة معالجة رسوميات NVIDIA واحدة أو أكثر (أو نشر مدعوم من AMD/Intel/TPU) وأردت خادم واجهة برمجة تطبيقات متوافق مع OpenAI تستضيفه بنفسك
- كنت مرتاحًا مع بيئة Python، والتهيئة عبر سطر الأوامر، وإعداد وحدة معالجة الرسوميات/CUDA
تجنّب SGLang إذا
- أردت تشغيل نموذج على حاسوبك المحمول أو المكتبي الخاص لدردشة شخصية أحادية المستخدم — فإن Ollama أو LM Studio أنسب بكثير لهذه الحاجة
- لم يكن لديك وحدة معالجة رسوميات مدعومة — فSGLang ليس مبنيًا حول عتاد المعالج المركزي فقط أو Apple Silicon كما هو حال llama.cpp أو Ollama
- أردت واجهة رسومية بالنقر بدلاً من خادم واجهة برمجة تطبيقات، ولغة DSL بـPython، وأعلام سطر أوامر
- كان حِمل عملك خاليًا من بادئات موجّهات متكررة ومن متطلب مخرجات مُهيكلة — في هذه الحالة، لا يقدم RadixAttention وفك الترميز المقيّد أي ميزة تُذكر مقارنة بأي محرك خدمة آخر
SGLang مقابل البدائل بلمحة سريعة
تقع هذه الأدوات في نقاط مختلفة على طيف المستخدم الواحد مقابل الخدمة الإنتاجية، وطيف الإنتاجية مقابل التركيز على المخرجات المُهيكلة.
SGLang
- الواجهة والإعداد:
- حزمة Python؛ خادم واجهة برمجة تطبيقات متوافق مع OpenAI يُشغَّل بـ
python -m sglang.launch_server. يتطلب وحدة معالجة رسوميات NVIDIA وCUDA في معظم عمليات النشر. - الأنسب لـ:
- خدمة عالية التزامن على وحدات معالجة الرسوميات مع إعادة استخدام مكثفة للبادئات و/أو متطلب صارم لمخرجات مُهيكلة (JSON/تعبيرات نمطية).
مقالات حول SGLang (5)
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Modelsمحدَّث ٢٠ سبتمبر ٢٠٢٦
- NVIDIA Dynamo Review: Datacenter-Scale Inference Servingمحدَّث ١٩ سبتمبر ٢٠٢٦
- GPUStack Review: Open-Source GPU Cluster Manager for Local AIمحدَّث ١٢ سبتمبر ٢٠٢٦
- Kilo Code Review: The Open-Source Coding Agent Now Owned by Anacondaمحدَّث ١٢ سبتمبر ٢٠٢٦
- Text-Generation-WebUI vs vLLM vs llama.cpp in 2026: Inference Engine Comparisonمحدَّث ٢٩ أغسطس ٢٠٢٦
مذكور أيضًا في:
- Locally Uncensored Review: Local Chat, Image, and Video in One Appمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Run a 70B LLM Locally 2026: RAM, VRAM & Speed by Hardwareمحدَّث ٢٣ أكتوبر ٢٠٢٦
- AIClient2API Review: One Local Proxy for Every AI Protocolمحدَّث ١٩ سبتمبر ٢٠٢٦
- LMDeploy Review: High-Throughput LLM Serving and Quantizationمحدَّث ١٩ سبتمبر ٢٠٢٦
+1 أخرى غير معروضة
vLLM
- الواجهة والإعداد:
- حزمة Python؛ خادم واجهة برمجة تطبيقات متوافق مع OpenAI يُشغَّل بـ
vllm serve. يتطلب وحدة معالجة رسوميات NVIDIA وCUDA في معظم عمليات النشر. - الأنسب لـ:
- خدمة عالية الإنتاجية متعددة المستخدمين على وحدات معالجة الرسوميات في الإنتاج، بشكل عام، دون تصميم يركز أولاً على المخرجات المُهيكلة.
مقالات حول vLLM (10)
- vLLM Explained: High-Throughput LLM Serving with PagedAttention (2026)محدَّث ٦ سبتمبر ٢٠٢٦
- LiteLLM Review: One Gateway for 100+ LLM Provider APIsمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Locally Uncensored Review: Local Chat, Image, and Video in One Appمحدَّث ٢٤ أكتوبر ٢٠٢٦
- oMLX Review: Apple Silicon Inference Server With SSD Cachingمحدَّث ٢٣ أكتوبر ٢٠٢٦
- LLaMA-Factory Review: Fine-Tune 100+ LLMs via Web UIمحدَّث ١٩ أكتوبر ٢٠٢٦
- Nanobot Review: A Self-Hosted AI Agent Framework in 2026محدَّث ١٠ أكتوبر ٢٠٢٦
- Open WebUI in 2026: The Self-Hosted ChatGPT Interface for Ollama and Any AI Modelمحدَّث ٩ أكتوبر ٢٠٢٦
- llama.cpp Explained: The Engine Powering Ollama (2026)محدَّث ٢٠ سبتمبر ٢٠٢٦
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Modelsمحدَّث ٢٠ سبتمبر ٢٠٢٦
- candle-vllm Review: Rust-Native LLM Serving on CUDA and Metalمحدَّث ١٩ سبتمبر ٢٠٢٦
+84 أخرى غير معروضة
Ollama
- الواجهة والإعداد:
- واجهة سطر أوامر وواجهة برمجة تطبيقات REST، يُذكر عادة أنها تعمل على llama.cpp كمحرك خلفي على معظم المنصات. أمر واحد يثبّتها؛ وأمر واحد يجلب النموذج ويشغّله.
- الأنسب لـ:
- أسرع طريق لتشغيل نموذج محلي لمستخدم واحد، دون خطوة بناء أو حاجة لوحدة معالجة رسوميات.
مقالات حول Ollama (10)
- Ollama Review: The One-Command Local LLM Runtimeمحدَّث ١٢ سبتمبر ٢٠٢٦
- LobeHub Review (Formerly LobeChat): Agent Workspace With Desktop Apps and Self-Hostingمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Arynwood MCP Review: A Local AI Workspace in Alphaمحدَّث ٢٤ أكتوبر ٢٠٢٦
- GPT4All Review: Free Offline AI Chat App by Nomic AIمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Home Assistant Assist Review: Local Voice Control and LLM Agentsمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Kruvo Review: A Desktop AI Coworker That Asks Before It Actsمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Linkwarden Review: Self-Hosted Bookmarks with Local AI Taggingمحدَّث ٢٤ أكتوبر ٢٠٢٦
- LiteLLM Review: One Gateway for 100+ LLM Provider APIsمحدَّث ٢٤ أكتوبر ٢٠٢٦
- LM Mini Review: iPhone Chat App for On-Device and Home-Server AIمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Local Operator Review: Free Desktop AI Agent for Your Computerمحدَّث ٢٤ أكتوبر ٢٠٢٦
+310 أخرى غير معروضة
llama.cpp
- الواجهة والإعداد:
- واجهة سطر أوامر، وواجهة ويب مدمجة، وواجهة برمجة تطبيقات متوافقة مع OpenAI عبر llama-server. ابنِ من المصدر أو استخدم ملفًا ثنائيًا جاهزًا؛ يعمل على المعالج المركزي أو وحدة معالجة الرسوميات.
- الأنسب لـ:
- تحكم مباشر على مستوى المحرك، ونشر مدمج/على الحافة، وعتاد المعالج المركزي أو Apple Silicon.
مقالات حول llama.cpp (10)
- llama.cpp Explained: The Engine Powering Ollama (2026)محدَّث ٢٠ سبتمبر ٢٠٢٦
- GPT4All Review: Free Offline AI Chat App by Nomic AIمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Locally Uncensored Review: Local Chat, Image, and Video in One Appمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Subtitle Edit Review: Local Whisper Transcription and Auto-Translateمحدَّث ٢٤ أكتوبر ٢٠٢٦
- Run a 70B LLM Locally 2026: RAM, VRAM & Speed by Hardwareمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best AMD GPU for Local LLMs and AI Inferenceمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best CPU-Only Local LLM 2026: 5 Models, No GPU Neededمحدَّث ٢٣ أكتوبر ٢٠٢٦
- Best Local AI Apps for Low-End PCs in 2026 (8GB RAM, No GPU)محدَّث ٢٣ أكتوبر ٢٠٢٦
- Best Local AI Apps for iPhone in 2026 (Run LLMs Without WiFi)محدَّث ٢٣ أكتوبر ٢٠٢٦
- Llamatik Review: Free Open-Source Offline AI Chatbot for Android, iPhone and Desktopمحدَّث ٢٣ أكتوبر ٢٠٢٦
+167 أخرى غير معروضة
لم يختبر هذا المقال بشكل مستقل السرعة أو جودة المخرجات بين هذه الأدوات ولا يزعم تفوق إحداها تقنيًا — تغطي المقارنة أعلاه فقط الحقائق الموثقة المتعلقة بالبنية والإعداد ونموذج الوصول. راجع مقارنة llama.cpp مقابل Ollama مقابل vLLM لمقارنة مخصصة للإنتاجية وتعقيد الإعداد بين هذه الأدوات الثلاث، ودليل خوادم الاستدلال المؤسسية لنظرة موجهة نحو النشر حول vLLM وTGI وNVIDIA NIM.
ما الذي لا يغطيه هذا المقال؟
هذا مقال شرحي مبني على وثائق SGLang العامة ومستودعه، وليس تقرير اختبار أداء عملي.
- لا توجد أرقام إنتاجية أو زمن استجابة أو طلبات في الثانية مقاسة بشكل مستقل لـSGLang أو مقارناته — فهذه تعتمد بشكل كبير على وحدة معالجة الرسوميات والنموذج وتركيبة الدفعة والإصدار
- لا يوجد تحقق مستقل من مضاعفات التسريع التي يدّعيها SGLang نفسه لـRadixAttention أو فك ترميز JSON — فهذه تأتي من اختبارات أداء إصدارات المشروع، وليس من قياس طرف ثالث
- لا توجد مراجعة أمنية سطرًا بسطر لقاعدة شيفرة SGLang — فهي مفتوحة المصدر ومرخّصة بموجب Apache 2.0، لذا فإن الشيفرة نفسها متاحة للمراجعة
- لا توجد تغطية كاملة لكل محرك خلفي عتادي مدعوم، أو علم محرك، أو خيار تنسيق نشر (Kubernetes، إعدادات خاصة بالسحابة) — يركز هذا المقال على المفاهيم والأعلام التي تقيّمها معظم الفرق أولاً
- لا توجد تغطية لترتيبات الدعم التجاري أو عروض استضافة SGLang المُدارة، بما أن SGLang نفسه مشروع مجتمعي مفتوح المصدر وليس منتج مورّد بعقد دعم
أخطاء شائعة عند تجربة SGLang
معظم الاحتكاك مع SGLang ينشأ من التعامل معه كأداة سطح مكتب أحادية المستخدم، أو من توقّع أن يساعد RadixAttention حِمل عمل لا يتشارك البادئات فعليًا.
الخطأ الأول: محاولة تشغيله على حاسوب محمول بدون وحدة معالجة رسوميات مخصصة
SGLang ليس مبنيًا حول عتاد المعالج المركزي فقط أو Apple Silicon كما هو حال llama.cpp أو Ollama. تؤدي محاولة تشغيله على حاسوب محمول يعتمد على المعالج المركزي فقط أو جهاز Mac بمعالج Apple Silicon عادة إلى أداء ضعيف أو احتكاك في الإعداد كانت أداة محلية مصممة خصيصًا لهذا الغرض ستتجنبه تمامًا.
الخطأ الثاني: توقّع أن يسرّع RadixAttention حركة مرور بلا بادئات مشتركة
تأتي فائدة RadixAttention تحديدًا من إعادة استخدام حالة ذاكرة KV بين الطلبات التي تتشارك بادئة تسلسل رموز. إذا كان كل طلب في حِمل عملك مستقلاً تمامًا — موجّهات نظام مختلفة، بلا أمثلة قليلة اللقطات، بلا سجل محادثة — فلن تكون هناك بادئة مشتركة تُذكر يعيد RadixAttention استخدامها، وسيكون المكسب مقارنة بمحرك بلا ذاكرة مؤقتة صغيرًا.
الخطأ الثالث: طلب JSON في الموجّه بدلاً من استخدام معلمات المخرجات المُهيكلة
مطالبة نموذج بـ"الرد بصيغة JSON" دون استخدام معلمات فك الترميز المقيّد بالمخطط الخاصة بـSGLang لا يزال يسمح للنموذج بإنتاج مخرجات مشوَّهة أو غير متوافقة. لا تنطبق فائدة الموثوقية للمخرجات المُهيكلة على مستوى المحرك إلا عندما يُمرَّر مخطط JSON أو قيد التعبير النمطي فعليًا عبر حقول المخرجات المُهيكلة في واجهة البرمجة.
الأسئلة الشائعة
ما هو SGLang؟
SGLang هو إطار عمل مجاني، مرخّص بموجب Apache 2.0، لخدمة النماذج اللغوية الكبيرة ونماذج الرؤية واللغة، نشأ من أبحاث مرتبطة بجامعة كاليفورنيا في بيركلي وستانفورد ومنظمة LMSYS التي تدير Chatbot Arena. يُعرف بشكل أساسي بـRadixAttention، وهي تقنية لإعادة استخدام ذاكرة KV تلقائيًا عبر الطلبات التي تتشارك بادئة مشتركة.
هل SGLang مجاني؟
نعم. SGLang برنامج مجاني ومفتوح المصدر صادر بموجب رخصة Apache 2.0، دون الحاجة لاشتراك أو حساب لتشغيله بنفسك.
ما هو RadixAttention؟
RadixAttention هي تقنية SGLang لتخزين ذاكرة KV الخاصة بالانتباه للطلبات المكتملة والجارية في شجرة راديكس، بحيث يمكن للطلبات الجديدة التي تتشارك بادئة تسلسل رموز — موجّه نظام، أو أمثلة قليلة اللقطات، أو أدوار محادثة سابقة — إعادة استخدام الذاكرة المؤقتة المطابقة تلقائيًا بدلاً من إعادة حسابها.
هل يضمن SGLang مخرجات JSON صالحة؟
عندما يتضمن الطلب مخطط JSON في معلمات المخرجات المُهيكلة لـSGLang، يخفي المحرك في كل خطوة فك ترميز الرموز التي قد تنتهك المخطط، وهو ما صُمم لجعل المخرجات متوافقة مع المخطط بحكم البنية بدلاً من التحقق اللاحق. مجرد طلب JSON في نص الموجّه دون استخدام هذه المعلمات لا يوفر هذا الضمان.
هل يحتاج SGLang إلى وحدة معالجة رسوميات؟
نعم، لأي حِمل عمل حقيقي — الهدف الأساسي والأفضل دعمًا لـSGLang هو وحدات معالجة الرسوميات NVIDIA. يوثّق المشروع محركات خلفية من AMD وIntel ومسرّعات أخرى، لكنها ليست مسار النشر الأساسي، ولا يوجد دعم من الدرجة الأولى لـApple Silicon.
ما صيغ التكميم التي يدعمها SGLang؟
يدعم SGLang عدة صيغ منها FP8، وFP4 على العتاد الأحدث، وAWQ، وGPTQ، وINT4، مع نشر العديد من النماذج المُكمَّمة مسبقًا بهذه الصيغ على Hugging Face.
هل SGLang أفضل من vLLM؟
لا تُعد اختبارات الأداء الخاصة بأي من المشروعين حكمًا محايدًا في هذا الشأن — فكلاهما ينشر نتائج تخدم مصلحته. يبرز SGLang إعادة استخدام الذاكرة المؤقتة القائمة على البادئات في RadixAttention والمخرجات المُهيكلة على مستوى المحرك كميزاته الرئيسية؛ بينما يبرز vLLM كفاءة ذاكرة PagedAttention. يعتمد الأنسب على نمط تشارك البادئات في حِمل عملك وما إذا كانت المخرجات المُهيكلة متطلبًا صارمًا — راجع جدول المقارنة أعلاه.
هل لدى SGLang واجهة برمجة تطبيقات متوافقة مع OpenAI؟
نعم. يؤدي تشغيل python -m sglang.launch_server إلى تشغيل خادم ينفّذ بروتوكول واجهة برمجة تطبيقات OpenAI، بحيث يمكن للعديد من التطبيقات المبنية لواجهة برمجة تطبيقات OpenAI الإشارة إلى نسخة SGLang مستضافة ذاتيًا بمجرد تغيير عنوان URL الأساسي واسم النموذج.
ما الغرض من لغة الواجهة الأمامية DSL في SGLang؟
هي مجموعة من العناصر البدائية في Python — بما في ذلك sgl.gen وsgl.select وsgl.fork — لكتابة برامج نماذج لغوية متعددة الخطوات، مثل التفرّع إلى عدة توليدات فرعية متوازية ودمج النتائج، كشيفرة Python عادية بدلاً من تنسيق استدعاءات واجهة برمجة تطبيقات منفصلة يدويًا.
من أنشأ SGLang، وما هي RadixArk؟
نشأت SGLang من أبحاث تربط بين جامعة كاليفورنيا في بيركلي وستانفورد ومنظمة LMSYS التي تقف وراء Chatbot Arena. في عام 2026، أسّس المشاركان في إنشاء SGLang، Ying Sheng وBanghua Zhu، شركة RadixArk الناشئة للبنية التحتية للذكاء الاصطناعي، والتي جمعت 100 مليون دولار في جولة تمويل أولية بقيادة Accel لتسويق خدمات حول SGLang مع الاستمرار في تطويره مفتوح المصدر — ويبقى الإطار الأساسي مرخصًا بموجب Apache 2.0 ومجانًا.
