import torch
from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer
adapter_id = "Shirodora233/gemma4-e2b-repomind-qlora-synth-v2-pilot"
tokenizer = AutoTokenizer.from_pretrained(adapter_id, trust_remote_code=True)
model = AutoPeftModelForCausalLM.from_pretrained(
adapter_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{
"role": "system",
"content": (
"Return repo-local symbol-level call edges as strict JSON. "
"Use fully qualified symbols, include file/line/evidence for every call edge."
),
},
{
"role": "user",
"content": "{\"case_id\":\"example\",\"question\":\"Find repo-local call edges.\"}",
},
]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
).to(model.device)
with torch.inference_mode():
output_ids = model.generate(
**inputs,
max_new_tokens=768,
do_sample=False,
pad_token_id=tokenizer.eos_token_id,
)
generated = output_ids[0, inputs["input_ids"].shape[-1]:]
print(tokenizer.decode(generated, skip_special_tokens=True))