عن المشروع

تعد بوابة LLM عبارة عن وكيل/موجه (proxy/router) خفيف الوزن ومستقل مصمم للاستخدام الشخصي الفردي باستخدام الأجهزة المحلية. يقوم النظام بإدارة عدة محركات متوافقة مع Llama.cpp ديناميكيًا، حيث يختار ويشغل متغير النموذج المناسب تلقائيًا بناءً على معلمات الطلب الواردة، وخاصة متطلبات حجم السياق. يقوم النظام بتقدير استخدام الرموز (tokens) عبر tokenizer مستقل أو نقاط نهاية المحرك المشغل، ويعيد تشغيل المحركات بتكوينات محسنة عند الحاجة، ويغلق المثيلات الخاملة للحفاظ على الذاكرة. يدعم النظام التكوين من خلال سكربتات Lua (مثل example.cfg.lua)، والتي تحدد إعدادات الخادم ومتغيرات النماذج بأحجام سياق ومسارات ثنائية وحجج تشغيل مختلفة. يمكن للمستخدمين تكوين متغيرات متعددة لكل نموذج (على سبيل المثال، VRAM منخفض مقابل أداء عالٍ) للتبديل الديناميكي. تستمع البوابة على عناوين IPv4/IPv6 قابلة للتكوين وتوفر نقاط نهاية متوافقة مع OpenAI API مثل /v1/chat/completions و /v1/models. يتم معالجة طلب واحد فقط في المرة الواحدة بسبب القفل الداخلي. ينفذ النظام حاليًا نقطة نهاية إكمال الدردشة (chat completions) فقط ويدعم محركات llama.cpp فقط، رغم أن البنية تسمح بالتوسع. يتضمن الإعداد تثبيت تبعيات Python عبر init.bat/sh، وتحرير ملفات التكوين، والتشغيل باستخدام run.bat/sh أو uv run main.py. تحذير: قد يؤدي التكوين غير الصحيح إلى استنفاد الذاكرة أو تجميد النظام. يتم التحقق من صحة التكوين عند التحميل باستخدام سكربتات Lua مدمجة. هذا البرنامج تجريبي ومخصص للبحث/الاختبار؛ ولا يوصى باستخدامه في بيئات الإنتاج.