عن المشروع

Recotem هو إطار عمل لنظام التوصية مدفوع بالوصفات يبسّط تدريب نماذج التوصية وتقديمها. وهو مبنى على irspack ويستخدم ملف وصفة YAML واحد لتحديد خط الأنابيب بالكامل: مصدر البيانات، خوارزمية التدريب، البحث عن المعاملات الفائقة، وموقع المخرجات. ينتج أمر `recotem train` أرتيفاكت ثنائياً موقّعاً، بينما يشغّل `recotem serve` خادم FastAPI يعرض نقاط نهاية مثل `/v1/recipes/{name}:recommend` و`:recommend-related`، مع تبديل فوري تلقائي عند ظهور أرتيفاكتات جديدة. لا يتطلب قاعدة بيانات أو وسيط رسائل، مما يجعله خفيفاً وسهل النشر. تشمل الميزات الرئيسية: - **تكوين مدفوع بالوصفات**: ملف YAML واحد يحدد نموذجاً كاملاً، من إدخال البيانات إلى التقديم. - **تحسين المعاملات الفائقة**: يستخدم Optuna للبحث عبر خوارزميات irspack. - **iALS الواعي بالميزات**: يدعم الميزات الجانبية للعناصر/المستخدمين (فئوية، رقمية، متعددة التسميات) لتحسين التوصيات. - **دعم البدء البارد**: يمكن التوصية لمستخدمين أو عناصر غير معروفة باستخدام ميزات السمات. - **مصادر بيانات قابلة للتوصيل**: دعم مدمج لـ CSV وParquet وBigQuery وSQL (PostgreSQL وMySQL وSQLite)، مع قابلية التوسيع عبر نقاط دخول Python. - **أرتيفاكتات آمنة**: موقّعة بـ HMAC مع تدوير متعدد للمفاتيح وقائمة سماح حتمية للفئات لإلغاء تسلسل آمن. - **مصادقة بمفتاح API**: رأس `X-API-Key` اختياري، مع تجزئة المفاتيح عند التخزين. - **تخزين مرن**: يستخدم fsspec للمسارات المحلية وS3 وGCS وAzure وHTTPS. - **قابلية المراقبة**: مقاييس Prometheus اختيارية وسجلات JSON منظمة مع حجب الأسرار. الأداة مصممة لقابلية التكرار والبساطة التشغيلية. يعمل التدريب كمهمة دفعية (مثل cron أو Airflow أو Kubernetes CronJob)، والتقديم عملية طويلة الأمد تراقب الأرتيفاكتات الجديدة وتبدّلها ذرياً. يسمح هذا الفصل بتشغيل التدريب والتقديم على أجهزة مختلفة، مع التواصل فقط عبر ملفات الأرتيفاكت. يتم التثبيت عبر pip مع إضافات لمصادر بيانات محددة (مثل `recotem[bigquery]` و`recotem[s3]`). تتوفر صورة Docker متعددة المعماريات على ghcr.io. يتطلب المشروع Python 3.12+ ويدعم glibc Linux (x86-64/arm64) وmacOS (Apple Silicon) وWindows (x86-64). بعض الإضافات مثل `bprfm` لها دعم أضيق للمنصات وقد تتطلب البناء من المصدر. يوضح مثال البدء السريع تدريب موصٍ TopPop من ملف CSV صغير وتقديم التوصيات عبر HTTP. يوفر موقع التوثيق (recotem.org) أدلة شاملة ومراجع API وتفاصيل تشغيلية.