Ce dépôt contient un prototype de chatbot en console écrit en Python. L'objectif est de fournir une base de conversation simple, capable d'analyser le ton, et d'utiliser une IA externe pour des réponses dynamiques et contextuelles.
Le projet intègre l'API Gemini de Google pour générer des réponses lorsque le script ne trouve pas de correspondance prédéfinie. La personnalité et le comportement de l'IA sont configurables via un fichier d'instructions dédié.
État actuel
Le projet fournit une version console du chatbot (fichiers principaux) :
Chatbot_main-V2.py: Point d'entrée de l'application. Il gère le déroulement de la conversation.- Dossier
src/: Contient les modules principaux :IA_client.py: Gère la communication avec l'API Gemini, incluant la gestion du contexte de la session.chat_history.py: Gère l'historique de la conversation et sa sauvegarde en fichier JSON.sentiment_analyzer.py: Analyse le sentiment des messages (basé sur des règles simples). La partie utilisant Transformers est actuellement désactivée.bot_identity.py: Fichier de configuration contenant les instructions système (persona, ton, règles) pour l'IA.
Chatbot_main-V1.py: Première version du script, conservée pour archive (ancêtre du V2).check_models.py: Script utilitaire pour vérifier la clé API Gemini et lister les modèles disponibles.requirements.txt: Fichier listant les dépendances du projet.- dossier
historiques/: stockage des historiques JSON générés lors des sessions.
Arborescence (simplifiée)
Chatbot_main-V2.py
Chatbot_main-V1.py
Save_logs.py
historiques/
README.md
Installation (rapide)
- Créez et activez un environnement virtuel (PowerShell) :
python -m venv .venv
.\.venv\Scripts\Activate.ps1- Installer les dépendances recommandées :
pip install -U pip
pip install transformers torch
# Pour GPU et versions spécifiques de PyTorch, suivez les instructions officielles PyTorch
+pip install -r requirements.txtRemarque : il est recommandé d'ajouter un fichier requirements.txt pour figer les versions. Si vous utilisez CUDA/GPU, installez PyTorch selon la documentation officielle pour Windows.
Utilisation
Lancer la version principale :
python Chatbot_main-V2.pyComportement attendu : le bot demande votre prénom, puis entre en boucle de conversation. Tapez quit pour terminer la session. L'historique de la conversation et l'analyse des sentiments seront générés et sauvegardés à la fin.
Logs et historiques
- Les échanges sont stockés en mémoire pendant la session et sauvegardés automatiquement dans le dossier
historiques/au format JSON à la fin de l'exécution via la classeChatHistory.
Fonctionnalités implémentées
- Analyse de conversation basique (comptage de mots positifs/négatifs).
- Pipeline Transformers (
nlptown/bert-base-multilingual-uncased-sentiment) pour une analyse plus avancée (option GPU si disponible).- Note : L'analyse de sentiment avancée via Transformers est présente dans le code mais désactivée par défaut.
Roadmap / Projets futurs
-
Amélioration de l'API externe (Gemini) :
- L'API Gemini est intégrée, mais on peut ajouter le mode "Streaming" pour afficher les réponses en temps réel.
- Ajouter gestion des appels asynchrones et file d'attente.
-
Version locale avec LLM :
- Supporter un modèle de langage local (quantized ou autre) pour exécution hors-ligne.
- Prendre en charge l'accélération GPU/CPU et la gestion mémoire.
-
Robustification :
- Ajouter
requirements.txt, tests unitaires, et exemples de sessions. - Améliorer la PNL (tokenization multilingue, meilleure gestion de la négation, contextualisation).
- Ajouter
-
Déploiement :
- Fournir un wrapper HTTP/REST ou une petite API Flask/FastAPI pour accès distant.
Contribuer
N'hésitez pas à proposer des améliorations :
- Fonctionnalités (intégration Gemini, modèle local)
- Ajout d'un
requirements.txtet d'un guide d'installation détaillé - Tests et gestion des erreurs
Créez une issue ou une pull request pour que nous puissions en discuter.