from pathlib import Path
from huggingface_hub import hf_hub_download
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_id = "allenai/Olmo-3-1025-7B"
base_revision = "a81bae42db3975be1671e27b9c9a56da1a9f980f"
adapter_id = "modrill/CN11-OLMO3-OCR-FC250-COT250-U64"
base = AutoModelForCausalLM.from_pretrained(base_id, revision=base_revision)
model = PeftModel.from_pretrained(base, adapter_id)
tokenizer = AutoTokenizer.from_pretrained(base_id, revision=base_revision)
template_path = hf_hub_download(adapter_id, "chat_template.jinja")
tokenizer.chat_template = Path(template_path).read_text()
messages = [{"role": "user", "content": "Write a Python function that adds two integers."}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
)
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))