- python3.12 / django 5.2
- principales librairies utiisées :
- langchain, langraph
- django-rest framework
- API openai pour les LLM
- base de donnée mysql ou postgresql
- auteur : Christophe Vellen
🎓 Démonstration : ici [accès protégé par mot de passe]
- accueil :
- résumé d'un texte
- conversation simple (sans mémorisation)
- résumé d'un texte + conversation à partir de ce texte (avec mémorisation des échanges)
- résumé d'une video youtube + conversation à partir de cette video (avec mémorisation des échanges)
- réglages des modèles :
- choix d'un modèle parmi ceux de l'API openai : platform.openai.com
- choix de la température (plus ou moins créatif)
- choix de la verbosité
- réglage des prompts système :
- modification et enregistrement des prompts pour le résumé
- modification et enregistrement des prompts système
- installer pyenv, poetry et python3 v3.12 :
curl https://pyenv.run | bash
curl -sSL https://install.python-poetry.org | python3
pyenv local 3.12.10- cloner le projet :
git clone https://github.com/C-Vellen/Chatbot.git-
créer une base de donnée Mysql ou Postgresql
-
en développement, créer et paramétrer src/src/settings/develop.py, ou bien définir des variables d'environnement :
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxx' RELOAD = True ALLOWED_HOSTS = ["127.0.0.1", "localhost"] CSRF_TRUSTED_ORIGINS = ["http://127.0.0.1:8000", "http://localhost:8000"] PROTOCOL = "http" DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql' ou 'django.db.backends.mysql, 'NAME': 'xxxxxxxxxxxx', 'USER': 'xxxxxxxxxxxx', 'PASSWORD': 'xxxxxxxxxxxxx', 'HOST': '127.0.0.1', 'PORT': xxxx, } }
-
en production, créer et paramétrer src/src/settings/production.py ou bien définir des variables d'environnement,:
SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxx' DEBUG = False ALLOWED_HOSTS = ['www.xxxxx.xx', ... ] CSRF_TRUSTED_ORIGINS = ['https://www.xxxxx.xx', ... ] PROTOCOL = 'https' SITE_ID = 1 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql' ou 'django.db.backends.mysql', 'NAME': 'xxxxxxxxxxxx', 'USER': 'xxxxxxxxxxxx', 'PASSWORD': 'xxxxxxxxxxxxx', 'HOST': '127.0.0.1', 'PORT': xxxx, } } STATIC_ROOT = 'chemin vers fichiers statiques sur le serveur' MEDIA_ROOT = 'chemin vers fichiers media sur le serveur'
-
définir en variable d'environnement l'API token pour accéder aux modèles d'openai :
OPENAI_API_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -
installer les dépendances, définies dans le fichier pyproject.toml :
poetry install
-
activer l'environnement virtuel: sur console du serveur, à la racine du projet:
source .venv/bin/activate- première migration de la base de donnée :
./src/manage.py migrate
- création du superuser (administrateur):
./src/manage.py createsuperuser
- pré-remplissage de la base de données (valeurs par défaut dans dossiers fixtures/):
./src/manage.py loaddata home.json tuning.json
- initialisation tailwind :
./src/manage.py tailwind install ./src/manage.py tailwind build- collecte des fichiers statiques (en production) :
./src/manage.py collectstatic
- lancer le serveur (voir ci-dessous), se connecter en tant qu'administrateur et aller sur l'administration django
- modifier le user : entrer subId (random), nom, prénom, group (auteur, gestionnaire, admin)
- compléter les champs image et fichier des tables home/libelles et home/defaultcontent
```bash
source .venv/bin/activate
./src/manage.py tailwind dev
```




