Présentation
Le projet Offline Survival Assistant propose un ensemble complet d’outils de survie fonctionnant sans aucune connexion Internet. Il regroupe des guides pratiques (eau, feu, abri, premiers secours, etc.) et un modèle de langage local capable de répondre en langage naturel tout en citant ses sources. L’ensemble s’installe sur une clé USB ou un disque externe formaté en exFAT, ce qui garantit la compatibilité avec Windows, Linux et macOS.
Architecture technique
Le cœur du système repose sur trois modules : une recherche BM25 sur les fichiers markdown, l’interrogation de bibliothèques Kiwix au format .zim, et un modèle de langage exécuté via llama.cpp ou Ollama. Le flux de traitement est le suivant : la question de l’utilisateur est d’abord traitée par le moteur de recherche, puis les passages pertinents sont transmis au LLM qui génère une réponse enrichie de références [1][2]. Si aucun modèle n’est disponible, le moteur renvoie les passages les plus pertinents directement.
python sobrevivencia.py --lang en chat
python sobrevivencia.py --lang en ask "how do I make oral rehydration solution?"
python sobrevivencia.py start --host 0.0.0.0Le serveur web local écoute sur le port 8090 et peut être partagé sur le réseau local, permettant à d’autres appareils (smartphones, tablettes) d’accéder à l’interface via le navigateur.
Exigences matérielles et logicielles
Trois tailles de modèle sont proposées : leve (≈1 Go, 4 Go RAM), padrao (≈2 Go, 8 Go RAM, recommandé) et forte (≈4.7 Go, 16 Go RAM). Tous les modèles fonctionnent sur des CPU x86‑64 avec support AVX2 ou sur Apple Silicon/ARM64 ; aucune carte graphique n’est requise. Le disque nécessaire varie de 3 Go pour le kit minimal (seulement la recherche) à plus de 100 Go pour la version complète incluant l’intégralité de Wikipedia. Les bibliothèques Kiwix sont disponibles en trois niveaux : minimo (3‑5 Go), recomendado (25‑40 Go) et completo (>100 Go).
Le kit inclut un environnement Python portable, garantissant son exécution même sur des machines dépourvues d’interpréteur Python installé. La configuration minimale requiert Python 3.8+, 4 Go de RAM pour le modèle léger et un processeur compatible AVX2. Aucun GPU n’est nécessaire, ce qui simplifie le déploiement sur du matériel grand public.
Limitations et perspectives
Le projet se limite à un usage éducatif ; les réponses médicales ou de sécurité ne remplacent pas les professionnels. Les licences varient : le code source est sous MIT, les guides sous CC BY‑SA 4.0, tandis que le modèle par défaut (Qwen2.5 3B) est soumis à la licence Qwen Research, imposant des restrictions pour un usage commercial. L’absence de mise à jour automatique signifie que les connaissances restent figées à la date de génération des fichiers .zim et des guides.
Sur le plan technique, la dépendance à llama.cpp ou à un serveur compatible OpenAI impose une configuration correcte du fichier settings.local.json. Le partage réseau expose le service à des risques de sécurité si le réseau local n’est pas isolé, même si aucune donnée n’est transmise à l’extérieur. Enfin, la taille du kit complet (plus de 100 Go) peut dépasser la capacité de certaines clés USB, limitant son adoption sur du matériel à faible capacité.