Dans cette page
Documentation technique
Comprendre la technologie
Comment REPERES transforme une question en contexte, puis en réponse.
Depuis l'assemblage : contexte → MCP / API → Claude, ChatGPT, Microsoft Copilot, Mistral Vibe, agent métier ou IA locale
Deux plans de connaissance
REPERES combine une doctrine structurée et une bibliothèque documentaire.
La doctrine aide à déterminer quoi chercher, quelles relations examiner, quelles nuances conserver et quels points de vigilance ne pas oublier. La bibliothèque permet de revenir aux textes, décisions, recommandations, rapports et autres documents sur lesquels une réponse peut s'appuyer.
Une réponse utile nécessite les deux : une accumulation de documents ne fournit pas, à elle seule, une méthode pour les mobiliser.
| Doctrine REPERES | Bibliothèque documentaire | |
|---|---|---|
| Contenu | notions, raisonnements, relations, repères, vigilance et actualité | textes, jurisprudence, recommandations, rapports et documentation institutionnelle |
| Organisation actuelle | 16 contextes, 817 sections | 9 693 documents, 72 436 passages indexés |
| Fonction | orienter le raisonnement et la recherche | retrouver les sources et les preuves |
| Mise à jour | travail professionnel et veille structurée | ingestion, qualification et réindexation |
Détail technique
La doctrine et le corpus documentaire restent séparés dans leur rôle. Le runtime sélectionne les éléments doctrinaux utiles et les passages documentaires pertinents, puis les réunit dans un contexte propre à la demande. Cette séparation évite de confondre une interprétation professionnelle avec une source primaire.
Des sources de statut différent
Toutes les sources n'ont pas la même autorité. Un article de code en vigueur, une circulaire datée, une décision de justice et une recommandation ne se lisent pas de la même manière : REPERES conserve ce statut jusqu'à la réponse.
| Source | Contenu | Provenance | Statut dans la réponse |
|---|---|---|---|
| Codes consolidés | Code de l'action sociale et des familles, CESEDA | Légifrance, version consolidée datée de sa version et de sa synchronisation | texte en vigueur : prime sur toute source datée ou secondaire |
| Conventions collectives | CCN 66, CCN 51, branche de l'aide à domicile (BAD) | KALI (Légifrance), articles en vigueur | texte conventionnel en vigueur |
| Jurisprudence | environ 2 150 décisions : Conseil d'État, cours administratives d'appel, Cour de cassation, cours d'appel | bases ouvertes (Judilibre, open data des juridictions administratives), chaque décision qualifiée : faits, solution, portée | mobilisée selon le besoin de la question, à sa juste portée |
| Textes et documentation | lois, décrets, circulaires et instructions ; guides et recommandations (HAS, CNSA, DGCS, ANAP…) ; rapports et études (IGAS, DREES…) ; référentiels comptables ; références internationales | sélection et qualification avant intégration | source datée ; un dispositif supprimé ou modifié depuis est signalé |
| Actualité | fiches sur les réformes et valeurs de référence, veille de sources publiques | fiches datées et révisées ; veille hebdomadaire | signalée comme actualité, avec son degré de stabilité |
Détail technique
REPERES ne consulte pas Légifrance en direct pendant une réponse : il s'appuie sur une copie consolidée, synchronisée et datée, et présente chaque article comme « texte consolidé en vigueur », avec sa date de version et de synchronisation. Pour une question juridique, la recherche réserve une place au texte en vigueur. La jurisprudence suit une politique différenciée : aucune, légère ou ciblée selon le thème, l'intention et les signaux de la question. Les exemples de terrain forment un canal distinct, plafonné, jamais utilisé comme preuve normative.
Chaque source citée dispose d'une fiche publique (éditeur, date, extrait, lien vers le document d'origine), accessible depuis la réponse.
Comprendre avant de chercher
Avant la recherche documentaire, REPERES qualifie la demande. Il identifie notamment le sujet, le secteur concerné, l'intention, le niveau de profondeur nécessaire et les risques associés à une mauvaise réponse.
Cette étape ne répond pas à la question. Elle décide de la manière dont le système doit travailler.
Détail technique
La qualification produit une sortie structurée utilisée par l'orchestration. Elle distingue plusieurs familles d'intentions et de risques, avec un mécanisme de repli déterministe lorsque le modèle de qualification n'est pas disponible. La qualification actuelle utilise Mistral Small via l'API Mistral.
Une recherche hybride, puis un second classement
Une question n'est pas recherchée d'une seule manière.
REPERES combine une recherche sémantique, capable de retrouver des passages qui parlent de la même idée avec des mots différents, et une recherche lexicale, utile pour les formulations exactes, les références, les sigles ou les articles.
Les deux listes sont fusionnées. Les passages sont ensuite reclassés pour distinguer ce qui ressemble à la question de ce qui est réellement utile pour y répondre.
Détail technique
La recherche vectorielle utilise des embeddings Qwen3-Embedding-8B en 1 536 dimensions, servis par les Generative APIs de Scaleway en France. Le stockage et la recherche reposent sur PostgreSQL et pgvector avec index HNSW. Les résultats vectoriels et lexicaux sont fusionnés par Reciprocal Rank Fusion, puis reclassés par un modèle de langage (Mistral Small) qui répartit les passages en cinq niveaux d'utilité.
sens de la question ────┐
mots et références ─────┼─ fusion RRF ─ reranking ─ passages retenus
Un moteur statistique sur les données publiques
Les questions chiffrées sont traitées par un moteur distinct de la recherche documentaire, en parallèle de celle-ci. Le modèle de langage ne produit aucun chiffre : les valeurs viennent d'une base de données publiques, avec leur source, leur édition, leur définition et leurs réserves.
| Contenu actuel | |
|---|---|
| Données | près de 2 millions de valeurs, 302 indicateurs, 24 jeux de données contrôlés à l'intégration |
| Producteurs | DREES (indicateurs sociaux départementaux, aide sociale, protection de l'enfance, autonomie, handicap, précarité, petite enfance…), Insee (population, via les indicateurs de contexte), Cnaf (AEEH) |
| Territoires et périodes | départements, régions, France ; séries souvent longues de 10 à 20 ans, annuelles ou mensuelles |
| Restitutions | valeur, série, évolution, comparaison aux départements comparables, portrait de territoire |
Une valeur non publiée est présentée comme absente, jamais comme zéro, avec d'autres repères identifiés comme tels. Une évolution demandée sans période porte sur les cinq dernières années publiées ; une borne hors des données est ramenée à la donnée disponible, et la réponse le dit. Chaque territoire est situé par rapport à un groupe de départements comparables et à la France.
Détail technique
Un modèle de langage (Mistral Small) sélectionne les fiches d'indicateurs, après une recherche hybride sur leur index, et formule un plan de calcul. Des règles déterministes valident ce plan (indicateur, période, territoire, opération autorisée) et l'exécutent sur la base PostgreSQL hébergée chez Scaleway. Les groupes de départements comparables sont définis par des experts, par thématique (personnes âgées, enfance, précarité) ; un effectif n'est jamais comparé en niveau brut, mais par un taux ou par son évolution (indice base 100 pour les séries). La box statistique est construite côté serveur et transmise avant le premier mot de la réponse, avec les mêmes arrondis que le texte ; le connecteur MCP expose les mêmes données dans le contexte.
Construire un contexte propre à chaque question
La recherche documentaire ne suffit pas. REPERES construit ensuite un paquet de contexte propre à la question : doctrine utile, relations entre thèmes, éventuels contrepoints, actualité pertinente, passages documentaires, résultats statistiques et informations fournies par l'utilisateur.
Le modèle de génération ne reçoit donc ni toute la bibliothèque ni toute la doctrine. Il reçoit ce qui a été sélectionné pour la situation traitée.
Détail technique
Un planificateur de contexte sélectionne les sections utiles et leurs dépendances, coordonne les résultats documentaires et adapte la profondeur de traitement. Il applique également des règles de cohérence et des budgets de contexte. L'architecture distingue des niveaux logiques de traitement simples ou complexes, qui déterminent notamment la profondeur de la recherche et du contexte construit.
Générer à partir d'une hiérarchie explicite
Tout ce qui se trouve dans le contexte n'a pas le même statut.
REPERES demande au modèle de partir de la doctrine professionnelle sélectionnée, d'appuyer les affirmations sur les sources documentaires lorsqu'elles existent et de n'utiliser des connaissances générales qu'en dernier recours. Cette hiérarchie aide à distinguer ce qui vient du corpus de ce qui vient du modèle.
Lorsqu'une base documentaire ne permet pas de soutenir suffisamment une conclusion, la réponse doit pouvoir signaler cette limite.
Détail technique
La génération repose exclusivement sur Mistral Large 4, servi par l'API Mistral, quelle que soit la complexité de la demande. Le modèle est traité comme une dépendance remplaçable : le corpus, la doctrine, la recherche et l'orchestration n'en dépendent pas structurellement. La réponse est diffusée progressivement vers le client par streaming.
- Doctrine REPERES
- Sources documentaires
- Connaissance générale, en dernier recours et avec prudence
Un runtime principal en Rust
Le moteur principal de REPERES est écrit en Rust. Ce choix privilégie la prévisibilité des performances, la maîtrise de la mémoire, la sûreté d'exécution et la capacité à faire fonctionner dans un même service la recherche, l'orchestration et le streaming.
Les opérations d'administration, d'ingestion ou d'actualisation peuvent utiliser d'autres langages. Elles sont séparées du runtime exposé aux utilisateurs.
Détail technique
Le service s'appuie sur un runtime asynchrone Rust, avec Axum pour la couche HTTP, Tokio pour l'exécution asynchrone et un flux SSE pour la restitution progressive. Le cœur applicatif et ses bases sont hébergés sur l'infrastructure Scaleway en France.
Application, MCP et API
REPERES peut produire lui-même une réponse ou fournir seulement le contexte nécessaire à un autre outil.
Dans le second cas, un assistant compatible — Claude, ChatGPT, Microsoft Copilot, Mistral Vibe, un agent métier ou une IA exécutée localement — peut utiliser la connaissance sélectionnée par REPERES tout en conservant sa propre interface et ses propres capacités.
| Mode | Recherche par REPERES | Contexte construit par REPERES | Génération par REPERES | Tarification publique |
|---|---|---|---|---|
| Application REPERES | oui | oui | oui | selon l'accès à l'application |
| MCP connaissance | oui | oui | non | gratuit |
| MCP génération | oui | oui | oui | 2 € / mois / utilisateur |
| API personnalisée | configurable | configurable | configurable | sur devis |
Détail technique
MCP expose un mode de construction de contexte distinct du mode de génération. L'API permet des intégrations plus spécifiques. La page publique décrit les responsabilités de chaque mode, mais ne constitue pas une référence exhaustive des endpoints ou des schémas d'authentification.
La disponibilité de MCP dépend du client, de son offre et, le cas échéant, des politiques de l'administrateur de l'organisation.
Pièces jointes et OCR
Lorsqu'un utilisateur joint un document, REPERES extrait le texte nécessaire au traitement et l'ajoute au contexte de la demande. Si le document ne contient pas de texte directement exploitable, une étape d'OCR peut être mobilisée.
Détail technique
L'OCR actuel repose sur Mistral OCR lorsqu'il est nécessaire. Le document et son texte extrait sont utilisés pour le traitement demandé ; ils ne deviennent pas automatiquement des sources du corpus commun.
Non-conservation et protection des données
REPERES ne constitue pas une base réutilisable des conversations. Les questions, réponses et pièces jointes ne sont pas persistées dans un historique serveur que le service pourrait rappeler spontanément lors d'un échange futur.
La mémoire d'une conversation utilisée dans l'application est gérée côté client et retransmise lorsque le tour courant en a besoin. Des événements techniques ou d'audit sans contenu peuvent être conservés pour faire fonctionner, sécuriser et superviser le service.
Lorsque la protection des données identifiantes est activée, une couche de pseudonymisation intervient avant l'appel au moteur. L'utilisateur peut contrôler le résultat avant de poursuivre. Cette protection réduit l'exposition ; elle ne vaut pas automatiquement anonymisation juridique.
question / document → protection activée → contexte → services → réponse
hors flux de contenu : événements techniques et d'audit sans conversation
Hébergement et dépendances
Le cœur applicatif de REPERES est hébergé en France sur Scaleway. Les dépendances externes sont limitées à des fonctions identifiées et choisies pour un rôle précis.
| Brique | Fournisseur / technologie | Fonction | Statut |
|---|---|---|---|
| Runtime, application et bases | Rust + Scaleway, France | cœur applicatif, orchestration, stockage et streaming | actuel |
| Identité | Logto OSS auto-hébergé | comptes et authentification | actuel |
| Qualification | Mistral Small via Mistral AI | analyse structurée de la demande | actuel |
| Génération | Mistral Large 4 via Mistral AI | rédaction de la réponse | actuel |
| Planification statistique | Mistral Small via Mistral AI | choix des indicateurs et plan de calcul (les valeurs sont lues en base) | actuel |
| Données statistiques | DREES, Insee, Cnaf (données publiques) | base statistique hébergée sur Scaleway (France) | actuel |
| Recherche sémantique | Qwen3-Embedding-8B via Scaleway (France) | embeddings | actuel |
| Reclassement | Mistral Small (reranking par modèle de langage) | reranking | actuel |
| OCR | Mistral OCR | extraction de texte lorsque nécessaire | actuel |
Une doctrine versionnée et actualisée
La doctrine de REPERES est versionnée afin de conserver la trace de son état dans le temps. La version actuellement utilisée constitue la première version de référence.
Chaque nouvelle version pourra être datée, comparée et reconstruite. Les mécanismes d'actualisation sont séparés du runtime public : la production ne réécrit pas spontanément sa propre doctrine.
Des outils internes permettent déjà de préparer et d'appliquer des actualisations. Ils pourront être adaptés pour les projets de personnalisation, sans que leur fonctionnement interne soit publié.
Détail technique
Le versionnement porte sur les artefacts de doctrine et leur compilation. Il permet de rattacher un état de connaissance à une date et de séparer clairement l'édition de la connaissance de son usage en production.
Corpus organisationnels et architectures de déploiement
REPERES ne propose pas encore de corpus organisationnels dans le service public actuel. L'architecture cible des projets personnalisés prévoit une isolation logique stricte entre organisations.
Selon les exigences de sécurité, de gouvernance ou d'intégration, un projet pourra également être étudié dans un environnement dédié ou sous une forme auto-hébergée.
| Option cible | Description | Disponibilité actuelle |
|---|---|---|
| Multi-tenant isolé | service partagé, corpus et droits séparés par organisation | cible |
| Environnement dédié | ressources réservées à un projet ou à une organisation | étude au cas par cas |
| Auto-hébergé | déploiement dans un environnement maîtrisé par le client | étude au cas par cas |
- aucun corpus d'une organisation ne doit être visible par une autre ;
- aucun document organisationnel ne rejoint le corpus commun sans processus explicite ;
- les droits d'accès doivent suivre les périmètres définis par l'organisation ;
- les options dédiée et auto-hébergée ne constituent pas encore des offres standard en libre-service.
Évaluation et limites connues
REPERES évalue séparément la recherche, l'exploitation des sources, la qualité de génération, la gestion de l'incertitude et la robustesse sur des conversations complexes. Le moteur statistique dispose de sa propre recette : valeurs relues à la main contre les sources, questions de référence rejouées à chaque mise en production.
Les scénarios doivent inclure des questions centrales, des demandes transversales et des situations situées en bordure du corpus. Une bonne réponse n'est pas seulement complète : elle doit aussi savoir suspendre une conclusion lorsque les sources ne permettent pas de trancher.
Les limites à présenter clairement sont :
- une source peut être absente, ancienne ou ambiguë ;
- le corpus de jurisprudence est sélectif : l'absence d'une décision ne prouve pas l'absence de jurisprudence ;
- les statistiques sont publiques et agrégées ; certaines ne sont publiées que pour la France entière ou à une date ancienne ;
- le retrieval peut retenir un passage secondaire ou manquer un document ;
- un modèle peut mal interpréter un contexte pourtant pertinent ;
- une réponse générée reste une production probabiliste ;
- une décision professionnelle, juridique ou institutionnelle exige parfois une expertise complémentaire.