Speichert E-Commerce-Daten (wechseln Sie zu SQL_Models.py für ein detailliertes Schema) in einer SQLite-Datenbank mit SQLModel (Haupt-SQL-Komponente ist SQL_DB.PY). Immer wenn ein Produkt mit SQL_DB.PY in die Datenbank eingefügt wird, wird der entsprechende Produkttextvektor zusammen mit der Produkt -ID (zur Produktsuchung) automatisch in der QDRant -Vektor -Datenbank gespeichert. Fastapi Server Run.py verwendet sql_db.py zum Abrufen und Einfügen von Daten in Datenbank, und LLM-Komponenten LLM.Py verwendet SQL_DB.py für die Erzeugung von Abfragen und CSV-Datensatzgenerierung für die Feinabstimmung von Google FLAN-T5 (GO to Fine-Tuning.ipynb).
Git auf Ihrem System installieren lassen.Python 3 auf Ihrem System installiert haben.Docker Desktop (für den Hauch von QDrant Server) installiert haben. Seite herunterladen: hiercuda auf Ihrem System für die LLM -Feinabstimmung installieren lassen. Finden Sie heraus, welches die neueste Version von CUDA ist, die Pytorch unter: pytorch.org unterstützt und diese Version von CUDA installieren. In der CUDAS -Installationshandbuch finden Sie eine Schritt -für -Schritt -Anleitung für die Installation.Stellen Sie sicher, dass GIT auf Ihrem System installiert ist. Dann öffnen Sie Terminal und geben Sie ein:
git clone https://github.com/abhash-rai/E-Commerce-LLM-Based-Recommendation-System.git
Offenes Projektverzeichnis:
cd E-Commerce-LLM-Based-Recommendation-System
Beachten Sie den full path zum Projektverzeichnis, da es in Schritt 2 erforderlich ist.
Installieren Sie Docker Desktop und überprüfen Sie die Docker -Installation:
docker --version
Wenn Sie Docker -Version erhalten und Text erstellen, geben Sie ein (stellen Sie sicher, dass Docker Desktop in Ihrem System geöffnet ist):
docker pull qdrant/qdrant
Führen Sie den QDRANT -Server auf Docker mit dem folgenden Befehl aus, ersetzen Sie jedoch <PathToLocalRepo> Teil durch den full path des in step 1 festgelegten Projektverzeichnisses. Beispiel <PathToLocalRepo> wäre so etwas wie 'D:/temp/E-Commerce-Llm-basiertes Recommendation-System'.
docker run -d --name qdrant -p 6333:6333 -v <PathToLocalRepo>/db/qdrant_storage:/qdrant/storage qdrant/qdrant
Installieren Sie virtualenv -Bibliothek mit PIP:
pip install virtualenv
Ich fand, dass Python3.12 zusammen mit den erforderlichen Abhängigkeiten gut funktioniert. Erstellen Sie also eine virtuelle Umgebung mit dem Namen .venv mit derselben Python -Version:
virtualenv -p python3.12 .venv
Aktivieren Sie die virtuelle Umgebung:
.venvScriptsactivate
Abhängigkeiten installieren:
pip install -r requirements.txt
Die endgültige Abhängigkeit zu installieren ist PyTorch. Stellen Sie vorher sicher, dass Sie Ihr System -Betriebssystem und die installierte Cudas -Version kennen. Sie können die installierte Cudas -Version überprüfen, indem Sie eingeben:
nvcc --version
Finden Sie heraus, welche Versionen von CUDA sind, die Pytorch unter: pytorch.org unterstützt, und sehen Sie, ob eine dieser Versionen, die Sie auf Ihrem System installiert haben. Wenn es dann keine Übereinstimmung gibt, müssen Sie CUDA in eine Version neu installieren, die Pytorch unterstützt.
Gehen Sie auf der selben Website von Pytorch.org und scrollen Sie nach unten, um den Abschnitt "Pytorch" zu installieren, und wählen Sie relevante Optionen, um den Befehl pytorch -Installation für Ihr System zu erhalten. Für mein Windows -Betriebssystem mit dem Befehl cuda 12.4 war der Befehl (Ihr kann nach Ihrem System unterschiedlich sein):
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Schließlich installieren Sie:
pip install transformers[torch]
Sie können mit synthetischen Daten experimentieren, die nicht erforderlich sind, aber zum Ausprobieren empfohlen werden. Um synthetische Daten zu bevölkern, die unten im Befehl ausgeführt werden, werden die SQLite -Datenbank und die Vectore -Sammlung für Produkte automatisch erstellt (dauert einige Momente):
python populate_synthetic_db.py
Die SQLite-Datenbank wird unter E-Commerce-LLM-Based-Recommendation-System/db/sqlite_storage/main.db und QDRant-Einbetten als Sammlungen bei E-Commerce-LLM-Based-Recommendation-System/db/qdrant_storage sein.
Öffnen Sie fine-tuning.ipynb im vs Code und wählen Sie die zuvor generierte virtuelle Umgebung .venv als Kernel. Führen Sie dann jede Zelle des Notizbuchs aus, die letztendlich CSV-Datensatz für die Feinabstimmung generiert, Google FLAN-T5 LLM-Modell einstellen und das feine abgestimmte Modell lokal speichern, um Empfehlungen zu generieren.
Der LLM -Name zusammen mit ähnlichen Informationen und Pfaden sind in Constants.py festgelegt. Sie können LLM_NAME an einem von "Google/Flan-T5-Small", "Google/Flan-T5-Base", "Google/Flan-T5-Large", "Google/Flan-T5-XL" oder "Google/Flan-T5-XXL" festhalten. Modellinformationen finden Sie unter: https://huggingface.co/docs/transformers/en/model_doc/flan-t5
Run.py hat bereits Funktionen integriert, um den Fastapi -Server mit Uvicorn auszuführen. Also, den Befehl ausführen:
python run.py
Warten Sie eine Weile, bis der Server voll geladen ist. Dann gehen Sie die APIs aus: http://127.0.0.1:8000/docs. Es gibt 4 APIs zum Durchsuchen von Produkten, zur Empfehlung von Produkten einem Kunden, zum Speichern von Empfehlungsfeedback und der Überwachung der Empfehlungsleistung. Erkunden Sie die APIs zusammen mit der Datenbank: E-Commerce-LLM-Based-Recommendation-System/db/sqlite_storage/main.db für ID der Entitäten und die Verwaltung der APIs verwalten die Datenbank.
Sie können run.py und sql_db.py ändern, um Endpunkte hinzuzufügen, um CRUD -Operationen auf allen in sql_models.py beschriebenen Modellen auszuführen, um einen vollwertigen Server zu erstellen.