يخزن بيانات التجارة الإلكترونية (انتقل إلى sql_models.py للمخطط التفصيلي) في قاعدة بيانات SQLite باستخدام SQLModel (مكون SQL الرئيسي هو sql_db.py). كلما تم إدخال منتج في قاعدة البيانات باستخدام sql_db.py ، يتم تخزين ناقل نص المنتج المقابل مع معرف المنتج (للبحث عن المنتج) تلقائيًا في قاعدة بيانات ناقل QDrant. يستخدم Fastapi Server Run.py sql_db.py لجلب البيانات وإدخالها في قاعدة البيانات و Csv component llm.py تستخدم sql_db.py لتوليد مجموعة بيانات الاستعلام وتوليد مجموعة بيانات CSV لضبط جيد من Google FLAN-T5 (انتقل إلى fine-tuning.ipynb).
Git مثبت على نظامك.Python 3 مثبت على نظامك.Docker Desktop (لخلط خادم QDrant) مثبت على نظامك. صفحة التنزيل: هناcuda مثبتة على نظامك لضبط LLM الدقيق. اكتشف ما هو أحدث إصدار من CUDA الذي يدعمه Pytorch على: pytorch.org وتثبيت هذا الإصدار من CUDA. يرجى الرجوع إلى دليل تثبيت CUDAS للحصول على دليل خطوة بخطوة للتثبيت.تأكد من تثبيت GIT على نظامك. ثم ، فتح المحطة وأدخل:
git clone https://github.com/abhash-rai/E-Commerce-LLM-Based-Recommendation-System.git
دليل المشروع المفتوح:
cd E-Commerce-LLM-Based-Recommendation-System
لاحظ أن full path إلى دليل المشروع حيث سيكون مطلوبًا في الخطوة 2.
تثبيت سطح المكتب Docker وتحقق من تثبيت Docker:
docker --version
إذا حصلت على إصدار Docker وإنشاء نص ثم ، أدخل (تأكد من فتح سطح Docker Desktop وتشغيله في نظامك):
docker pull qdrant/qdrant
قم بتشغيل خادم QDrant على Docker مع الأمر أدناه ولكن استبدل جزء <PathToLocalRepo> full path لدليل المشروع المذكور في step 1 . مثال <PathToLocalRepo> سيكون شيئًا مثل "D:/Temp/E-Commerce-LLM-Recommendation-System".
docker run -d --name qdrant -p 6333:6333 -v <PathToLocalRepo>/db/qdrant_storage:/qdrant/storage qdrant/qdrant
تثبيت مكتبة virtualenv باستخدام PIP:
pip install virtualenv
لقد وجدت Python3.12 يعمل بشكل جيد مع التبعيات المطلوبة ، لذا قم بإنشاء بيئة افتراضية تدعى .venv مع نفس إصدار Python:
virtualenv -p python3.12 .venv
تنشيط البيئة الافتراضية:
.venvScriptsactivate
تثبيت التبعيات:
pip install -r requirements.txt
التبعية النهائية للتثبيت هي Pytorch. قبل ذلك ، تأكد من معرفة نظام نظام التشغيل الخاص بك وتثبيت إصدار CUDAS. يمكنك التحقق من إصدار CUDAS المثبت عن طريق الدخول:
nvcc --version
اكتشف ما هي إصدارات CUDA التي يدعمها Pytorch على: pytorch.org ومعرفة ما إذا كان أحد هذه الإصدار هو الذي قمت بتثبيته على نظامك. إذا لم يكن هناك تطابق ، فأنت بحاجة إلى إعادة تثبيت CUDA إلى إصدار يدعمه Pytorch.
انتقل إلى موقع Pytorch.org نفسه وانتقل لأسفل إلى قسم "تثبيت Pytorch" وحدد الخيارات ذات الصلة للحصول على أمر تثبيت Pytorch لنظامك. بالنسبة إلى نظام نظام التشغيل Windows الخاص بي مع أمر CUDA 12.4 كان (قد يكون لديك مختلف وفقًا لنظامك):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
أخيرًا ، التثبيت:
pip install transformers[torch]
يمكنك البدء في تجربة البيانات الاصطناعية التي ليست ضرورية ولكن الموصى بها لمحاولة الخروج. لملء الأمر الذي يتم تشغيل البيانات الاصطناعية أدناه ، والذي سيقوم بإنشاء قاعدة بيانات SQLite وجمع Vectore للمنتجات تلقائيًا (سيستغرق بضع لحظات):
python populate_synthetic_db.py
ستكون قاعدة بيانات SQLITE في E-Commerce-LLM-Based-Recommendation-System/db/sqlite_storage/main.db و QDRANT ستخزن التضمينات المتجهات كجماعات في E-Commerce-LLM-Based-Recommendation-System/db/qdrant_storage .
افتح tuning.ipynb في VS Code وحدد البيئة الافتراضية التي تم إنشاؤها مسبقًا .venv ك kernel. بعد ذلك ، قم بتشغيل كل خلية من أجهزة الكمبيوتر المحمولة التي ستنشئ في النهاية مجموعة بيانات CSV لضبط طراز Google FLAN-T5 LLM ، وحفظ النموذج المضبط الدقيق محليًا لإنشاء التوصيات.
يتم تعيين اسم LLM جنبا إلى جنب مع معلومات ومسارات مماثلة في الثوابت. يمكنك اختيار الاحتفاظ بـ LLM_NAME إلى أي واحد من: "Google/Flan-T5-Small" أو "Google/Flan-T5-Base" أو "Google/Flan-T5-Large" أو "Google/Flan-T5-XL" أو "Google/Flan-T5-XXL". للحصول على معلومات النموذج ، انتقل إلى: https://huggingface.co/docs/transformers/en/model_doc/flan-t5
قام Run.py بالفعل ببناء وظائف لتشغيل خادم Fastapi باستخدام Uvicorn. لذا ، قم بتشغيل الأمر:
python run.py
انتظر بعض الوقت حتى يتم تحميل الخادم بالكامل ، ثم لتجربة واجهات برمجة التطبيقات ، انتقل إلى: http://127.0.0.1:8000/docs. هناك 4 واجهات برمجة التطبيقات للبحث عن المنتجات ، والتوصية بالمنتج للعميل ، وتخزين ملاحظات التوصية ، ومراقبة أداء التوصية. استكشف واجهات برمجة التطبيقات جنبًا إلى جنب مع قاعدة البيانات: E-Commerce-LLM-Based-Recommendation-System/db/sqlite_storage/main.db لمعرف الكيانات وكيفية إدارة واجهات برمجة التطبيقات.
يمكنك تعديل run.py و sql_db.py لإضافة نقاط نهاية لإجراء عمليات CRUD على كل الطرز المفصلة في sql_models.py لإنشاء خادم كامل.