
برمجة مهيكلة لنماذج LLM
مجاني

SGLang هو إطار عمل عالي الأداء مصمم للتوليد المهيكل والخدمة الفعالة لنماذج اللغة الكبيرة (LLMs) ونماذج الرؤية واللغة (VLMs). على عكس محركات الاستدلال القياسية، يقدم SGLang لغة خاصة بالمجال (DSL) تتيح للمطورين دمج قوالب المطالبات، وتدفق التحكم، وقيود المخرجات المهيكلة مباشرة داخل الكود. من خلال استخدام RadixAttention وإدارة الذاكرة الفعالة، فإنه يقلل بشكل كبير من زمن الاستجابة ويزيد من الإنتاجية لمهام الاستدلال المعقدة متعددة الجولات. إنه الأداة المثالية لمهندسي الذكاء الاصطناعي الذين يبنون سير عمل الوكلاء أو واجهات برمجة تطبيقات (APIs) عالية الإنتاجية ويحتاجون إلى تحكم دقيق في توليد الرموز (tokens) وإعادة استخدام ذاكرة التخزين المؤقت KV.
تتيح RadixAttention التخزين المؤقت التلقائي للبادئات عبر طلبات متعددة. من خلال تخزين ذاكرة KV في شجرة radix، يتجنب SGLang إعادة حساب بادئات المطالبات الشائعة (مثل تعليمات النظام أو أمثلة few-shot). هذا يقلل من الوقت اللازم للرمز الأول (TTFT) بنسبة تصل إلى 5 أضعاف في المحادثات متعددة الجولات مقارنة بتنفيذات vLLM القياسية، مما يقلل بشكل كبير من تكاليف الحوسبة لسير عمل الوكلاء.
يوفر SGLang دعمًا أصليًا للتوليد المقيد باستخدام التعبيرات النمطية (regex) ومخططات JSON. من خلال إجبار النموذج على الالتزام بتنسيقات مخرجات محددة على مستوى الرمز، فإنه يلغي الحاجة إلى معالجة لاحقة مكلفة أو حلقات إعادة المحاولة. وهذا يضمن امتثال المخطط بنسبة 100% لخطوط أنابيب البيانات النهائية، مما يجعله موثوقًا للغاية لاستخراج البيانات المهيكلة من النصوص غير المهيكلة.
يسمح إطار العمل للمطورين بتضمين تدفق تحكم يشبه Python (if/else، حلقات) مباشرة في قالب المطالبة. وهذا يسمح ببناء مطالبات ديناميكية بناءً على مخرجات النموذج الوسيطة دون الحاجة للعودة إلى خادم التطبيق. هذا يقلل من زمن انتقال الشبكة ويحافظ على اقتران المنطق بشكل وثيق مع عملية التوليد.
يدعم SGLang أصليًا نماذج الرؤية واللغة (VLMs) مثل LLaVA و Qwen-VL. وهو يعمل على تحسين معالجة رموز الصور جنبًا إلى جنب مع النص، مما يضمن تخزين المدخلات المرئية ومعالجتها بكفاءة. وهذا يجعله خيارًا من الدرجة الأولى لبناء وكلاء معقدين يعتمدون على الرؤية ويتطلبون استدلالًا عالي السرعة على مدخلات الصور والنصوص المدمجة.
بناءً على خلفية C++ عالية الأداء، يعمل وقت تشغيل SGLang على تحسين تخصيص الذاكرة وتنفيذ النواة لوحدات معالجة الرسومات (GPUs) الحديثة. وهو يدعم التجميع المستمر و PagedAttention، مما يسمح له بمعالجة آلاف الطلبات المتزامنة بأقل قدر من النفقات العامة. وهو يتفوق باستمرار على تنفيذات HuggingFace Transformers القياسية في كل من مقاييس الإنتاجية وزمن الاستجابة.
pip install sglang[all]., 2. تشغيل خادم SGLang باستخدام الأمر: python -m sglang.launch_server --model-path <model_id>., 3. تحديد منطق التوليد الخاص بك باستخدام SGLang DSL، مع دمج وظائف gen و select للمخرجات المهيكلة., 4. تنفيذ البرنامج النصي للتفاعل مع الخادم المحلي، والاستفادة من واجهة برمجة تطبيقات sglang.runtime للطلبات غير المتزامنة., 5. مراقبة مقاييس الأداء واستخدام ذاكرة التخزين المؤقت KV عبر لوحة التحكم المدمجة على http://localhost:30000.يستخدم المطورون الذين يبنون وكلاء ذكاء اصطناعي مستقلين SGLang لإدارة سلاسل الاستدلال المعقدة. من خلال استخدام RadixAttention لتخزين مطالبات النظام وتعريفات الأدوات مؤقتًا، يمكن للوكلاء تنفيذ مهام متعددة الخطوات بشكل أسرع بكثير، مما يؤدي إلى تجارب مستخدم أكثر استجابة لسيناريوهات التخطيط والتنفيذ المعقدة.
يستخدم مهندسو البيانات SGLang لتحويل كميات هائلة من المستندات غير المهيكلة إلى JSON نظيف. من خلال فرض مخططات مخرجات صارمة أثناء التوليد، فإنهم يقضون على أخطاء التحليل ويقللون الحاجة إلى التحقق اليدوي، مما يؤدي إلى مجموعات بيانات موثوقة وجاهزة للإنتاج للتحليلات النهائية.
تستخدم الشركات التي تقدم تطبيقات تعتمد على LLM على نطاق واسع SGLang لزيادة استخدام GPU إلى أقصى حد. من خلال الاستفادة من التجميع الفعال وإدارة الذاكرة، يمكنهم خدمة المزيد من الطلبات لكل GPU، مما يقلل بشكل كبير من تكاليف البنية التحتية مع الحفاظ على زمن استجابة منخفض للمستخدمين النهائيين.
يحتاجون إلى تحسين أداء الاستدلال وتقليل زمن الاستجابة لعمليات النشر الإنتاجية واسعة النطاق. يوفر SGLang التحكم منخفض المستوى وميزات تحسين الذاكرة المطلوبة لاستخراج أقصى أداء من مجموعات GPU باهظة الثمن.
يقومون ببناء وكلاء معقدين وخطوط أنابيب بيانات تتطلب مخرجات مهيكلة. يبسط SGLang عملية التطوير الخاصة بهم من خلال توفير DSL موحد لهندسة المطالبات، وتدفق التحكم، وفرض المخطط.
مفتوح المصدر (رخصة Apache 2.0). مجاني للاستخدام والتعديل والنشر في أي بيئة دون رسوم ترخيص.