Intermédiaire 18 minJuridique

Analyse de contrats pour cabinets d'avocats : LLM local FR

L'analyse de contrats avocats par LLM local n'est pas un confort : c'est une obligation déontologique. Un projet de pacte d'associés, un protocole transactionnel ou un avenant client envoyé à ChatGPT, c'est une violation potentielle de l'article 226-13 du Code pénal et du serment d'avocat. Ce guide monte un pipeline 100 % local autour de Mistral Magistral (modèle de raisonnement français) et AnythingLLM, capable d'extraire les clauses, comparer deux versions et cartographier les risques d'un contrat — sans qu'un seul token ne quitte le cabinet.

Par Clara M.·Màj 2026-06-15·Testé sur Windows, macOS, Linux

#Secret professionnel = local obligatoire

Le secret professionnel de l'avocat (article 66-5 de la loi de 1971, article 226-13 du Code pénal, RIN article 2) est général, absolu et d'ordre public. Il couvre tout document remis par le client ou élaboré pour lui, y compris en phase de relecture contractuelle. Le Conseil national des barreaux a rappelé à plusieurs reprises que l'utilisation d'IA cloud sur des données couvertes par le secret expose à un manquement déontologique.

Les conditions d'utilisation des LLM grand public (ChatGPT, Claude, Gemini) prévoient, sauf offre Enterprise spécifique, une utilisation des prompts à des fins d'amélioration du service, un stockage dans des datacenters hors UE, et une réquisition possible par les autorités du pays d'hébergement. Pour un protocole transactionnel ou un dossier pénal, ça suffit à transformer une bonne idée en risque ordinal.

!
Le "no-training" ne couvre pas tout
Même un contrat OpenAI Enterprise avec opt-out du training laisse vos prompts transiter par des serveurs tiers et soumis au CLOUD Act. Pour un avocat, le seul niveau acceptable de garantie est l'inférence locale, sur une machine du cabinet, sans connexion sortante pendant l'analyse.

#La stack : Mistral Magistral + AnythingLLM

Trois briques. Ollama comme moteur d'inférence, écoutant sur http://localhost:11434. Mistral Magistral comme modèle : c'est un modèle français de raisonnement, entraîné par Mistral AI, qui produit une chaîne de pensée explicite avant la réponse — exactement ce qu'on veut pour expliquer pourquoi une clause est à risque. AnythingLLM comme interface : multi-workspaces, RAG intégré, gestion des documents, traçabilité des conversations.

Mistral Magistral Small (24B)
Le bon compromis. Q4_K_M tient en 19 Go de VRAM, qualité juridique FR au niveau d'un GPT-4o sur de la relecture contractuelle classique.
Mistral Magistral 7B
Variante plus légère si vous êtes sur 12 Go de VRAM. Moins fin sur les subtilités, mais fait le travail pour de l'extraction de clauses standards.
AnythingLLM Desktop ou Docker
Desktop pour un seul poste avocat, Docker derrière Traefik pour partager entre plusieurs collaborateurs du cabinet sur l'intranet.
Embeddings nomic-embed-text
Multilingue, gratuit, suffisant pour du RAG sur 50–500 contrats. Pas besoin de modèle d'embeddings spécialisé juridique en première intention.
i
Pourquoi Magistral plutôt qu'un modèle généraliste
Sur l'analyse juridique, la chaîne de pensée est précieuse : Magistral écrit son raisonnement avant de conclure, ce qui rend la sortie auditable. Un avocat senior peut relire le raisonnement et identifier en 10 secondes si le modèle a mal compris une clause — chose impossible avec une réponse en bloc.

#Prérequis matériel et logiciel

