Documentation du site BACR

Documentation complète du contenu du site basée sur l'application BACR

02

Commencer

Aperçu

BACR (Bot Assistant with Contextual Retrieval) est un assistant de chat IA sophistiqué qui combine le traitement avancé de documents, le routage intelligent des requêtes et la mémoire persistante. Construit avec Python, Flet, LangGraph et FAISS, BACR offre une expérience d'assistant IA de bureau puissante avec des capacités de compréhension de documents locales.

Points clés :

  • 🤖 Routage IA multi-modèles avec classification automatique des requêtes
  • 📚 Système RAG hybride avec recherche vectorielle et reclassement IA
  • 💾 Mémoire inter-sessions qui apprend de vos conversations
  • 🎨 Interface graphique de bureau moderne avec support des thèmes
  • 🔐 Authentification Google OAuth sécurisée
  • 📊 Suivi en temps réel de l'utilisation des jetons et des coûts

Pourquoi BACR ?

Pour les développeurs :

  • Traitement local des documents sans envoi de fichiers vers des API externes
  • Routage intelligent conscient du code pour les questions de programmation
  • Support multi-format (PDF, DOCX, TXT, MD, et plus)
  • Historique de conversation persistant entre les sessions

Pour les chercheurs :

  • RAG avancé avec reclassement Jina AI pour une récupération précise des documents
  • Suivi des citations - seules les sources citées sont affichées
  • Mémoire inter-sessions pour construire des connaissances au fil du temps
  • Exportation des conversations en PDF pour la documentation

Pour les équipes :

  • Bases de données isolées par utilisateur pour la confidentialité
  • Clés API gérées par serveur pour un déploiement facile
  • Mode Zero Data Retention (ZDR) pour les utilisateurs soucieux de la confidentialité
  • Suivi des coûts par requête pour la gestion du budget

Fonctionnalités

IA & Intelligence

  • Routage intelligent en deux étapes : Les requêtes sont automatiquement classées et routées vers le modèle optimal
    • Étape 1 : Gestion de fichiers → RAG (recherche de documents) → LLM direct
    • Étape 2 : Codage → Raisonnement → Chat → Recherche
  • Intégration de modèles : Accès à plus de 200 modèles IA incluant GPT-4, Claude, Gemini, DeepSeek, et plus
  • Streaming en temps réel : Réponses jeton par jeton avec mises à jour de statut en direct
  • Suivi des coûts : Surveillez l'utilisation des jetons et les coûts par requête avec des détails détaillés
  • Modes de modèle : Basculez entre ZDR et non-ZDR

Traitement de documents (RAG)

  • Recherche hybride : Combine la similarité vectorielle avec le reclassement Jina AI
  • Embeddings locaux : Utilise un modèle d'embedding GGUF local - pas d'appels API pour les embeddings
  • Filtrage intelligent : Le seuil de pertinence supprime automatiquement les morceaux non pertinents
  • Citations intelligentes : Le LLM cite les sources comme (Doc 1), (Doc 2) ; seules les sources citées sont affichées
  • Stockage persistant : Index FAISS spécifiques à l'utilisateur sauvegardés dans ~/.bacr/user_databases/
  • Support multi-format : PDF, TXT, MD, DOCX, XLSX, PPTX, RTF, CSV, JSON, YAML, et plus

Mémoire & Contexte

  • Mémoire inter-sessions : Mémoire sémantique LangMem qui persiste à travers toutes les conversations
  • Bases de données spécifiques à l'utilisateur : Bases de données SQLite isolées par utilisateur pour la confidentialité
  • Historique persistant : Toutes les conversations sauvegardées et consultables
  • Conscient du contexte : Chaque session maintient un contexte indépendant avec suivi des fichiers

Interface utilisateur

  • Interface Flet moderne : Interface de bureau propre et réactive construite avec Flutter
  • Support des thèmes : Thèmes clair, sombre et système (persiste entre les redémarrages)
  • Sessions à onglets : Plusieurs conversations indépendantes avec changement facile
  • Contrôle de la taille de police : Taille de texte ajustable avec contrôles visuels
  • Barre d'état : Nombre de fichiers en temps réel, utilisation des jetons et solde de crédit
  • Mode d'exportation : Sélectionnez et exportez des messages spécifiques en PDF

Authentification & Sécurité

  • Google OAuth : Connexion sécurisée avec support de connexion automatique via jetons de rafraîchissement
  • Photos de profil : Récupérées fraîches depuis Google à chaque connexion
  • Isolation des utilisateurs : Toutes les données séparées par compte utilisateur
  • Protection de la vie privée : Les données utilisateur sont isolées

