منصوبے کے بارے میں

Recotem ایک رسیپی پر مبنی ریکمینڈر سسٹم فریم ورک ہے جو سفارشی ماڈلز کی تربیت اور خدمت کو آسان بناتا ہے۔ یہ irspack پر بنایا گیا ہے اور پورے پائپ لائن کی وضاحت کے لیے ایک واحد YAML رسیپی فائل استعمال کرتا ہے: ڈیٹا سورس، تربیتی الگورتھم، ہائپر پیرامیٹر تلاش، اور آؤٹ پٹ مقام۔ `recotem train` کمانڈ ایک دستخط شدہ بائنری آرٹیفیکٹ تیار کرتا ہے، جبکہ `recotem serve` ایک FastAPI سرور چلاتا ہے جو `/v1/recipes/{name}:recommend` اور `:recommend-related` جیسے اینڈ پوائنٹس کو ظاہر کرتا ہے، اور نئے آرٹیفیکٹس ظاہر ہونے پر خودکار ہاٹ-سواپنگ کرتا ہے۔ اسے کسی ڈیٹا بیس یا میسج بروکر کی ضرورت نہیں ہے، جو اسے ہلکا پھلکا اور تعینات کرنے میں آسان بناتا ہے۔ اہم خصوصیات میں شامل ہیں: - **ریسیپی پر مبنی کنفیگریشن**: ایک YAML فائل ڈیٹا انجیشن سے لے کر سروسنگ تک ایک مکمل ماڈل کی وضاحت کرتی ہے۔ - **ہائپر پیرامیٹر آپٹیمائزیشن**: irspack الگورتھم میں تلاش کے لیے Optuna استعمال کرتا ہے۔ - **فیچر سے آگاہ iALS**: بہتر سفارشات کے لیے آئٹم/یوزر سائیڈ فیچرز (کیٹیگریکل، عددی، ملٹی-لیبل) کو سپورٹ کرتا ہے۔ - **کولڈ-اسٹارٹ سپورٹ**: انتسابی فیچرز کا استعمال کرتے ہوئے نامعلوم صارفین یا آئٹمز کے لیے سفارش کر سکتا ہے۔ - **پلگ ایبل ڈیٹا سورسز**: CSV، Parquet، BigQuery، اور SQL (PostgreSQL، MySQL، SQLite) کے لیے بلٹ ان سپورٹ، Python انٹری پوائنٹس کے ذریعے توسیع پزیر۔ - **محفوظ آرٹیفیکٹس**: HMAC-دستخط شدہ ملٹی-کی گردش اور محفوظ ڈی سیریلائزیشن کے لیے ایک متعین کلاس الاؤ-لسٹ۔ - **API کلیدی تصدیق**: اختیاری `X-API-Key` ہیڈر، کلیدیں آرام پر ہیش کی جاتی ہیں۔ - **لچکدار اسٹوریج**: مقامی، S3، GCS، Azure، اور HTTPS راستوں کے لیے fsspec استعمال کرتا ہے۔ - **مشاہدہ**: اختیاری Prometheus میٹرکس اور خفیہ ریڈکشن کے ساتھ ساختی JSON لاگز۔ یہ ٹول تولیدی صلاحیت اور آپریشنل سادگی کے لیے ڈیزائن کیا گیا ہے۔ تربیت ایک بیچ جاب کے طور پر چلتی ہے (مثلاً cron، Airflow، Kubernetes CronJob)، اور سروسنگ ایک طویل عرصے تک چلنے والا عمل ہے جو نئے آرٹیفیکٹس دیکھتا ہے اور انہیں ایٹمically تبدیل کرتا ہے۔ یہ علیحدگی تربیت اور سروسنگ کو مختلف مشینوں پر چلانے کی اجازت دیتی ہے، صرف آرٹیفیکٹ فائلوں کے ذریعے بات چیت کرتے ہوئے۔ انسٹالیشن pip کے ذریعے مخصوص ڈیٹا سورسز کے لیے ایکسٹرا کے ساتھ ہے (مثلاً `recotem[bigquery]`، `recotem[s3]`)۔ ایک ملٹی-آرک Docker امیج ghcr.io پر دستیاب ہے۔ پروجیکٹ کو Python 3.12+ کی ضرورت ہے اور glibc Linux (x86-64/arm64)، macOS (Apple Silicon)، اور Windows (x86-64) کو سپورٹ کرتا ہے۔ کچھ ایکسٹرا جیسے `bprfm` میں پلیٹ فارم کی محدود سپورٹ ہے اور انہیں سورس سے بنانے کی ضرورت پڑ سکتی ہے۔ کوئیک اسٹارٹ مثال ایک چھوٹے CSV سے TopPop ریکمینڈر کی تربیت اور HTTP کے ذریعے سفارشات کی خدمت کا مظاہرہ کرتی ہے۔ دستاویزی سائٹ (recotem.org) جامع گائیڈز، API حوالہ جات، اور آپریشنل تفصیلات فراہم کرتی ہے۔