Logo Lanfrica

sanogomamadou/nour-darija-ai-assistant

Domaine:

natural language processinghealthcare

Type de record:

software
Créateur:
san
Hôte:
An empathetic AI voice assistant utilizing RAG and localized LLMs (Darija/French) to support Moroccan women with breast cancer information. POC featuring FastAPI, React, and local GPU inference. # Nour Chatbot - Assistant Vocal pour le Cancer du Sein 🎗️ **Nour** est une assistante virtuelle empathique et vocale conçue pour accompagner les femmes marocaines atteintes du cancer du sein. Elle agit comme une "grande sœur" bienveillante (*khti*), fournissant des informations médicales fiables et un soutien émotionnel en **Darija** et en **Français**. ## 🌟 Fonctionnalités Clés - **🗣️ Interface Voice-First** : Conçue pour l'accessibilité, notamment pour les utilisatrices analphabètes ou fatiguées. L'utilisatrice parle, et Nour répond oralement. - **🇲🇦 Support Bilingue Adapté** : - **Entrée** : Comprend le Darija, le Français et l'Arabe. - **Sortie Visuelle** : Texte en **Français** (pour la clarté médicale et la lecture). - **Sortie Audio** : Voix en **Darija** (pour la proximité émotionnelle et la compréhension). - **🧠 Intelligence Artificielle Avancée** : - **RAG (Retrieval Augmented Generation)** : Utilise une base de connaissances médicale vérifiée pour répondre aux questions. - **Détection d'Émotion** : Adapte son ton si l'utilisatrice exprime de la peur ou de la détresse. - **🛡️ Sécurité & Éthique** : - Ne fait **jamais** de diagnostic médical. - Ne prescrit **jamais** de médicaments. - Redirige vers les urgences en cas de crise critique. ## 🏗️ Architecture Technique L'application suit une architecture client-serveur moderne : ### Frontend (Client) - **Framework** : React 19 + Vite - **Styling** : TailwindCSS (Design responsive et épuré) - **Composants Clés** : - `AudioRecorder.jsx` : Gestion de l'enregistrement vocal et visualisation audio. - `App.jsx` : Orchestration de l'interface de chat. ### Backend (Serveur) - **Framework** : FastAPI (Python) - **Services** : - **STT (Speech-to-Text)** : Transcription de l'audio utilisateur (Gemini/OpenAI). - **LLM (Logic)** : Google Gemini (Modèle `gemini-2.5-flash`) pour la génération de réponse et l'analyse d'intention. - **RAG** : ChromaDB pour le stockage vectoriel de la base de connaissances (`knowledge.js …