File size: 20,456 Bytes
80df72f f6687ba 80df72f f6687ba 80df72f f6687ba 80df72f 2b64e22 80df72f f6687ba c959068 f6687ba c959068 f6687ba 80df72f c959068 80df72f c959068 80df72f c959068 80df72f c959068 80df72f 65f29ef 80df72f f6687ba 80df72f f6687ba 80df72f f260f30 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
# Carte du modèle : Guillaume Tell
[Version française](#Version-française1) / [English version](#English-version)
---
# Version française
---
**Guillaume Tell** est un Large Language Model (LLM) français basé sur Mistral Open-Hermes 2.5 optimisé pour le RAG (Retrieval Augmented Generation) avec traçabilité des sources et explicabilité.
---
## Sommaire
1. [Détails du modèle](#détails-du-modèle)
2. [Utilisation](#utilisation)
- [Contexte de création](#contexte-de-création)
- [Finalités et limites du modèle](#finalités-et-limites-du-modèle)
- [Cas d'usage et utilisateurs](#cas-d’usage-et-utilisateurs)
- [Exemple](#exemple)
3. [Prompt](#prompt)
4. [Informations sur le finetuning](#informations-sur-le-finetuning)
5. [Utilisation d'Albert pour des tâches de RAG](#utilisation-d’Albert-pour-des-tâches-de-RAG)
5. [Glossaire](#glossaire)
---
## Détails du modèle
### Description du modèle
<!-- Provide a longer summary of what this model is. -->
Le modèle "Guillaume Tell" vise à améliorer la vérifiabilité de la génération de textes basés sur des sources administratives françaises. À partir d'une question et d'une sélection de cinq sources, il génère une réponse sourcée, avec des paramètres spéciaux pour les citations.
- **Développé par :** Etalab (Service du Datalab) - Direction Interministérielle du Numérique
- **Version:** Guillaume-Tell-base
- **Type de modèle :** Transformers, Text-Generation
- **Licence :** [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html)
- **Entraîné depuis le modèle :** OpenHermes-2.5-Mistral-7B
---
## Utilisation
### Contexte de création
Guillaume Tell a été developpé pour **ALBERT**, l’outil d’IA Générative interministérielle de l’État, et plus particulièrement dans le cadre de [l'expérimentation d'un modèle d'assistance aux conseillers numériques](https://www.france-services.gouv.fr/actualites/experimentation-dun-modele-dassistance-france-services-IA) [France services](#Glossaire) basé sur l’intelligence artificielle. Guillaume Tell vise à répondre aux besoins spécifiques des conseillers face à un LLM, en l'occurence la vérification des réponses générées par Albert pour s'assurer de leur justesse avant de les transmettre à des usagers accueillis en maison France services.
### Finalités et limites du modèle
Guillaume Tell est un modèle de langage, avec des capacités conversationnelles et de recherche d'information sourcée. Il peut être utilisé pour formuler une réponse à des questions relatives à l'administration française (eg. démarches administratives) en allant récupérer des informations pertinentes dans sa base de connaissances (RAG) et en synthétisant une réponse à partir de celles-ci.
Guillaume Tell fournit des réponses de premier niveau et n'est pas en capacité de donner des réponses administratives complexes. Il n'est pas en capacité de répondre à des questions sortant du champ administratif français. Il formule des réponses seulement en français.
### Cas d'usage et utilisateurs
Son usage est prévu par les agents publics des administrations françaises afin de faciliter la recherche d'information administrative. Il est déconseillé de mettre Guillaume Tell directement entre les mains de personnes qui n'ont pas été formées spécifiquement à son usage et qui manquent d'expertise sur les démarches administratives, comme par exemple les usagers des services publics. En effet, comme tout LLM, Guillaume Tell présente des risques d'erreurs ("hallucinations") ou d'oublis qu'une personne non formée ne sera pas en capacité de détecter.
### Exemple
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
> Question: Quelles sont les étapes de la procédure de rétablissement en cas de surendettement ?
>
> Sources:
> * **10965c7bc7a8e185_0** : Surendettement : rétablissement personnel avec liquidation judiciaire. La procédure de rétablissement consiste à effacer les dettes d'une personne surendettée…
> * **4c4511d1c0e6dc4c_0** : Surendettement : rétablissement personnel sans liquidation judiciaire. La procédure de rétablissement personnel consiste à effacer les dettes
> * **b8d3342e4ac89fe9_0** : Peut-on être saisi pendant la procédure de surendettement ? Dès le dépôt du dossier de surendettement. Durée de la suspension…
> * **n28e7fcf81deee0ff_0** : Surendettement : rétablissement personnel avec liquidation judiciaire. Conditions. Personnes concernées. Une procédure de rétablissement personnel avec liquidation judiciaire est engagée…
> * **568bebd8fb112ee_0** : Peut-on être saisi pendant la procédure de surendettement ? Dès que le dossier est recevable…
>
> Résultat :
> La procédure de rétablissement en cas de surendettement comporte plusieurs étapes. Tout d'abord, la personne concernée doit répondre à certaines conditions pour être éligible à cette procédure.
> Ensuite, la commission de surendettement ouvre la procédure avec l'accord du surendetté. Si le surendetté possède un patrimoine pouvant être vendu, une liquidation judiciaire est prononcée<ref text="Lorsque le surendetté possède un patrimoine pouvant être vendu, la procédure de rétablissement consiste à effacer les dettes et est prononcée avec liquidation judiciaire (vente des biens).">[28e7fcf81deee0ff_0]</ref>.
> Dans le cas contraire, une procédure sans liquidation judiciaire est engagée<ref text="Elle est prononcée sans liquidation judiciaire (c'est-à-dire sans vente des biens) lorsque la personne surendettée ne possède pas de patrimoine.">[4c4511d1c0e6dc4c_0]</ref>.
>
> Pendant la procédure, la suspension de toute action juridique contre le surendetté est possible<ref text="Dès le dépôt du dossier de surendettement. Durée de la suspension. La suspension, si elle est accordée, est acquise selon les cas jusqu'à l'un des événements suivants : Décision d'irrecevabilité du dossier Approbation du plan conventionnel de redressement Décision de mesures imposées Jugement prononçant un rétablissement personnel sans liquidation judiciaire Jugement d'ouverture d'une procédure de rétablissement personnel avec liquidation judiciaire Elle ne peut toutefois pas dépasser 2 ans.">[b8d3342e4ac89fe9_0]</ref>.
>
> Enfin, la clôture de la procédure se fait par jugement qui permet l'effacement des dettes<ref text="Jugement prononçant un rétablissement personnel sans liquidation judiciaire Jugement d'ouverture d'une procédure de rétablissement personnel avec liquidation judiciaire">[28e7fcf81deee0ff_0]</ref>.
>
<!-- Provide the basic links for the model.
### Model Sources [optional]
- **Repository:**
- **Paper [optional]:**
- **Demo [optional]:**
-->
---
## Prompt
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
### Format du prompt
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
Comme Mistral, Open-Hermes 2.5, la syntaxe de Guillaume Tell est basée sur chatml. Elle nécessite un prompt spécifique, ainsi qu'une syntaxe prédéfinie pour ajouter les sources à la question.
**Exemple de prompt:**
```
<|im_start|>system
Tu es Albert, le chatbot des Maisons France Service qui donne des réponses sourcées.<|im_end|>
<|im_start|>user
Ecrit un texte référencé en réponse à cette question : Quelles sont les étapes de la procédure de rétablissement en cas de surendettement ?
Les références doivent être citées de cette manière : texte rédigé<ref text=\"[passage pertinent dans la référence]\">[\"identifiant de la référence\"]</ref>Si les références ne permettent pas de répondre, qu'il n'y a pas de réponse.
Les cinq références disponibles :
10965c7bc7a8e185_0 :(…)
4c4511d1c0e6dc4c_0 :(…)
b8d3342e4ac89fe9_0 :(…)
28e7fcf81deee0ff_0 :(…)
e568bebd8fb112ee_0 :(…)
```
Guillaume-Tell est actuellement entraîné et testé sur une sélection fixe de cinq sources. Il devrait fonctionner sur un ensemble plus petit ou plus grand, mais cela n'a pas encore été expérimenté.
---
## Informations sur le finetuning
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
Guillaume Tell a été fine tuné en utilisant l'approche LORA et une quantization sur 4 bits sur :
- 3880 instructions RAG synthétiques basées sur les données de service-public.fr ;
- 5000 instructions chatRAG basées sur les données de service-public.fr et d'Open Hermes.
Le code de finetuning `finetuning.py` est disponible dans la section `Files and versions`.
---
## Utilisation d'Albert pour des tâches de [RAG](#Glossaire)
Il est possible d'utiliser des techniques de RAG afin d'optimiser la pertinence de la réponse du modèle. Nous pouvons ainsi obtenir des réponses basées sur les bonnes données adaptées à la question.
C'est ce que nous faisons actuellement en production avec ALBERT.
À la date de la sortie du modèle, les données pour effectuer le RAG d'ALBERT sont constituées de:
- Fiches service-public.fr decoupées en chunks de 300 mots.
---
## Glossaire
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
- **France services** : réseau de structures territoriales qui combinent accueil physique et accompagnement numérique pour aider les publics reçus dans les démarches administratives de plusieurs services publics.
- **LLM** (Large Language Model): modèle de Deep Learning capable de comprendre et de générer du langage humain en traitant de grandes quantités de données textuelles.
- **RAG** (Retrieval Augmented Generation) : Technique améliorant les performances des IA génératives en permettant aux LLM d'utiliser des ressources de données supplémentaires sans besoin de réentraînement.
---
# English version
---
**Guillaume Tell** is a French LLM based on Mistral Open-Hermes 2.5 optimized for RAG (Retrieval Augmented Generation) with source traceability and explicability.
---
## Table of contents
1. [Model details](#Model-details)
2. [Uses](#Uses)
- [Creation context](#Creation-context)
- [Purposes and limitations of the model](#Purposes-and-limitations-of-the-model)
- [Use-cases-and-users](#Use-cases-and-users)
- [Example](#Example)
3. [Prompt](#Prompt1)
4. [Finetuning information](#Finetuning-information)
5. [Using Albert for RAG tasks](#Using-Albert-for-RAG-tasks)
5. [Glossary](#Glossary)
---
## Model details
### Model Description
<!-- Provide a longer summary of what this model is. -->
Guillaume Tell vise à améliorer la vérifiabilité de la génération de textes basés sur des sources administratives françaises. A partir d'une question et d'une sélection de cinq sources, il génère une réponse sourcée, avec des paramètres spéciaux pour les citations.
- **Developed by:** Etalab (Service du Datalab) - Direction Interministérielle du Numérique
- **Version:** Guillaume-Tell-base
- **Model type:** Transformers, Text-Generation
- **License:** [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html)
- **Finetuned from model :** OpenHermes-2.5-Mistral-7B
---
## Uses
### Creation context
Guillaume Tell has been developed for **ALBERT**, the French government's interministerial Generative AI tool, and more specifically as part of the [experimentation of a France services advisor assistance model](https://www.france-services.gouv.fr/actualites/experimentation-dun-modele-dassistance-france-services-IA) based on artificial intelligence. Guillaume Tell is designed to meet the specific needs of advisors faced with an LLM, in this case the verification of answers generated by Albert to ensure their accuracy before transmitting them to users welcomed in France services centers.
### Purposes and limitations of the model
Guillaume Tell is a language model, with conversational and sourced information retrieval capabilities. It can be used to formulate an answer to questions relating to the French administration (eg. administrative procedures) by retrieving relevant information from its knowledge base (RAG) and synthesizing an answer from it.
Guillaume Tell provides first-level answers and is not able to give complex administrative answers. He is not able to answer questions outside the French administrative field. He provides answers in French only.
### Use cases and users
It is intended for use by public officials of French administrations to facilitate the search for administrative information. It is not recommended to put Guillaume Tell directly into the hands of people who have not been specifically trained in its use and who lack expertise in administrative procedures, such as users of public services. Indeed, like any LLM, Guillaume Tell presents risks of hallucination or forgetfulness that an untrained person will not be able to detect.
### Example
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
> Question: Quelles sont les étapes de la procédure de rétablissement en cas de surendettement ?
>
> Sources:
> * **10965c7bc7a8e185_0** : Surendettement : rétablissement personnel avec liquidation judiciaire. La procédure de rétablissement consiste à effacer les dettes d'une personne surendettée…
> * **4c4511d1c0e6dc4c_0** : Surendettement : rétablissement personnel sans liquidation judiciaire. La procédure de rétablissement personnel consiste à effacer les dettes
> * **b8d3342e4ac89fe9_0** : Peut-on être saisi pendant la procédure de surendettement ? Dès le dépôt du dossier de surendettement. Durée de la suspension…
> * **n28e7fcf81deee0ff_0** : Surendettement : rétablissement personnel avec liquidation judiciaire. Conditions. Personnes concernées. Une procédure de rétablissement personnel avec liquidation judiciaire est engagée…
> * **568bebd8fb112ee_0** : Peut-on être saisi pendant la procédure de surendettement ? Dès que le dossier est recevable…
>
> Result:
> La procédure de rétablissement en cas de surendettement comporte plusieurs étapes. Tout d'abord, la personne concernée doit répondre à certaines conditions pour être éligible à cette procédure.
> Ensuite, la commission de surendettement ouvre la procédure avec l'accord du surendetté. Si le surendetté possède un patrimoine pouvant être vendu, une liquidation judiciaire est prononcée<ref text="Lorsque le surendetté possède un patrimoine pouvant être vendu, la procédure de rétablissement consiste à effacer les dettes et est prononcée avec liquidation judiciaire (vente des biens).">[28e7fcf81deee0ff_0]</ref>.
> Dans le cas contraire, une procédure sans liquidation judiciaire est engagée<ref text="Elle est prononcée sans liquidation judiciaire (c'est-à-dire sans vente des biens) lorsque la personne surendettée ne possède pas de patrimoine.">[4c4511d1c0e6dc4c_0]</ref>.
>
> Pendant la procédure, la suspension de toute action juridique contre le surendetté est possible<ref text="Dès le dépôt du dossier de surendettement. Durée de la suspension. La suspension, si elle est accordée, est acquise selon les cas jusqu'à l'un des événements suivants : Décision d'irrecevabilité du dossier Approbation du plan conventionnel de redressement Décision de mesures imposées Jugement prononçant un rétablissement personnel sans liquidation judiciaire Jugement d'ouverture d'une procédure de rétablissement personnel avec liquidation judiciaire Elle ne peut toutefois pas dépasser 2 ans.">[b8d3342e4ac89fe9_0]</ref>.
>
> Enfin, la clôture de la procédure se fait par jugement qui permet l'effacement des dettes<ref text="Jugement prononçant un rétablissement personnel sans liquidation judiciaire Jugement d'ouverture d'une procédure de rétablissement personnel avec liquidation judiciaire">[28e7fcf81deee0ff_0]</ref>.
>
<!-- Provide the basic links for the model.
### Model Sources [optional]
- **Repository:**
- **Paper [optional]:**
- **Demo [optional]:**
-->
---
## Prompt
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
### Prompt format
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
Like Mistral Open-Hermes 2.5, Guillaume Tell's syntax is based on chatml. It requires a specific prompt, as well as a predefined syntax for adding sources to the question.
**Prompt example :**
```
<|im_start|>system
Tu es Albert, le chatbot des Maisons France Service qui donne des réponses sourcées.<|im_end|>
<|im_start|>user
Ecrit un texte référencé en réponse à cette question : Quelles sont les étapes de la procédure de rétablissement en cas de surendettement ?
Les références doivent être citées de cette manière : texte rédigé<ref text=\"[passage pertinent dans la référence]\">[\"identifiant de la référence\"]</ref>Si les références ne permettent pas de répondre, qu'il n'y a pas de réponse.
Les cinq références disponibles :
10965c7bc7a8e185_0 :(…)
4c4511d1c0e6dc4c_0 :(…)
b8d3342e4ac89fe9_0 :(…)
28e7fcf81deee0ff_0 :(…)
e568bebd8fb112ee_0 :(…)
```
Guillaume-Tell is currently being trained and tested on a fixed selection of five sources. It should work on a smaller or larger set, but this has not yet been tested.
---
## Finetuning information
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
Guillaume Tell was fine-tuned using the LORA approach and 4-bit quantization on :
- 3880 synthetic RAG instructions based on service-public.fr data
- 5000 chatRAG instructions based on service-public.fr and Open Hermes data.
The finetuning code `finetuning.py` is available in the `Files and versions` section.
---
## Using Albert for [RAG](#Glossary) tasks
RAG techniques can be used to optimize the relevance of the model's response. In this way, we can obtain answers based on the right data for the right question.
This is what we are currently doing in production with ALBERT.
At the time of the model's release, the data for ALBERT's RAG consisted of the following:
- service-public.fr sheets cut into 300-word chunks
---
## Glossary
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
- **France services** : network of local structures that combine physical reception with digital support to help visitors with administrative procedures for several public services.
- **LLM** (Large Language Model): Deep Learning model capable of understanding and generating human language by processing large amounts of textual data.
- **RAG** (Retrieval Augmented Generation): Technique improving the performance of generative AI by enabling LLMs to use additional data resources without the need for retraining.
---
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
<!--
## Evaluation
<!-- This section describes the evaluation protocols and provides the results. -->
|