Un véritable agent IA qui agit dans QGIS. Parlez à vos données géographiques en langage naturel : l'agent route votre demande vers le meilleur modèle, appelle les outils QGIS, interroge le web et l'imagerie satellite, génère du PyQGIS — et exécute, le tout avec NVIDIA NIM au cœur.
Version courante : 3.10 — source unique : fichier VERSION à la racine.
Nom produit : « GeoSylva AI » (marketing) = plugin QGIS « QGISIA2 » (identifiant technique).
QGISIA est une spécialisation de Quintessences — écosystème d'intelligence environnementale propulsé par le moteur GSIE (General System Intelligence Engine).
|
|
|
|
QGISIA est la projection SIG et analytique du jumeau numérique fédéré GSIE. Il permet d'explorer, préparer, contrôler et exporter les ressources de GeoSylva, Ignis, Hydro, Flora et Artemis selon les contrats versionnés, sans devenir la source de vérité des autres domaines.
Voir GSIE_INTEGRATION.md.
Le catalogue est validé en live (scripts/validate_nvidia_models.py) et curé dans
QGISIA2/config/models.json. Quelques alias :
| Alias | Modèle primaire | Usage |
|---|---|---|
smart-default |
nemotron-3-super-120b |
Cerveau général (rapide + qualité) |
reasoning |
nemotron-3-ultra-550b |
Raisonnement spatial lourd |
code-pyqgis |
qwen3-coder-480b |
Génération de code PyQGIS |
vision |
nemotron-3-nano-omni |
Analyse de cartes / images |
intent-router |
nemotron-mini-4b |
Routage ultra-rapide |
Repli automatique vers OpenRouter / Groq / Ollama (100% offline) si besoin.
1. QGIS → Extensions → Installer depuis un ZIP → choisir le build (releases/)
2. Activer « QGISIA2 » dans la liste des extensions
3. Paramètres > Gateway IA → coller la clé NVIDIA NIM (build.nvidia.com)
4. Activer « Utiliser le Gateway » (+ « SIG Intelligent » et/ou « Mode Action »)
git clone https://github.com/NeooeN45/QGISIA2.git
cd QGISIA2
npm install
npm run dev # UI sur http://localhost:3000
npm run build # build du plugin (QGISIA2/web/)Clés pour scripts/dev — copier .env.example en .env.local (gitignoré) :
NVIDIA_API_KEY=nvapi-...UI React (Chat)
└─► HTTP ─► /api/llm/chat (chat simple)
/api/llm/smart (fédération multi-agents)
/api/llm/agent (boucle de tool-calling)
│
llm_gateway.py (LiteLLM) ── NVIDIA NIM (cœur) + fallbacks
│
┌────────────┼─────────────────┐
fédération tool-calling outils natifs
multi-agents (outils QGIS) (web / géo / satellite)
│
bridge QGIS (/api/qgis/*) ─► PyQGIS réel
Détails complets : docs/architecture/AGENTIC_BACKEND.md. Index de la doc : docs/README.md.
- Clés API : chiffrées au repos via AES-GCM 256 bits (WebCrypto), avec une
clé maître non extractible stockée dans IndexedDB ; jamais commitées, jamais
envoyées au serveur sans action utilisateur.
⚠️ Pour une app côté client, aucun schéma local n'est inviolable face à un XSS/attaquant local — pour un secret hautement sensible, préférer un stockage backend (QgsSettings / keychain OS). - Exécution PyQGIS : tout script généré par l'IA passe par une double
validation avant
exec()— blocklist regex et analyse AST (imports dangereux, accès dunder d'évasion, builtinseval/exec/open…) — puis par les guardrails (actions destructives bloquées ou soumises à confirmation, sauf Mode Auto). Note : ce n'est pas un sandbox complet ; ne pas exposer le bridge hors127.0.0.1. - Bridge HTTP local : écoute uniquement sur
127.0.0.1, CORS restreint aux origines locales, taille de requête bornée, rate-limiting actif.
| Commande | Couvre |
|---|---|
python -m pytest tests/ |
Tests unitaires (gateway, fédération, tools, vision) |
npm run test |
Tests front (Vitest) |
python tests/manual/test_live_e2e.py |
e2e live contre NVIDIA (chat, routage, tool-calling, géo) |
tests/_run_qgis.bat tests/qgis_real_smoke.py |
Bridge PyQGIS réel dans QGIS |
tests/_run_qgis.bat tests/qgis_grandeur_nature_smoke.py |
Scénarios utilisateur de bout en bout |
🇫🇷 IGN / Géoplateforme · Cadastre (API Carto) · Overpass / OpenStreetMap · Copernicus · Hub'Eau · GBIF · DVF — 🌍 Nominatim · Open-Meteo · STAC Earth Search (Sentinel-1/2, Landsat) · Wikipédia.
| QGIS | 3.16+ et 4.x (PyQt5 / PyQt6) — testé sur 3.44.8 LTR |
| OS | Windows · Linux · macOS |
| Python | 3.9+ |
Pour toute question, réclamation ou collaboration :