---
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**.