🚀 フランス医療アシスタントMedGemma 4B - IT
このモデルは、正確なフランス語の医療用短い回答を提供するために最適化された微調整バージョンです。google/medgemma - 4b - it ベースモデルを基に微調整され、医学的な正確性を保ちながら、簡潔な(最大2 - 3文)回答を提供するように訓練されています。
✨ 主な機能
属性 |
詳細 |
モデルタイプ |
テキスト生成 |
ベースモデル |
google/medgemma - 4b - it |
言語 |
フランス語 🇫🇷 |
専門化方向 |
正確な医療用短い回答 |
技術 |
直接微調整 |
パラメータ |
約40億 |
📦 インストール
pip install transformers torch accelerate bitsandbytes
💻 使用例
基本的な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
model_id = "Sadou/medgemma-4b-it-french-medical-assistant"
device = "cuda" if torch.cuda.is_available() else "cpu"
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()
question = "Comment traiter une migraine ?"
response = generate_medical_response(question)
print(f"質問: {question}")
print(f"回答: {response}")
高度な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
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)
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)
出力例
入力:"Comment traiter une migraine ?"(偏頭痛はどうやって治療すればいいですか?)
出力:"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."(症状が現れたらすぐに鎮痛剤(パラセタモール1gまたはイブプロフェン600mg)を服用してください。暗く静かな場所で休息し、額に冷たい湿布を当ててください。偏頭痛が頻繁に発生する場合(月に4回以上)、予防的な治療を相談してください。)
📚 ドキュメント
⚠️ 重要な注意事項
このモデルは一般的な情報を提供するためだけに使用され、専門的な医療相談の代替にはなりません。医療緊急事態が発生した場合は、すぐに救急サービスに連絡してください。
📄 ライセンス
このプロジェクトはApache 2.0ライセンスの下で提供されています。
👨💻 作者
Sadou BARRY
このモデルは、フランス語の医療情報のアクセシビリティを向上させることを目的としています 🇫🇷