Logo Lanfrica

tin-mzl/lobabot

Domain:

natural language processing

Record type:

software
Creator:
tin
Host:
Un bot comprenant et s'expriment en lingala afin d'aider ceux qui ne peuvent pas utiliser des modele de grande qualité # 🤖 LobaBot — Application Web & Intégration IA (LLM Local) > **Projet Didactique & d'Apprentissage** — Ce projet a été réalisé dans le but de me familiariser avec les architectures modernes de développement d'applications basées sur l'Intelligence Artificielle (Développement IA), l'intégration de LLM locaux et le développement Web Full-Stack en Python. --- ## 📌 Présentation du Projet **LobaBot** est une application web de chatbot intégrant un modèle de langage local (LLM) géré via **Ollama**. L'objectif principal était de maîtriser la chaîne complète de développement d'une application IA : de la conception de la base de données relationnelle (ORM SQLAlchemy) à la sécurisation des accès (Flask-Login, gestion des rôles), jusqu'à l'interconnexion entre le serveur web et le moteur d'inférence LLM. ### 🎯 Objectifs pédagogiques atteints : - **Architecture de Code Propre :** Organisation modulaire avec Flask (Blueprints, Application Factory Pattern). - **Gestion des Données & ORM :** Modélisation d'une base de données SQLite avec SQLAlchemy 2.0 (`User`, `ChatSession`, `Message`). - **Sécurité & Authentification :** Hachage des mots de passe (`werkzeug.security`), gestion des sessions avec **Flask-Login**, et protection des routes par rôles (`@admin_required`). - **Intégration d'un LLM Local :** Connexion au serveur **Ollama** (`llama3.2:1b`) pour traiter les requêtes en local et préserver la confidentialité. - **API REST & Asynchronisme :** Communication via un endpoint JSON `/api/chat` consommé en Front-End avec la JavaScript Fetch API. --- ## 🛠️ Stack Technique - **Langage principal :** Python 3.10+ - **Framework Web :** Flask - **Gestion des sessions & Auth :** Flask-Login, Werkzeug Security - **Base de données & ORM :** SQLite, SQLAlchemy 2.0 - **Moteur IA / LLM :** Ollama (Modèle `llama3.2:1b`) - **Variables d'environnement :** `python-dotenv` - **Front-End :** HTML5, CSS3, JavaScript (Fetch API) --- ## 📂 Structure du Projet ```text lobabot/ │ ├── app/ │ …