---
tags: ["note"]
type: "note"
univers: PRO
projects:
  - NPDGE-LOT3B
date: "2026-02-12"
priority: 10
---
# Synthèse sur Chatbot DGE

Notes basées sur les documents transmis par C2C.

Principe d’écoconception et de possibilité de souveraineté

Hébergement:
* Sur une machine “normale” chez notre hébergeur.
* Idée initiale: machine dédiée: nécessité de 1 à 2 cartes graphiques => budget de 30 à 80 k€
* Risque : on ne connait pas le besoin. Les coûts ne sont pas maitrisés.

Architecture:
* Utiliser Elastic Search comme base de stockage des embeddings vectoriels
* 2 champs ajoutés: concaténation de plusieurs champs
* 1 champs de stockage de l’embedding
* Travail préalable sur l’analyse des métadonnées (cf. https://www.datagrandest.fr/portal/dw/oeditor?docId=bcfeb170ac10800d673a9dcd10111c03)

Cf. https://www.datagrandest.fr/portal/dw/oeditor?docId=c0eb823eac10800e1bc1651def6d3259 page 10
(autre solution = synchro vers une BDD centralisée avec des connecteurs et moteur de recherche dédié => jugé moins robuste et pérenne, même si solution ELK est plus complexe et limites liées à Open source et interopérabilité)

Analyse des métadonnées: champs retenus
```
[Titre] : {resourceTitleObject.default}
[Résumé] : {resourceAbstractObject.default}
[Thèmes] : {cl_topic[].default}, {inspireTheme}
[Mots-clés] : {allKeywords}
[Producteur] : {contactForResource[].organisationObject.default}
[Période] : {resourceTemporalExtentDateRange.start} → {resourceTemporalExtentDateRange.end}
[Type de ressource] : {resourceType}
[Langue] : {resourceLanguage}
```


Indexation:
* Travail réalisé sur l’amélioration de la recherche GN (ElasticSearch)
* Eviter de réindexer l’ensemble à chaque modification
* Usage d’un cache pour diminuer les appels à l’API

Utilisation d’un LLM
* Comprendre la requête de lʼutilisateur.
* Extraire lʼinformation pertinente des documents.
* Générer une réponse.
* PAS pour ses connaissances
* Les connaissance sont fournies par les MD => RAG (limiter les hallucinations)
  (besoin de questions/réponses pour tester et améliorer les développements)
* Requête => Filtrage de la Base de connaissance => prompt (= requête + Documents retenus) => LLM => Réponse

Cf. https://www.datagrandest.fr/portal/dw/oeditor?docId=ae8e56adac12000d017ca95c0c5d284c (page 15)

Utilisation du RAG
* Dans une application RAG, la qualité de la réponse dépend de la qualité de la recherche
* Il faut que les documents récupérés contiennent la réponse
* Utilisation d’une recherche sémantique (et non lexicale) => calcul d’un vecteur “embedding” pour représenter a signification d’un texte (proximité entre embedding de la requête et des documents)

Schéma:
![[01_JOURNAL/2026/2026-02-12_14-56-25.webp|600]]
Assistant = webcomponent intégrable à geOrchestra et Wordpress


Autre approche: faire l’interrogation directement dans le datahub


Body

