Model Card for MagicSpellGemma
This model is a fine-tuned version of google/gemma-3-270m-it. It has been trained using TRL.
Quick start
Install
pip install torch transformers accelerate
app.py
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from transformers import pipeline
from huggingface_hub import login
# 模型的名稱
MODEL_ID = "NormanHsiao/MagicSpellGemma"
# ❗ 1. 登入 Hugging Face 帳號
try:
# 記得替換成您的實際權杖!
login(token="YOUR_HF_TOKEN")
print("Hugging Face 登入成功。")
except Exception as e:
# 這裡的錯誤不一定影響後續載入,因為載入模型時會自動提示登入
# 程式將繼續嘗試載入,如果權杖問題,會報新的錯誤
print(f"Hugging Face 登入嘗試失敗 (可能已登入或需手動登入): {e}")
# --- 模型載入 ---
print(f"正在載入模型: {MODEL_ID}...")
# 檢查是否有 GPU (用於訊息顯示,實際裝置分配由 device_map='auto' 處理)
device_type = "cuda" if torch.cuda.is_available() else "cpu"
print(f"偵測到的最佳運行裝置為: {device_type}")
try:
# 載入分詞器和模型
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
torch_dtype=torch.bfloat16, # 節省 VRAM,提高速度 (如果您的 GPU 支援的話)
device_map="auto" # <--- 這裡負責自動將模型放在裝置上
)
# 建立生成文字的 pipeline
# 修正:移除 device 參數,因為 model 已經被 device_map="auto" 處理了
generator = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
)
print("模型載入完成。")
# --- 執行文字生成 (Inference) ---
# 您的輸入提示
prompt = "深淵の闇より出でし黒き炎よ、我が敵を焼き尽くせ"
# Gemma 模型需要遵循一個特定的對話格式 (Chat Template)。
messages = [
{"role": "user", "content": prompt}
]
# 將對話格式化成模型所需的輸入字串
formatted_prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
print("\n--- 正在生成回覆 ---")
# 生成參數設定
generation_args = {
"max_new_tokens": 500, # 最大生成長度
"temperature": 0.7, # 調整隨機性 (較高值更具創意)
"do_sample": True, # 啟用採樣
"pad_token_id": tokenizer.eos_token_id # 設定 pad token 以避免警告
}
# 執行生成
outputs = generator(formatted_prompt, **generation_args)
# 輸出結果清理
generated_text = outputs[0]["generated_text"]
# 清理輸出,只保留模型的實際回覆
# 由於 Gemma 的輸出包含輸入提示和格式標記,我們需要將它從完整輸出中分離
final_response = generated_text.split("<start_of_turn>model\n")[-1].split(tokenizer.eos_token)[0].strip()
print(final_response)
print("\n--- 生成完成 ---")
except Exception as e:
print(f"\n運行時發生錯誤: {e}")
print("請確認您已正確安裝所有函式庫,且 Hugging Face 權杖和模型條款已正確設定。")
Training procedure
This model was trained with SFT.
Framework versions
- TRL: 0.23.0
- Transformers: 4.56.2
- Pytorch: 2.5.1+cu121
- Datasets: 4.1.1
- Tokenizers: 0.22.1
Citations
Cite TRL as:
@misc{vonwerra2022trl,
title = {{TRL: Transformer Reinforcement Learning}},
author = {Leandro von Werra and Younes Belkada and Lewis Tunstall and Edward Beeching and Tristan Thrush and Nathan Lambert and Shengyi Huang and Kashif Rasul and Quentin Gallou{\'e}dec},
year = 2020,
journal = {GitHub repository},
publisher = {GitHub},
howpublished = {\url{https://github.com/huggingface/trl}}
}
- Downloads last month
- -