GPU NVIDIA RTX 4080 16 Go ou mieux
Minimum pour Magistral Small en Q4_K_M. RTX 4090 24 Go ou RTX 5090 32 Go pour confort et contexte étendu.
Alternative Mac
Mac Studio M4 Max 48 Go ou M2 Ultra 64 Go : Magistral Small tourne très bien en MLX, 15–25 tokens/sec sur du contrat français.
32 Go de RAM système
Le PDF parsing, AnythingLLM et le navigateur consomment. 32 Go évite le swap.
SSD 500 Go minimum
Modèles (~15 Go), base vectorielle, archive des contrats indexés. Chiffrement BitLocker / LUKS / FileVault obligatoire.
Système d'exploitation
Windows 11 Pro, macOS 14+ ou Ubuntu 22.04/24.04 LTS. Pas de version Home pour le chiffrement de disque complet.
Ollama installé
Daemon qui écoute par défaut sur http://localhost:11434. Service systemd sous Linux, app native sous Windows / macOS.
Air-gap pendant l'analyse
Une fois Ollama et les modèles installés, vous pouvez couper Internet sur la machine d'inférence pendant l'analyse d'un dossier sensible. Aucune brique ne phone home : la garantie devient matérielle, pas contractuelle.

#1. Installer Mistral Magistral + AnythingLLM

  1. 01
    Récupérer Magistral via Ollama
    Une seule commande télécharge le modèle (environ 14 Go en Q4_K_M pour la variante Small) et l'enregistre dans le registre Ollama local. Comptez 5 à 15 minutes selon votre connexion.
  2. 02
    Tester le modèle en CLI
    Avant tout setup d'interface, vérifiez que l'inférence tourne et que le GPU est bien utilisé. ollama ps doit afficher 100% GPU sur la colonne PROCESSOR.
  3. 03
    Installer AnythingLLM Desktop
    Téléchargez l'installateur officiel depuis useanythingllm.com. Installation standard, lancement automatique, configuration en 3 écrans.
  4. 04
    Connecter AnythingLLM à Ollama
    Dans Settings → LLM Preference, choisir Ollama, URL http://localhost:11434, et sélectionner magistral dans la liste des modèles détectés. Embeddings : nomic-embed-text via Ollama également.
Pull du modèle
# Variante Small (24B) — recommandée
ollama pull magistral

# Test rapide en CLI
ollama run magistral "Analyse cette clause : 'Le présent contrat est résilié de plein droit en cas de retard de paiement.' Donne ton raisonnement avant ta conclusion."

# Vérifier que c'est sur GPU
ollama ps
Embeddings pour le RAG
ollama pull nomic-embed-text

#2. Workspace cabinet et system prompt

AnythingLLM fonctionne par workspaces. La bonne hygiène pour un cabinet : un workspace par grande catégorie de matière (droit des affaires, droit social, droit pénal), pas un par dossier. Le RAG reste pertinent à cette granularité, et la séparation par matière évite les contaminations sémantiques entre univers juridiques.

  1. 01
    Créer un workspace "Droit des contrats — Affaires"
    Dans AnythingLLM : New Workspace. Choisir un nom métier, pas le nom d'un client. Régler le modèle de chat sur magistral et la température autour de 0.2 pour limiter la créativité.
  2. 02
    Importer les contrats à analyser
    Drag-and-drop des PDF dans l'onglet Documents du workspace. AnythingLLM extrait le texte, chunk, embed et stocke dans la base vectorielle locale (LanceDB par défaut).
  3. 03
    Coller le system prompt juridique
    Workspace Settings → Chat Settings → Prompt. C'est ici qu'on borde le comportement du modèle pour un usage cabinet.
System prompt — Workspace cabinet d'avocats
Tu es un assistant d'analyse contractuelle utilisé par un avocat
inscrit au barreau français. Tu n'es PAS l'avocat. Tu prépares son
travail de relecture.

RÈGLES IMPOSÉES
1. Tu cites TOUJOURS textuellement les passages que tu analyses,
   entre guillemets, en indiquant l'article ou la section.
2. Tu n'inventes JAMAIS une clause. Si une clause demandée n'est
   pas dans le contrat, tu dis : "Absent du contrat fourni."
3. Tu n'émets aucun avis juridique définitif. Tu signales des
   points d'attention, jamais des certitudes.
4. Tu raisonnes EXPLICITEMENT avant de conclure (chaîne de pensée).
5. Tu utilises la terminologie juridique française correcte
   (Code civil, Code de commerce, jurisprudence Cass. com., etc.).
6. Tu refuses toute tâche hors champ contractuel.

