--- 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. [](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] ```