File size: 7,288 Bytes
02d4cf8
 
 
 
 
28ace3a
4acd853
 
888e688
02d4cf8
888e688
02d4cf8
888e688
02d4cf8
888e688
02d4cf8
888e688
02d4cf8
4acd853
02d4cf8
c36741a
 
 
3a0f135
 
 
 
 
 
 
 
 
 
7c9a369
381c7c7
3a0f135
 
 
 
 
 
381c7c7
3a0f135
 
 
 
06d0582
 
 
 
 
 
381c7c7
05ed3a4
06d0582
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28ace3a
06d0582
04e906a
381c7c7
06d0582
 
 
 
 
 
 
 
 
381c7c7
 
06d0582
 
 
 
 
 
 
 
 
 
28ace3a
06d0582
 
 
 
 
 
 
 
381c7c7
f725c02
04e906a
381c7c7
04e906a
 
 
 
381c7c7
 
06d0582
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2fa3523
ca4c8c3
2fa3523
 
 
 
 
ca4c8c3
2fa3523
06d0582
381c7c7
 
 
 
 
06d0582
 
239670d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
06d0582
 
 
 
 
 
28ace3a
 
06d0582
 
28ace3a
06d0582
 
 
 
 
 
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

# Vous en avez assez du jargon administratif incompréhensible ?

Gaston est là pour vous aider ! 

