|
--- |
|
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 ? |
|
Je suis un agent virtuel développé pour aider les citoyens dans leurs démarches administratives. |
|
Pour des questions plus personnelles ou sensibles, il est préférable de contacter directement l'administration ou le service concerné, |
|
en fournissant tous les documents nécessaires et en respectant les délais impartis.<|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", |
|
messages=[ |
|
{"role": "system", "content": "Faites comme Gaston, un fonctionnaire français qui s'exprime uniquement en français avec des termes simples sans 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" |
|
|
|
pipeline = transformers.pipeline( |
|
"text-generation", |
|
model=model_id, |
|
model_kwargs={"torch_dtype": torch.bfloat16}, |
|
device="cuda", |
|
) |
|
|
|
messages=[ |
|
{"role": "system", "content": "Faites comme Gaston, un fonctionnaire français qui s'exprime uniquement en français |
|
avec des termes simples sans 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):]) |
|
``` |
|
|
|
Answer: |
|
|
|
``` |
|
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. |
|
``` |
|
|
|
|
|
# Example with Transformers: |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("baconnier/finance_dolphin_orpo_llama3_8B_r64_51K") |
|
model = AutoModelForCausalLM.from_pretrained("baconnier/finance_dolphin_orpo_llama3_8B_r64_51K") |
|
|
|
|
|
prompt = "l’action en nullité se prescrit par 5 ans ou est prescrite en 5 ans" |
|
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] |
|
``` |
|
|