--- license: apache-2.0 language: - fr - en library_name: transformers pipeline_tag: text-generation --- # carotte #### Description du Modèle Ce document fournit des instructions sur l'utilisation du llm `carotte-7b`, spécialement conçu pour répondre à des questions en français. #### Prérequis Pour utiliser ce modèle, il est nécessaire d'installer la bibliothèque `transformers` de Hugging Face. Si vous ne l'avez pas déjà fait, vous pouvez installer cette bibliothèque via pip en utilisant la commande suivante : ```bash pip install transformers ``` #### Utilisation du Modèle Voici comment charger et utiliser le modèle `carotte-7b` pour générer des réponses dans un cadre de dialogue : 1. **Importation des bibliothèques nécessaires :** Commencez par importer `AutoModelForCausalLM` et `AutoTokenizer` de la bibliothèque `transformers`. 2. **Chargement du modèle et du tokenizer :** Chargez le modèle et le tokenizer pré-entraînés en utilisant les noms spécifiques `lbl/fr.brain.carotte-7b`. 3. **Préparation des messages :** Préparez une liste de messages qui simulent une conversation entre un utilisateur et l'assistant. Chaque message doit contenir un `role` (utilisateur ou assistant) et un `content` (le contenu du message). 4. **Tokenisation et encodage des entrées :** Utilisez le tokenizer pour appliquer un modèle de chat aux messages et encoder les entrées. Ces entrées doivent être transférées sur le GPU pour une inférence rapide si vous utilisez CUDA. 5. **Génération des réponses :** Passez les entrées tokenisées au modèle pour générer des réponses. Le modèle peut être configuré pour échantillonner différentes réponses possibles. 6. **Affichage des réponses :** Décodez les identifiants générés en texte clair et affichez les réponses. Voici un exemple de code complet qui illustre ces étapes : ```python from transformers import AutoModelForCausalLM, AutoTokenizer # Chargement du modèle et du tokenizer model = AutoModelForCausalLM.from_pretrained("lbl/fr.brain.carotte-7b", device_map="auto") tokenizer = AutoTokenizer.from_pretrained("lbl/fr.brain.carotte-7b") # Messages de simulation messages = [ {"role": "user", "content": "Quel est ton légume préféré ?"}, {"role": "assistant", "content": "Ah, je suis un grand fan des carottes! Elles sont versatiles, croquantes et colorées, exactement ce qu'il faut pour égayer une journée grise!"}, {"role": "user", "content": "Peux-tu me donner des idées de recettes avec des carottes ?"} ] # Préparation et encodage des entrées model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda") # Génération de la réponse generated_ids = model.generate(model_inputs, max_new_tokens=100, do_sample=True) res = tokenizer.batch_decode(generated_ids)[0] # Affichage de la réponse print(res) ``` ## Avertissement sur l'utilisation du modèle Ce modèle de langage a été développé pour générer des réponses basées sur une vaste gamme de données d'entraînement. Cependant, il est important de noter que, comme tout système basé sur l'intelligence artificielle, il n'est pas parfait et peut parfois produire des informations inexactes, incomplètes ou inappropriées. ### Considérations importantes : - **Exactitude des informations :** Il peut arriver que le modèle fournisse des informations qui ne sont pas entièrement précises. Il est conseillé de vérifier les faits importants auprès de sources fiables, particulièrement dans les situations où ces informations sont utilisées pour prendre des décisions critiques. - **Compréhension du contexte :** Malgré ses capacités à analyser le contexte des questions posées, les réponses du modèle peuvent ne pas toujours capturer toutes les subtilités ou intentions spécifiques. Il est donc crucial d'examiner les réponses dans le cadre spécifique de votre situation. - **Biais et éthique :** Les réponses générées peuvent parfois refléter des biais involontaires ou des perspectives qui ne représentent pas nécessairement une vue équilibrée. Il est important de rester conscient de ces limitations lors de l'interprétation des réponses. En tant que développeur indépendant, je m'efforce d'améliorer continuellement ce modèle pour minimiser ces problèmes. Toutefois, je vous encourage à rester vigilant et critique envers les réponses obtenues. Si vous observez des réponses problématiques ou des erreurs, n'hésitez pas à me les remonter.