KU-AGI/RetroReasoner-RoundTrip-8B
0616
RetroReasoner-RoundTrip-8B
Forward reaction prediction model (reactants → product) used for round-trip evaluation in the RetroReasoner project. Given the starting materials as SMILES, it predicts the resulting product. Fine-tuned from Qwen/Qwen3-8B.
Note this is not a retrosynthesis model — see KU-AGI/RetroReasoner-RL for that. The prompt below is the one it was trained and evaluated with; other prompt formats are out of distribution.
Prompt format
system: You are a chemist.
user: {REACTANT_SMILES} Considering the given starting materials, what might be the resulting product in a chemical reaction?Apply the Qwen3 chat template and generate a short completion (max_new_tokens=500); this model answers directly and is not used with long chain-of-thought.
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "KU-AGI/RetroReasoner-RoundTrip-8B"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, dtype="bfloat16", device_map="auto")
reactants = "CC(=O)Oc1ccccc1C(=O)O.OCC"
messages = [
{"role": "system", "content": "You are a chemist."},
{"role": "user", "content": f"{reactants} Considering the given starting materials, what might be the resulting product in a chemical reaction?"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=500)
print(tokenizer.decode(out[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))Serving with vLLM:
vllm serve KU-AGI/RetroReasoner-RoundTrip-8B --max-model-len 40960Model card with training details and results to follow.
