Views
No views yet

analysis channel before producing a poem in final. Unlike sarv-hybrid/sarv-hybrid-pro, reasoning is not learned as an optional behavior — every generation is expected to reason first, making this the model to use when you specifically want to inspect, log, or steer the model's thought process about meter (vazn), rhyme (qafiyeh), refrain (radif), imagery, and emotional arc before the poem itself is written.gpt_oss 21B, MXFP4)analysis channel is populated on every generationanalysis channel; no non-reasoning examples were included, in contrast to sarv-hybrid/sarv-hybrid-pro.analysis-then-final output structure. Adapters were merged into base weights and exported in BF16 and MXFP4.1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_id = "artindnr/sarv-reasoning"
4tokenizer = AutoTokenizer.from_pretrained(model_id)
5model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
6
7messages = [
8 {"role": "user", "content": "غزلی حافظانه دربارهی امید بنویس و دلیل انتخاب وزن و قافیه را هم بگو"}
9]
10
11inputs = tokenizer.apply_chat_template(
12 messages, add_generation_prompt=True, return_tensors="pt"
13).to(model.device)
14
15outputs = model.generate(inputs, max_new_tokens=1536)
16full = tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=False)
17
18# Split Harmony channels
19analysis, final = full.split("<|channel|>final<|message|>", 1) if "<|channel|>final<|message|>" in full else (None, full)sarv-non-reasoning; budget max_new_tokens accordingly.sarv-non-reasoning or let sarv-hybrid/sarv-hybrid-pro decidegpt_oss base limitationsgpt_oss license chain.artindnr).