--- language: - fr - en - es - pt - it - de tags: - text-generation - information-extraction - atomic-propositions - distillation license: apache-2.0 base_model: Qwen/Qwen3-0.6B --- # MPropositioneur-V2 **MPropositioneur-V2** est un petit modèle de langage (basé sur Qwen3-0.6B) spécialisé dans l'**extraction de propositions atomiques**. Il a été entraîné par distillation pour décomposer des phrases ou des passages complexes en une liste de déclarations simples, atomiques et indépendantes. Développé par [Luc Pommeret](https://lucpommeret.com) au **LISN (CNRS)**. ## Intention d'usage Ce modèle vise à améliorer la qualité et la granularité des informations dans les tâches de : - RAG (Retrieval-Augmented Generation) : En indexant des propositions atomiques au lieu de gros paragraphes. - Extraction d'Information Ouverte (OpenIE). - Simplification de texte et analyse du discours. ## Exemple d'utilisation (Python) ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch import json model_id = "Zual/MPropositioneur-V2" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16, device_map="auto") texte = "Le chat et le chien sont dans la cuisine." prompt = f"<|im_start|>user\nAtomize: {texte}<|im_end|>\n<|im_start|>assistant\n" inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=8192).to(model.device) with torch.no_grad(): outputs = model.generate(**inputs, max_new_tokens=2048, do_sample=False) generated_ids = outputs[0][inputs.input_ids.shape[1]:] result = tokenizer.decode(generated_ids, skip_special_tokens=True).strip() # La sortie est une liste JSON : ["p1", "p2", ...] propositions = json.loads(result) for p in propositions: print(f"• {p}") ``` **Sortie attendue :** ``` • Le chat est dans la cuisine. • Le chien est dans la cuisine. ``` ## Détails techniques - **Architecture de base** : Qwen3-0.6B - **Format de prompt** : `<|im_start|>user\nAtomize: {texte}<|im_end|>\n<|im_start|>assistant\n` - **Format de sortie** : liste JSON de chaînes `["p1", "p2", ...]` - **Objectif** : Générer une liste d'assertions atomiques décontextualisées mais fidèles sémantiquement à la phrase d'origine. - **Multilingue** : Entraîné pour supporter plusieurs langues, notamment le français et l'anglais. ## Auteur Développé par [Luc Pommeret](https://lucpommeret.com) au **LISN (Laboratoire Interdisciplinaire des Sciences du Numérique), CNRS**.