SPB Git forge

spb/immbot-ai

Public
1commits 1branches 0releases
1.5 MBsize
maindefault branch
19 days agolast push
TypeScript 98.3% CSS 0.9% Shell 0.7%
3.6 KB · 65 lines markdown
Rendered Raw Blame History
1> ⚠️ **URL live hors fonction pour le moment.** L'application a été retirée du cluster MacLustr le 2026-09-04 (processus arrêtés, copie du nœud supprimée). Ce dépôt spbgit est désormais la seule source de vérité du projet. Ancienne URL : https://www.immbot.ai23# Immbot AI45**Environnement d'apprentissage intelligent pour les cours IMM1003 et IMM1033 (évaluation immobilière, UQO).**67Immbot AI combine un assistant conversationnel multimodal fondé sur le **matériel officiel des cours**8(RAG avec citations vérifiables par diapositive), un **centre d'apprentissage** complet (flashcards à9répétition espacée, quiz adaptatifs, examens blancs, carte des concepts, plans d'étude, cahier10d'erreurs) et un **tableau de bord professeur** — propulsé par tous les modèles OpenRouter.1112## Démarrage rapide1314```bash15cd immbot-ai16./scripts/setup.sh      # dépendances + .env + seed + ingestion des cours17./scripts/dev.sh        # http://localhost:307018```1920Connexion initiale : **admin / admin123** — le changement de mot de passe est **forcé** à la première21connexion (le mot de passe initial n'est jamais accepté comme permanent).2223Renseignez `OPENROUTER_API_KEY` dans `.env` pour activer le chat (le RAG, les flashcards seed, les24quiz et les examens blancs fonctionnent sans clé).2526## Points clés2728- **Source de vérité** : les fichiers LaTeX des cours (1 691 diapositives, plans, ateliers, glossaire)29  sont parsés à la source → citations exactes `[IMM1003 — Séance 4 — Diapositive 18]`, cliquables,30  **validées côté serveur** (aucune citation inventée ne survit).31- **Trois modes de connaissances** : Cours uniquement (défaut, refus honnête si le matériel ne suffit32  pas) · Cours + général (sections séparées) · Général (signalé).33- **Dix modes pédagogiques** : demander au cours, tuteur, socratique, explique simplement, niveau34  professionnel, corrige ma réponse, préparation d'examen, défi, analyse multimodale, révision ciblée.35- **Isolation stricte** : espaces `official-imm1003` / `official-imm1033` / téléversements étudiants /36  `instructor-private` (examens et analyses, invisibles aux étudiants). Vérifiée par l'évaluation RAG.37- **Embeddings locaux** (multilingual-e5-small) : gratuits, privés, hors-ligne ; recherche hybride38  BM25 + vectoriel + fusion RRF. Rappel mesuré : 24/24 sur les jeux de validation.39- **Coûts maîtrisés** : registre dynamique des modèles avec paliers, budgets quotidiens/mensuels par40  étudiant et global, appliqués côté serveur.4142## Structure4344Voir `docs/technical-architecture.md`. Documentation complète dans `docs/` :45`setup` · `deployment` · `admin-guide` · `student-guide` · `openrouter` · `rag-architecture` ·46`ingestion` · `security` (+ `security-model`) · `data-model` · `api` · `testing` · `troubleshooting`.4748## Commandes4950| Commande | Effet |51|---|---|52| `pnpm dev` / `pnpm build` / `pnpm start` | Développement / build / production (port 3070) |53| `pnpm seed` | Amorçage (admin, cours, prompts, contenu pédagogique) — idempotent |54| `pnpm ingest` / `pnpm reindex` | Ingestion incrémentale / complète du matériel de cours |55| `pnpm test` | Tests unitaires (vitest) |56| `pnpm evaluate` | Évaluation RAG (rappel, refus, isolation) → `evaluation/rag-evaluation.md` |57| `./scripts/verify.sh` | Types + tests + évaluation RAG |58| `./scripts/backup.sh` | Sauvegarde datée de la base |5960## Avertissement pédagogique6162Immbot AI aide à **apprendre**. La politique d'intégrité académique (configurable par le professeur)63privilégie les indices et la démarche pour les travaux notés, et la plateforme ne prétend jamais64prédire le contenu des examens réels.65