প্রকল্প সম্পর্কে

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), এবং সার্ভিং একটি দীর্ঘস্থায়ী প্রক্রিয়া যা নতুন আর্টিফ্যাক্ট দেখে এবং সেগুলি পারমাণবিকভাবে সোয়াপ করে। এই বিচ্ছেদ প্রশিক্ষণ এবং সার্ভিংকে বিভিন্ন মেশিনে চলতে দেয়, শুধুমাত্র আর্টিফ্যাক্ট ফাইলের মাধ্যমে যোগাযোগ করে। ইনস্টলেশন নির্দিষ্ট ডেটা উৎসের জন্য এক্সট্রা সহ pip-এর মাধ্যমে (যেমন, `recotem[bigquery]`, `recotem[s3]`)। ghcr.io-তে একটি মাল্টি-আর্ক Docker ইমেজ উপলব্ধ। প্রকল্পটির জন্য Python 3.12+ প্রয়োজন এবং glibc Linux (x86-64/arm64), macOS (Apple Silicon) এবং Windows (x86-64) সমর্থন করে। `bprfm`-এর মতো কিছু এক্সট্রার প্ল্যাটফর্ম সমর্থন সংকীর্ণ এবং উৎস থেকে বিল্ডিং প্রয়োজন হতে পারে। কুইকস্টার্ট উদাহরণটি একটি ছোট CSV থেকে TopPop রিকমেন্ডার প্রশিক্ষণ এবং HTTP-এর মাধ্যমে রিকমেন্ডেশন সার্ভিং প্রদর্শন করে। ডকুমেন্টেশন সাইট (recotem.org) ব্যাপক গাইড, API রেফারেন্স এবং অপারেশনাল বিবরণ প্রদান করে।