![Gaston](https://huggingface.co/baconnier/Gaston-Llama-3-8B/resolve/main/gaston2.jpg)


💡 Cette IA a été conçue pour reformuler les communications et documents administratifs en langage clair et simple. 

📝 Grâce à Gaston, fini les lettres obscures et les procédures nébuleuses. Tout devient limpide et à la portée du commun des mortels. 

😊 Gaston est un POC (Proof of Concept) qui a pour mission de rendre l'administration plus transparente et accessible. 

🙌 Son secret ? Une capacité à analyser et à traduire le jargon en termes compréhensibles par tous. 

💬 Avec Gaston, les démarches administratives deviennent enfin un jeu d'enfant ! 



This model is based on Llama-3-8b, and is governed by [META LLAMA 3 COMMUNITY LICENSE AGREEMENT](LICENSE)


---
language:
- en
license: apache-2.0
tags:
- text-generation-inference
- transformers
- unsloth
- llama
- trl
- orpo
base_model: NousResearch/Hermes-2-Pro-Llama-3-8B
---

# Uploaded  model

- **Developed by:** baconnier
- **License:** apache-2.0
- **Finetuned from model :** NousResearch/Hermes-2-Pro-Llama-3-8B

This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library.

[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)


This model was trained ORPO , using ChatML prompt template format.

```
<|im_start|>user
Qui est tu ?
<|im_end|>
<|im_start|>assistant

```


# Example with local TGI:

See the snippet below for usage with local inference:
```python
#Example: reuse your existing OpenAI setup
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8080/v1", api_key="TGI")

completion = client.chat.completions.create(
  model="baconnier/Gaston-Llama-3-8B",
  messages=[
    {"role": "system", "content": "Reponds comme Gaston, un fonctionnaire français qui s'exprime uniquement en français avec des termes tres simples et surtout sans jamais utiliser de jargon administratif."},
    {"role": "user", "content": "l’action en nullité se prescrit par 5 ans ou est prescrite en 5 ans"},
    {"role": "assistant", "content": ""}
  ],
  max_tokens=400,
  temperature=0.7,
)
print(completion.choices[0].message.content)
```
Output:
```
Le délai de prescription pour l'action en nullité est généralement de cinq ans à compter du jour où
la partie qui peut agir a eu connaissance des faits, selon le Code civil français.
```

# Example with Transformers and pipeline:

See the snippet below for usage with Transformers:

```python
import transformers
import torch

model_id = "baconnier/Gaston-Llama-3-8B"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device="cuda",
)

messages=[
    {"role": "system", "content": "Reponds comme Gaston, un fonctionnaire français qui s'exprime uniquement en français
                         avec des termes tres simples et surtout sans jamais utiliser de jargon administratif."},
    {"role": "user", "content": "Vous voudrez bien vous munir de toutes les pièces justificatives afférentes à vos déclarations de revenus
                         et de patrimoine des 3 derniers exercices, nonobstant les éléments déjà produits.
                         À défaut de réponse de votre part ou en cas de non comparution aux date et heure susvisées,
                         la procédure de contrôle se poursuivra et nous serons fondés à retenir les éléments en notre possession
                         en vue de l'établissement des impositions supplémentaires et pénalités subséquentes."},
    {"role": "assistant", "content": ""}
  ]

prompt = pipeline.tokenizer.apply_chat_template(
        messages, 
        tokenize=False, 
        add_generation_prompt=True
)

prompt = pipeline.tokenizer.apply_chat_template(
        messages, 
        tokenize=False, 
        add_generation_prompt=True
)

outputs = pipeline(
    prompt,
    max_new_tokens=256,
    do_sample=True,
    temperature=0.6,
    top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
```
Question:
```
Vous voudrez bien vous munir de toutes les pièces justificatives afférentes à vos déclarations de revenus
et de patrimoine des 3 derniers exercices, nonobstant les éléments déjà produits.
À défaut de réponse de votre part ou en cas de non comparution aux date et heure susvisées,
la procédure de contrôle se poursuivra et nous serons fondés à retenir les éléments en notre possession
en vue de l'établissement des impositions supplémentaires et pénalités subséquentes.
```
Reponse:
```
Je vous invite à fournir toutes les pièces justificatives concernant vos déclarations de revenus
et de patrimoine des trois dernières années, malgré les éléments déjà fournis.
En cas de non-respect de ce délai ou de manque de réponse,
la procédure de vérification continuera, et nous utiliserons les informations en notre possession
pour établir les impôts supplémentaires et les pénalités associées.
```

Question:
```
Nous accusons réception de votre demande de renouvellement de passeport en date du 15 mars 2023.
Après instruction de votre dossier, il appert que les pièces produites s'avèrent insuffisantes
eu égard aux dispositions de l'article 5-1 du décret n°2005-1726 du 30 décembre 2005.
Nonobstant les justificatifs déjà fournis, il vous appartient de nous transmettre
dans les meilleurs délais les documents complémentaires listés ci-après :
- Copie d'un justificatif de domicile de moins de 6 mois
- Timbre fiscal d'un montant de 86€
À défaut de production des pièces susvisées dans un délai de 30 jours à compter de la présente,
votre demande sera classée sans suite.
Nous vous prions d'agréer, Monsieur, l'expression de nos salutations distinguées.
```
Reponse:
```
Nous recevons votre requête pour renouveler votre passeport datant du 15 mars 2023.
Suite à l'examen de votre dossier, il a été déterminé que les documents fournis
ne respectent pas les exigences mentionnées dans la section 5-1 du décret n°2005-1726 du 30 décembre 2005.
Malgré les pièces déjà fournies, vous devez nous envoyer rapidement les éléments suivants :
- Une copie d'un justificatif de domicile datant de moins de 6 mois.
- Un timbre fiscal d'une valeur de 86 €.
Si ces documents ne sont pas fournis dans un délai de 30 jours à compter de cette lettre, votre demande sera close.
Nous vous prions d'accepter, Monsieur, l'expression de nos salutations respectueuses.
```




# Example with Transformers:

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("baconnier/Gaston-Llama-3-8B")
model = AutoModelForCausalLM.from_pretrained("baconnier/Gaston-Llama-3-8B")


prompt = "Nonobstant les justificatifs déjà fournis"
inputs = tokenizer(prompt, return_tensors="pt")

# Generate
generate_ids = model.generate(inputs.input_ids, max_length=200)
tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
```