Assistant IA local
L'assistant est un modèle de langage exécuté sur la machine de l'utilisateur, via Ollama. Il n'a accès ni au DOM, ni à la base, ni au disque, ni au réseau : il n'appelle que des tâches, exactement celles du moteur de workflows. Cette page décrit l'installation, le panneau et le périmètre exact de ce que le modèle peut faire.
Prérequis
| Élément | Valeur |
|---|---|
| Runtime | Ollama, écoutant sur 127.0.0.1:11434 |
| Modèle | Aucun modèle imposé. Le connecteur liste ceux installés via /api/tags et l'utilisateur choisit. |
| Fenêtre de contexte | 32k. Les résultats d'outils sont résumés pour ne pas la saturer. |
| Réseau | Aucun. Le transport refuse toute adresse non locale. |
Installer Ollama
Ollama est le moteur local qui sert le modèle. IsoFind ne l'embarque pas : il a sa propre licence et son propre rythme de versions, et vit en dehors de l'application, exactement comme les sources documentaires externes.
| Étape | Détail |
|---|---|
| Téléchargement | Depuis ollama.com/download, pour Windows, macOS ou Linux. Sous Windows, l'installeur enregistre Ollama comme service en arrière-plan lancé avec la session. |
| La commande ollama | L'installeur l'ajoute au PATH du système. Un nouveau terminal résout alors ollama --version ; sinon, l'entrée de PATH n'a pas été prise en compte et il faut rouvrir la session. |
| Stockage des modèles | Les modèles tirés sont volumineux. Ils vont dans %USERPROFILE%\\.ollama\\models sous Windows, ~/.ollama/models ailleurs. Définir OLLAMA_MODELS pour les déplacer sur un autre disque avant de tirer. |
| Adresse du service | Ollama écoute sur 127.0.0.1:11434. C'est l'adresse qu'attend le connecteur d'IsoFind ; la laisser locale. L'exposer sur 0.0.0.0 romprait la posture souveraine et air-gap sur laquelle l'assistant est bâti. |
Modèles recommandés
IsoFind n'impose aucun modèle, mais l'assistant ne fonctionne qu'avec un modèle capable d'appeler des outils : il agit en invoquant des tâches, jamais en produisant du texte que l'application devrait analyser. Un modèle incapable d'émettre un appel d'outil répond en texte sans rien déclencher : le panneau affiche une réponse, et aucune tâche n'est exécutée.
| Modèle | Note |
|---|---|
| qwen2.5:14b | Le choix fiable sur une carte de 12 Go, où il tient entièrement en VRAM. À l'essai, il appelle core.graphique et core.resume de façon sûre. |
| llama3.1:8b | Plus léger, adapté aux machines disposant de moins de mémoire. Appelle les outils de façon fiable. |
| qwen3:14b | Déconseillé pour cet assistant : à l'essai, il n'appelait pas core.graphique ni core.resume sous le même jeu d'outils que les autres géraient. |
Certains modèles écrivent les appels d'outils sous forme de fragments de texte plutôt que d'objets structurés, ce qui explique que le flux soit coupé quand des outils sont offerts (voir plus bas). Le nombre d'outils présentés est aussi réduit en mode conversation, un jeu trop large saturant un petit modèle au point qu'il cesse d'appeler quoi que ce soit.
Aucune clé d'API, aucun compte, aucune connexion sortante. En mode air-gap, l'assistant fonctionne à l'identique dès lors qu'Ollama et le modèle sont présents sur la machine.
Ce que le modèle peut faire
Le modèle appelle des tâches, et rien d'autre. Il n'a aucun pouvoir qu'un workflow n'ait déjà, et tout ce qu'il fait passe par le même chemin, le même journal et le même registre signé.
| Capacité | Par quel outil |
|---|---|
| Interroger la base en lecture | core.sql |
| Calculer des statistiques par groupe | core.resume |
| Agréger des analyses par échantillon | core.analyses |
| Tracer un graphique | core.graphique |
| Chercher des correspondances | core.correspondance |
| Afficher une carte | core.carte |
| Générer un rapport | core.rapport |
Ce qu'il ne peut pas faire
- Aucun accès au DOM : il ne clique pas, ne remplit pas de formulaire, ne navigue pas.
- Aucun accès direct à la base, au disque, ni à fetch.
- Aucune tâche du noyau ne supprime de données.
- Aucune donnée ne sort de la machine, y compris la campagne active, qui n'est jamais transmise au connecteur.
Le calcul ne passe jamais par le modèle
Le modèle ne calcule pas. Il appelle core.resume, qui rend n, moyenne, 2SD, min et max par groupe, calculés en code sur la totalité des lignes.
Résumé des résultats
Quand un outil rend un tableau, le modèle ne reçoit pas les données mais leur forme : nombre de lignes, colonnes, statistiques, et douze lignes d'exemple. L'utilisateur, lui, voit le tableau complet à l'écran.
| Le modèle reçoit | L'utilisateur voit | |
|---|---|---|
| Requête de 400 lignes | Forme : 400 lignes, 6 colonnes, statistiques, 12 lignes d'exemple | Le tableau complet, trié et exportable |
| Coût en jetons | Environ neuf fois moindre | Sans effet |
Sans ce résumé, un seul appel d'outil suffirait à pousser le modèle hors de sa fenêtre de 32k, et la conversation perdrait son début sans prévenir.
Panneau Assistant
Le panneau core.assistant affiche le fil de conversation, les appels d'outils avec leurs arguments, et les résultats rendus (tableaux, graphiques, cartes).
Le texte de réponse arrive en flux (NDJSON lu ligne par ligne). Le streaming est désactivé quand des outils sont offerts : un appel d'outil arrive en fragments, et le modèle l'écrit en texte. Le reconstituer à la volée obligerait à deviner, à chaque fragment, si l'on est au milieu d'un objet JSON ou d'une phrase. Le tour d'appel d'outil est bref ; c'est le tour de réponse qui est long, et celui-là est en flux.
Deux modes
| Mode plan | Mode agent | |
|---|---|---|
| Le modèle | Produit un workflow, ne touche à rien | Appelle les tâches directement |
| Relecture humaine | Avant exécution | Après coup |
| Rejouable | Oui, le workflow est un artefact | Non |
| Usage | Contextes régulés, livrables clients | Exploration, itération rapide |
Le détail est en page Mode plan et mode agent.