Views
No views yet
⚠️ This repo is NOT a full merged model.
Load the base model first, then apply this adapter.
u-10bei/dpo-dataset-qwen-cotRinnRinnmini/lora_structeval_t_qwen3_4b_sft_v1
(This adapter was used as initialization before DPO.)Qwen/Qwen3-4B-Instruct-2507RinnRinnmini/lora_structeval_t_qwen3_4b_sft_v1 as the initialization pointDPOTrainer1from transformers import AutoTokenizer, AutoModelForCausalLM
2from peft import PeftModel
3import torch
4
5BASE_ID = "Qwen/Qwen3-4B-Instruct-2507"
6# BASE_ID = "unsloth/Qwen3-4B-Instruct-2507"
7
8ADAPTER_ID = "RinnRinnmini/qwen3-4b-structeval-sftdpo_v4-adapter" # this repo (LoRA adapter)
9
10tok = AutoTokenizer.from_pretrained(BASE_ID, trust_remote_code=True, use_fast=True)
11if tok.pad_token is None:
12 tok.pad_token = tok.eos_token
13
14base = AutoModelForCausalLM.from_pretrained(
15 BASE_ID,
16 device_map="auto",
17 torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
18 trust_remote_code=True,
19)
20
21model = PeftModel.from_pretrained(base, ADAPTER_ID)
22model.eval()
23
24messages = [
25 {"role": "user", "content": "Return a JSON with keys a,b,c and integer values."}
26]
27prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
28
29inputs = tok(prompt, return_tensors="pt").to(model.device)
30with torch.no_grad():
31 out = model.generate(
32 **inputs,
33 max_new_tokens=256,
34 do_sample=False,
35 pad_token_id=tok.eos_token_id,
36 )
37
38print(tok.decode(out[0], skip_special_tokens=True))