عن المشروع
Lexos هو محرك معالجة مستندات بالذكاء الاصطناعي مدفوع بالأحداث مبني حول نماذج لغوية مستضافة ذاتيًا. وهو يقرن بوابة Go عالية التزامن بعمال Python غير متزامنين لتشغيل تلخيص المستندات والتوليد المعزز بالاسترجاع ونسخ الكلام دون حجب معالجة طلبات HTTP أو الاعتماد على واجهات برمجة تطبيقات الذكاء الاصطناعي الخارجية.
القدرات الرئيسية الموصوفة في README:
مستضاف ذاتيًا ويركز على الخصوصية: تحليل المستندات والتضمينات والاسترجاع المتجهي والنسخ واستدلال LLM كلها تعمل داخل بيئة Docker المستضافة ذاتيًا، دون الحاجة إلى واجهات برمجة تطبيقات الذكاء الاصطناعي الخارجية.
المعالجة غير المتزامنة: يحصل العملاء على استجابة 202 Accepted فورية مع معرف مهمة بينما يستمر العمل المكثف للمعالج في الخلفية.
بث الإجابات في الوقت الفعلي: تقوم أحداث Server-Sent Events ببث الإجابات المولدة رمزًا برمز من عامل Python، عبر Redis Pub/Sub وبوابة Go، إلى المتصفح.
تخزين كائنات متوافق مع S3: MinIO للتطوير وCloudflare R2 للإنتاج، باستخدام نفس تكوين العميل المتوافق مع S3.
معالجة معنونة بالمحتوى: تجمع بصمات SHA-256 بين محتوى المصدر والعملية والمعلمات لإعادة استخدام المخرجات المكتملة ومنع المعالجة المكررة المتزامنة.
استرجاع متعدد اللغات: تضمينات متعددة اللغات وتقسيم يراعي المُرمِّز وبحث تشابه جيبي FAISS لاسترجاع الأدلة ذات الصلة عبر اللغات المدعومة.
اختبار آلي معزول: تستخدم معالجات Go واجهات Redis والتخزين المحقونة بالاعتماد، بينما تحاكي اختبارات Python النماذج والتخزين وعمليات الشبكة باستخدام Pytest وpytest-mock.
البنية: توفر واجهة Next.js الأمامية سير عمل للنسخ والتلخيص والإجابة على الأسئلة، مع استقصاء TanStack Query وعرض SSE. تتولى بوابة Go + Echo استيعاب البيانات والتحقق والتحميل المتدفق إلى تخزين الكائنات وإرسال المهام ومنع التكرار وتمرير SSE بالوكالة. يعمل Redis كوسيط ومخزن لحالة المهام وذاكرة معالجة مؤقتة وطبقة أقفال موزعة. يستقصي عامل Python قوائم الانتظار ويشغل ثلاث خطوط معالجة: Distiller للتلخيص عبر خط Map-Reduce مع Qwen3 0.6B، وGleaner لـ RAG باستخدام تضمينات FastEmbed وفهارس FAISS، وScriber لنسخ الصوت عبر Faster-Whisper.
النشر: مصمم لخادم VPS صغير يعمل بالمعالج فقط، بنحو 4 vCPUs و8 GB RAM، مع ميزانية ذاكرة لعامل الذكاء الاصطناعي تبلغ حوالي 2 GB. تحافظ نماذج Q4_K_M GGUF المُكمَّمة والتحميل المعيّن بالذاكرة والتضمينات القائمة على ONNX وفهارس FAISS IndexFlatIP لكل مستند وتزامن العامل التسلسلي والحالة الخارجية على إبقاء استخدام الموارد متوقعًا.
التشغيل: Docker وDocker Compose متطلبان أساسيان؛ استنسخ المستودع وشغّل docker-compose up --build -d. قد يستغرق الإقلاع الأول دقائق أثناء تنزيل ملفات النموذج وتخزينها مؤقتًا. يستخدم تخزين الإنتاج نفس واجهة تكوين S3 مع نقطة نهاية R2 وS3_REGION=auto، ويمكن تطبيق قواعد دورة الحياة باستخدام Wrangler. تنتهي صلاحية الكائنات الخام بعد يوم واحد وكائنات الذاكرة المؤقتة بعد ثمانية أيام، بينما تظل بيانات Redis الوصفية للذاكرة المؤقتة قابلة لإعادة الاستخدام لمدة سبعة أيام.
الاختبار: تستخدم اختبارات بوابة Go محاكيات Testify لسلوك المعالج والبصمات وإصابات الذاكرة المؤقتة واستعادة الأقفال القديمة والوصول إلى التخزين؛ تتحقق اختبارات Python من ملكية الذاكرة المؤقتة والفهرسة الواعية بالمُرمِّز وتنظيف البث وتوجيه العمال وإعادة استخدام المخرجات واستعادة الفشل؛ تشغّل CI للواجهة الأمامية فحص أنواع TypeScript وESLint وبناء Next.js للإنتاج.
الترخيص: MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.