FORMAT DE SORTIE PAR DÉFAUT
- Section RAISONNEMENT : ta réflexion étape par étape.
- Section CONSTATS : liste à puces, chaque puce = clause + citation
  + point d'attention en une phrase.
- Section À VÉRIFIER PAR L'AVOCAT : 1 à 5 points qui demandent
  l'expertise humaine.
Garder la chaîne de pensée visible
Contrairement à un usage chatbot grand public où la chaîne de pensée encombre, ici elle a une vraie valeur : c'est le matériau qui permet à l'avocat de valider que le modèle a bien compris. Ne la cachez pas.

#3. Extraire les clauses types

Premier vrai cas d'usage : faire une cartographie des clauses standards présentes dans un contrat, sans relecture manuelle exhaustive. On envoie au modèle une grille de clauses-type et on lui demande de pointer chacune dans le document chargé dans le workspace.

Prompt — Extraction de clauses
Analyse le contrat chargé dans ce workspace. Pour chacune des
clauses ci-dessous, indique si elle est présente, cite textuellement
le passage correspondant (ou "Absent du contrat fourni"), et signale
en une phrase tout point qui mérite l'attention de l'avocat.

GRILLE DE CLAUSES À RECHERCHER :
1. Objet du contrat et périmètre des prestations
2. Durée et conditions de renouvellement (tacite reconduction ?)
3. Prix, modalités de révision, indexation
4. Modalités de paiement et pénalités de retard (taux légal ?)
5. Clause de propriété intellectuelle (cession ou licence ?)
6. Clause de confidentialité (durée post-contractuelle ?)
7. Clause de non-concurrence (durée, périmètre, contrepartie)
8. Clause de limitation / exclusion de responsabilité (réciproque ?)
9. Clause de force majeure (définition propre ou renvoi article 1218 ?)
10. Clause résolutoire (mise en demeure préalable ?)
11. Cession du contrat (autorisation préalable ?)
12. Données personnelles et conformité RGPD
13. Loi applicable et juridiction compétente
14. Clause compromissoire ou attributive de juridiction

