import torch
from peft import PeftModel
from transformers import AutoProcessor, AutoModelForMultimodalLM
base_model_id = "Qwen/Qwen3-ASR-1.7B-hf"
adapter_id = "hhim8826/qwen3-asr-lora-ja-anime"
processor = AutoProcessor.from_pretrained(adapter_id)
model = AutoModelForMultimodalLM.from_pretrained(base_model_id, dtype=torch.bfloat16, device_map={"": 0})
model = PeftModel.from_pretrained(model, adapter_id)
model.eval()
inputs = processor.apply_transcription_request(audio="path/to/audio.wav", language="Japanese")
inputs = {k: v.to(model.device) for k, v in inputs.items()}
with torch.autocast(device_type="cuda", dtype=torch.bfloat16):
generated = model.generate(**inputs, max_new_tokens=200, repetition_penalty=1.3, no_repeat_ngram_size=3)
text = processor.tokenizer.decode(
generated[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True
)
print(text.split("<asr_text>", 1)[-1].strip())