MedGemma 4B-IT Assistant Médical Français

Description

Ce modèle est une version fine-tunée de google/medgemma-4b-it spécialement optimisée pour fournir des réponses médicales courtes et précises en français.

Le modèle a été entraîné pour donner des réponses concises (2-3 phrases maximum) tout en maintenant la précision médicale.

🎯 Caractéristiques

  • Modèle de base: google/medgemma-4b-it
  • Langue: Français 🇫🇷
  • Spécialisation: Réponses médicales courtes et précises
  • Technique: Fine-tuning direct
  • Type: Text Generation
  • Paramètres: ~4B

🚀 Utilisation

Installation

pip install transformers torch accelerate bitsandbytes

Code d'utilisation

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig

# Configuration
model_id = "Sadou/medgemma-4b-it-french-medical-assistant"
device = "cuda" if torch.cuda.is_available() else "cpu"

# Chargement du modèle fine-tuné
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    quantization_config=BitsAndBytesConfig(load_in_4bit=True),
    device_map="auto",
    torch_dtype=torch.bfloat16,
)

tokenizer = AutoTokenizer.from_pretrained(model_id)

def generate_medical_response(question, max_length=500, temperature=0.2):
    messages = [
        {
            "role": "system",
            "content": "Tu es un assistant médical expert. Réponds toujours en français de manière claire et précise."
        },
        {
            "role": "user", 
            "content": question
        }
    ]
    
    inputs = tokenizer.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
    ).to(model.device)
    
    input_len = inputs["input_ids"].shape[-1]
    
    with torch.inference_mode():
        outputs = model.generate(
            **inputs,
            max_new_tokens=max_length,
            do_sample=True,
            temperature=temperature,
            pad_token_id=tokenizer.eos_token_id,
           
        )
    
    response = tokenizer.decode(outputs[0][input_len:], skip_special_tokens=True)
    return response.strip()

# Exemple d'utilisation
question = "Comment traiter une migraine ?"
response = generate_medical_response(question)
print(f"Question: {question}")
print(f"Réponse: {response}")

Version Simple

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# Chargement simple
model_id = "Sadou/medgemma-4b-it-french-medical-assistant"
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(model_id)

# Usage
question = "Comment traiter une migraine ?"
messages = [
    {"role": "system", "content": "Tu es un assistant médical expert."},
    {"role": "user", "content": question}
]

inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(inputs, max_new_tokens=200, temperature=0.7)
response = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True)
print(response)

📝 Exemples

Exemple 1: Traitement

Input: "Comment traiter une migraine ?"

Output: "Prenez un antalgique (paracétamol 1g ou ibuprofène 600mg) dès les premiers signes. Reposez-vous dans un endroit sombre et silencieux avec une compresse froide sur le front. Si migraines fréquentes (>4/mois), consultez pour un traitement préventif."

⚠️ Avertissements

  • Usage médical: Ce modèle est destiné à l'information générale uniquement
  • Pas un remplacement: Ne remplace pas une consultation médicale professionnelle
  • Urgences: En cas d'urgence médicale, contactez immédiatement les services d'urgence

👨‍💻 Auteur

Sadou BARRY

📄 License

Apache 2.0


Modèle créé pour améliorer l'accès à l'information médicale en français 🇫🇷

Downloads last month
318
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Sadou/medgemma-4b-it-french-medical-assistant

Finetuned
(38)
this model