Respecte strictement le format de sortie défini dans tes instructions.
i
Adapter la grille à votre pratique
Cette grille est un point de départ généraliste. Un cabinet en droit social aura une grille très différente (clause de mobilité, période d'essai, clause de dédit-formation, rupture conventionnelle). Maintenez une grille par grande matière, versionnez-la dans un dossier interne.

#4. Comparer v1 / v2 d'un contrat

Cas d'usage à très forte valeur : la partie adverse renvoie une version annotée du protocole. Quelles sont les modifications réelles ? Lesquelles sont cosmétiques, lesquelles changent l'économie du contrat ? La comparaison manuelle prend une heure par dizaine de pages. Magistral la fait en deux minutes, à charge pour l'avocat de valider.

  1. 01
    Charger les deux versions dans le workspace
    Importer v1 (originelle) et v2 (retour partie adverse) dans le workspace. Les renommer explicitement : "protocole_v1_ndp.pdf" et "protocole_v2_retour_adverse.pdf" pour que le modèle puisse les distinguer.
  2. 02
    Forcer le pinning des deux documents
    Dans AnythingLLM, épingler (pin) les deux documents au workspace force leur inclusion intégrale dans le contexte (jusqu'à la taille de fenêtre du modèle), sans passer par le retrieval. Indispensable pour la comparaison.
  3. 03
    Vérifier la fenêtre de contexte
    Magistral supporte 32k tokens en standard. Deux versions d'un contrat de 25 pages tiennent généralement sans problème. Au-delà, basculer sur un découpage par section.
Prompt — Comparaison v1 / v2
Compare la version 1 (document "protocole_v1_ndp.pdf") et la
version 2 (document "protocole_v2_retour_adverse.pdf") du même
protocole transactionnel.

Ne relève QUE les modifications de fond. Ignore les corrections
purement orthographiques, typographiques ou de mise en forme.

Classe les modifications en quatre catégories :

A. FAVORABLES à notre client (le bénéficiaire de l'indemnité)
B. DÉFAVORABLES à notre client
C. NEUTRES sur l'économie du contrat
D. AJOUTS ou SUPPRESSIONS d'articles entiers

Pour chaque modification :
- Cite l'article ou la section concernée.
- Donne la formulation v1 entre guillemets.
- Donne la formulation v2 entre guillemets.
- Explique en une phrase l'impact juridique réel.

À la fin, propose une liste de 3 à 5 points à NÉGOCIER avec la
partie adverse, classés par priorité.
!
La sortie n'est pas un track-changes
Le modèle peut manquer une modification subtile (un "et" devenu "ou", un délai passé de 30 à 15 jours dans un long paragraphe). Pour les contrats à très fort enjeu, gardez un diff caractère par caractère (par exemple via pandoc ou Word) en complément. Le LLM aide à hiérarchiser, pas à se substituer au diff.

#5. Cartographier les risques

Troisième usage : produire en sortie une note de risque structurée, prête à être versée au dossier client. C'est ici que la chaîne de pensée de Magistral devient un atout : elle alimente la motivation de la note.

Prompt — Note de risques
Établis une NOTE DE RISQUES sur le contrat chargé, destinée à
être versée au dossier interne du cabinet (pas remise au client
en l'état).

Structure attendue :

1. SYNTHÈSE EXÉCUTIVE (5 lignes max)
   - Nature du contrat
   - Parties
   - Enjeu principal en une phrase
   - Niveau de risque global (faible / modéré / élevé) + justification

2. RISQUES JURIDIQUES IDENTIFIÉS
   Pour chaque risque :
   - Intitulé du risque
   - Clause(s) concernée(s), citées textuellement
   - Probabilité de survenance (faible / modérée / élevée)
   - Impact (faible / modéré / élevé)
   - Disposition de droit applicable ou jurisprudence à vérifier

3. RECOMMANDATIONS DE RÉDACTION
   - 3 à 7 propositions de modification, formulées comme des
     suggestions de rédaction concrètes.

4. POINTS À ÉCLAIRCIR AVEC LE CLIENT avant signature.

Respecte strictement le format. Cite TOUJOURS les passages.
i
Validation humaine systématique
Toute note produite par ce pipeline doit être relue et signée par l'avocat qui en porte la responsabilité. Le LLM est un préparateur de fond, pas un signataire. C'est cette discipline qui rend l'outil compatible avec votre responsabilité civile professionnelle.

#Contrôle qualité et garde-fous

Hallucination juridique
Un LLM peut citer un article du Code civil qui n'existe pas, ou inventer une jurisprudence. Règle d'or : tout article cité par le modèle se vérifie sur Légifrance avant intégration dans un livrable.
Citations textuelles
Vérifiez systématiquement que les passages "cités textuellement" par le modèle sont bien dans le contrat. C'est rare mais ça arrive — la consigne du system prompt réduit fortement le risque mais ne l'annule pas.
Température
Pour ce type d'usage, restez entre 0.1 et 0.3. Une température plus haute produit une rédaction plus fluide mais augmente le risque d'invention.
Confidentialité côté cabinet
Chiffrement de disque complet (BitLocker / FileVault / LUKS), authentification forte sur la session AnythingLLM, sauvegardes chiffrées, purge documentaire à la fermeture du dossier.
Traçabilité
AnythingLLM conserve l'historique des conversations par workspace. Exportez et archivez ces logs dans le dossier client : c'est une preuve d'audit utile en cas de mise en cause.
Mise à jour des modèles
Suivez les releases Mistral Magistral. Une version annuelle au minimum garantit un modèle entraîné sur des évolutions législatives récentes.
!
Ne pas substituer au raisonnement de l'avocat
Cet outil accélère la phase de défrichage et de relecture mécanique. Il ne remplace ni la qualification juridique, ni la stratégie contentieuse, ni la rédaction finale d'un acte. L'usage doit être documenté dans le dossier (mention du recours à l'IA d'aide à la relecture, version du modèle utilisée).

#Pour aller plus loin

Ce pipeline couvre la relecture de contrats au quotidien. Trois directions naturelles ensuite : monter une base RAG sur les jurisprudences Légifrance utiles à votre matière, durcir la conformité RGPD et AI Act du cabinet, et installer Mistral Magistral sur une seconde machine pour résilience.

Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.