SPB Git

spb/immbot-ai

Public
History
NameLast commitUpdated
app chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
components chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
docs chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
evaluation chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
lib chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
prompts chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
public chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
scripts chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
seed-data chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
tests chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
.gitignore chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
docker-compose.yml chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
Dockerfile chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
next.config.ts chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
package.json chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
pnpm-lock.yaml chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
pnpm-workspace.yaml chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
postcss.config.mjs chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
README.md chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
tsconfig.json chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
vitest.config.ts chore(retrait cluster): synchro copie du nœud M3U96b + README « URL live hors...
README.md source

⚠️ 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.ai

# Immbot AI

Environnement d'apprentissage intelligent pour les cours IMM1003 et IMM1033 (évaluation immobilière, UQO).

Immbot AI combine un assistant conversationnel multimodal fondé sur le matériel officiel des cours (RAG avec citations vérifiables par diapositive), un centre d'apprentissage complet (flashcards à répétition espacée, quiz adaptatifs, examens blancs, carte des concepts, plans d'étude, cahier d'erreurs) et un tableau de bord professeur — propulsé par tous les modèles OpenRouter.

# Démarrage rapide

bash
cd immbot-ai
./scripts/setup.sh      # dépendances + .env + seed + ingestion des cours
./scripts/dev.sh        # http://localhost:3070

Connexion initiale : admin / admin123 — le changement de mot de passe est forcé à la première connexion (le mot de passe initial n'est jamais accepté comme permanent).

Renseignez OPENROUTER_API_KEY dans .env pour activer le chat (le RAG, les flashcards seed, les quiz et les examens blancs fonctionnent sans clé).

# Points clés

  • Source de vérité : les fichiers LaTeX des cours (1 691 diapositives, plans, ateliers, glossaire) sont parsés à la source → citations exactes [IMM1003 — Séance 4 — Diapositive 18], cliquables, validées côté serveur (aucune citation inventée ne survit).
  • Trois modes de connaissances : Cours uniquement (défaut, refus honnête si le matériel ne suffit pas) · Cours + général (sections séparées) · Général (signalé).
  • Dix modes pédagogiques : demander au cours, tuteur, socratique, explique simplement, niveau professionnel, corrige ma réponse, préparation d'examen, défi, analyse multimodale, révision ciblée.
  • Isolation stricte : espaces official-imm1003 / official-imm1033 / téléversements étudiants / instructor-private (examens et analyses, invisibles aux étudiants). Vérifiée par l'évaluation RAG.
  • Embeddings locaux (multilingual-e5-small) : gratuits, privés, hors-ligne ; recherche hybride BM25 + vectoriel + fusion RRF. Rappel mesuré : 24/24 sur les jeux de validation.
  • Coûts maîtrisés : registre dynamique des modèles avec paliers, budgets quotidiens/mensuels par étudiant et global, appliqués côté serveur.

# Structure

Voir docs/technical-architecture.md. Documentation complète dans docs/ : setup · deployment · admin-guide · student-guide · openrouter · rag-architecture · ingestion · security (+ security-model) · data-model · api · testing · troubleshooting.

# Commandes

Commande Effet
pnpm dev / pnpm build / pnpm start Développement / build / production (port 3070)
pnpm seed Amorçage (admin, cours, prompts, contenu pédagogique) — idempotent
pnpm ingest / pnpm reindex Ingestion incrémentale / complète du matériel de cours
pnpm test Tests unitaires (vitest)
pnpm evaluate Évaluation RAG (rappel, refus, isolation) → evaluation/rag-evaluation.md
./scripts/verify.sh Types + tests + évaluation RAG
./scripts/backup.sh Sauvegarde datée de la base

# Avertissement pédagogique

Immbot AI aide à apprendre. La politique d'intégrité académique (configurable par le professeur) privilégie les indices et la démarche pour les travaux notés, et la plateforme ne prétend jamais prédire le contenu des examens réels.

Clone immbot-ai

Anonymous clone and fetch. Pushing requires the owner's personal access token.

ZIP tar.gz snapshot of main
Files · main
Menu

Theme