Architecture

BACR est construit avec une architecture modulaire qui sépare les préoccupations et permet une maintenance facile :

Couche Frontend :

  • Interface graphique basée sur Flet avec composants réactifs
  • Intégration Google OAuth pour l'authentification
  • Mises à jour de statut en temps réel et réponses en streaming
  • Gestion des thèmes et des préférences

Couche Core :

  • Gestion de conversation basée sur LangGraph
  • Système de routage intelligent en deux étapes
  • RAG hybride avec recherche vectorielle et reclassement
  • Mémoire inter-sessions avec LangMem

Couche Backend :

  • Client API serveur pour l'authentification et la gestion des clés API
  • Gestionnaire de modèles avec basculement de mode ZDR/non-ZDR
  • Accès multi-modèles
  • Suivi de l'utilisation des jetons et calcul des coûts

Couche de stockage :

  • Bases de données SQLite spécifiques à l'utilisateur
  • Index vectoriels FAISS pour les embeddings de documents
  • Système de fichiers local pour la mise en cache des documents
03

Installation

Exigences

Configuration système requise :

  • Système d'exploitation : Windows 10/11, Linux (Ubuntu 20.04+, Fedora, Arch), macOS 11+
  • Python : 3.9 ou supérieur
  • RAM : 4 Go minimum, 8 Go recommandé
  • Espace disque : 2 Go pour l'application et les dépendances
  • Internet : Requis pour l'authentification et l'accès API

Windows

Linux

MacOS

Non disponible

04

Référence CLI

Commandes

BACR fournit un ensemble complet de commandes slash pour gérer les fichiers, les sessions et les conversations.

Gestion des fichiers

/add <filepath>

  • Ajouter un document au système RAG pour le contexte
  • Supporte : PDF, TXT, MD, DOCX, XLSX, PPTX, RTF, CSV, JSON, YAML
  • Exemple : /add C:\Documents\report.pdf
  • Crée des embeddings et indexe le document pour la recherche

/remove <filename>

  • Supprimer un fichier spécifique du système RAG
  • Exemple : /remove report.pdf
  • Supprime les embeddings et libère la mémoire

/files

  • Lister tous les fichiers actuellement dans le système RAG
  • Affiche les noms de fichiers et le nombre de morceaux
  • Affiche la taille totale du contexte

/clear

  • Supprimer tous les fichiers du système RAG
  • Efface tous les embeddings de documents
  • N'efface pas l'historique de chat

Gestion des sessions

/new-chat ou Ctrl+N

  • Démarrer une nouvelle conversation dans un nouvel onglet
  • Crée un contexte indépendant
  • Les sessions précédentes restent accessibles

/close-tab ou Ctrl+W

  • Fermer l'onglet de conversation actuel
  • Sauvegarde la conversation dans la base de données
  • Ne peut pas fermer le dernier onglet

/list-chats

  • Afficher toutes les conversations sauvegardées
  • Affiche les noms de session et les horodatages
  • Affiche le nombre de messages

/load-chat <name_or_id>

  • Charger une conversation dans l'onglet actuel
  • Remplace la conversation actuelle
  • Exemple : /load-chat Project Discussion

/open-chat <name_or_id>

  • Ouvrir une conversation dans un nouvel onglet
  • Conserve la conversation actuelle
  • Exemple : /open-chat Meeting Notes

/rename-chat <new_name>

  • Renommer la conversation actuelle
  • Exemple : /rename-chat Q1 Planning
  • Ne peut pas renommer les sessions temporaires

/delete-chat <name_or_id>

  • Supprimer définitivement une conversation sauvegardée
  • Exemple : /delete-chat Old Notes
  • Ne peut pas être annulé

Historique de chat

/clear-chat ou /clear

  • Effacer l'historique de chat pour la conversation actuelle
  • Supprime tous les messages de l'affichage et de l'état
  • Ne supprime pas la conversation sauvegardée
  • Les fichiers restent dans le contexte

/export-chat

  • Exporter la conversation actuelle vers un fichier
  • Sauvegarde comme fichier texte horodaté
  • Inclut tous les messages et métadonnées
  • Emplacement : ~/.bacr/exports/

/import-chat <filepath>

  • Importer une conversation depuis un fichier
  • Supporte les formats TXT et PDF
  • Ajoute à la conversation actuelle
  • Exemple : /import-chat notes.txt

Utilitaires

/tokens

  • Afficher l'utilisation des jetons pour la conversation actuelle
  • Affiche les jetons d'entrée, de sortie et totaux
  • Affiche les coûts estimés
  • Agrège sur toutes les sessions

