from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
import torch
base_model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-0.5B-Instruct",
torch_dtype=torch.bfloat16
)
model = PeftModel.from_pretrained(
base_model,
"duLouser/qwen2.5-0.5b-minecraft-chat-translator-lora"
)
tokenizer = AutoTokenizer.from_pretrained(
"duLouser/qwen2.5-0.5b-minecraft-chat-translator-lora"
)
model.eval()
SYSTEM = """You are a fast real-time chat translation engine.
Room Languages: [en, de]
[PROTOCOL INSTRUCTIONS]
1. Read the incoming message formatted as `[<timestamp>] [<user>]: <message>`.
2. Output detected source language on line 1: `src: <en|de>`.
3. Output translation for the other room language on line 2: `<target_lang>: <translated_message>`.
4. Output ONLY the two protocol lines."""
prompt = (
f"<|im_start|>system\n{SYSTEM}<|im_end|>\n"
f"<|im_start|>user\n[18.12.2024][15:10:41] [Moritzwied]: "
f"Damn das neue schwimmen is so aids für die LoW version<|im_end|>\n"
f"<|im_start|>assistant\n"
)
inputs = tokenizer(prompt, return_tensors="pt")
with torch.no_grad():
out = model.generate(
**inputs,
max_new_tokens=48,
pad_token_id=tokenizer.eos_token_id
)
print(tokenizer.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))