/find <query>

  • Rechercher dans tout l'historique de conversation
  • Ouvre l'interface de recherche
  • Met en évidence les messages correspondants
  • Exemple : /find API documentation

/help

  • Ouvre la page d'aide dans le navigateur
  • Affiche toutes les commandes disponibles
  • Inclut des exemples et des descriptions

/quit

  • Fermer l'application
  • Sauvegarde toutes les conversations
  • Efface les clés API de la mémoire

Configuration

Basculement de thème

  • Cliquez sur l'icône de thème dans la barre supérieure
  • Bascule entre clair/sombre
  • La préférence persiste entre les redémarrages

Taille de police

  • Cliquez sur les boutons de taille de police dans la barre supérieure
  • Ajuste la taille du texte pour tous les messages
  • Plage : 12px à 20px

Basculement du mode ZDR

  • Cliquez sur le basculement ZDR dans les paramètres
  • Bascule entre les modèles gratuits et premium
  • Efface le cache du modèle lors du basculement

Commandes Shell

BACR supporte les commandes shell courantes pour la navigation du système de fichiers :

cd <directory>

  • Changer le répertoire de travail actuel
  • Exemple : cd Documents
  • Affecte les opérations sur les fichiers

ls ou dir

  • Lister les fichiers dans le répertoire actuel
  • Affiche les noms de fichiers et les tailles

pwd

  • Imprimer le répertoire de travail
  • Affiche le chemin actuel

cat <file>

  • Afficher le contenu du fichier
  • Exemple : cat notes.txt

mkdir <directory>

  • Créer un nouveau répertoire
  • Exemple : mkdir projects

rm <file>

  • Supprimer un fichier (utiliser avec précaution)
  • Exemple : rm temp.txt

cp <source> <dest>

  • Copier un fichier
  • Exemple : cp file.txt backup.txt

mv <source> <dest>

  • Déplacer ou renommer un fichier
  • Exemple : mv old.txt new.txt

etc

Exemples d'utilisation

Chat de base :

Utilisateur : Qu'est-ce que l'apprentissage automatique ?
BACR : [Diffuse la réponse avec statut en temps réel]

Traitement de documents :

Utilisateur : /add C:\Reports\Q4_Analysis.pdf
BACR : ✔︎ Q4_Analysis.pdf ajouté avec succès (45 morceaux)

Utilisateur : Quelles étaient les principales conclusions du T4 ?
BACR : Selon l'analyse du T4 (Doc 1), les principales conclusions étaient...

Sources :
• Q4_Analysis.pdf

Flux de travail multi-sessions :

Utilisateur : /new-chat
Utilisateur : /add project_spec.md
Utilisateur : Expliquez le flux d'authentification
BACR : [Fournit une explication détaillée avec citations]

Utilisateur : /rename-chat Auth Documentation
Utilisateur : /export-chat
BACR : ✔︎ Exporté vers ~/.bacr/exports/Auth_Documentation_2026-03-07.txt

Recherche dans l'historique :

Utilisateur : /find API endpoints
BACR : [Ouvre l'interface de recherche avec 12 correspondances sur 3 conversations]
05

Référence API

Authentification

BACR utilise Google OAuth 2.0 pour l'authentification des utilisateurs et la gestion des clés API basée sur le serveur.

Système RAG

Le système RAG (Retrieval-Augmented Generation) combine la recherche vectorielle, la recherche par mots-clés et le reclassement.

Sécurité

Stockage des données :

  • Jetons de rafraîchissement : Registre Windows (chiffré)
  • Conversations : SQLite local (spécifique à l'utilisateur)
  • Documents : Index FAISS locaux (spécifiques à l'utilisateur)
  • Préférences : Registre Windows (chiffré)

Transmission des données :

  • Tous les appels API utilisent HTTPS
  • Google OAuth utilise le flux PKCE
  • Les jetons JWT expirent après 24 heures
  • Les jetons de rafraîchissement expirent après 30 jours

Confidentialité :

  • Données utilisateur isolées par hash
  • Aucun contenu de document envoyé au serveur
  • Seuls les embeddings stockés localement
  • Utilisation des jetons enregistrée uniquement pour la facturation

Meilleures pratiques :

  • Se déconnecter lorsque terminé pour effacer les clés API
  • Ne pas partager les jetons de rafraîchissement
  • Utiliser le mode ZDR pour les données sensibles
  • Exporter régulièrement les conversations importantes
06

Ressources supplémentaires

Support

Légal

Version : 1.0.0
Dernière mise à jour : 7 mars 2026 Documentation : https://bacr.app/documentation

Maintenu avec soin par L'équipe BACR