"Reasoning initiates the action; Action fulfills the reasoning." — Wang Yangming (1509)
This is the SFT checkpoint.Embodied-R1.5-8B-SFTis the Stage 1 supervised fine-tuning (SFT) model of Embodied-R1.5, trained on the full embodied data corpus before reinforcement fine-tuning. It serves as the starting point for Stage 2 RFT. For the final RFT model, see IffYuan/Embodied-R1.5.
<answer>...</answer> tags. The supported task types and their answer formats are:| Task Type | Answer Format (inside <answer>) |
|---|---|
multiple choice | A |
numerical | 3.14 |
open-ended | free text |
math | $$-\dfrac{3}{2}$$ |
spatial grounding | {"boxes": [35, 227, 437, 932]} |
point | ```json\n[{"point_2d": [230, 138]}]\n``` |
trace | ```json\n[{"point_2d": [624, 469]}, ...]\n``` |
trace_3d | ```json\n[{"point_2d": [463, 599], "depth": 1.08}, ...]\n``` |
Coordinate & unit conventions. All points (point_2d) and boxes are normalized to the[0, 1000]range, regardless of the original image resolution. Fortrace_3d, thedepthvalue is in meters.
1from transformers import AutoModelForImageTextToText, AutoProcessor
2from PIL import Image
3
4model_id = "IffYuan/Embodied-R1.5-8B-SFT"
5model = AutoModelForImageTextToText.from_pretrained(
6 model_id, torch_dtype="auto", device_map="auto"
7)
8processor = AutoProcessor.from_pretrained(model_id)
9
10image = Image.open("scene.jpg")
11messages = [
12 {
13 "role": "user",
14 "content": [
15 {"type": "image"},
16 {"type": "text", "text": "You are a robot performing manipulation tasks. "
17 "The task instruction is: move the blue cube on top of the yellow cube. "
18 "Use 2D points to mark the target location."},
19 ],
20 }
21]
22
23text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
25out = model.generate(**inputs, max_new_tokens=512)
26print(processor.batch_decode(out, skip_special_tokens=True)[0])<answer> tag, e.g. <answer>[{"point_2d": [750, 748]}]</answer>.1vllm serve IffYuan/Embodied-R1.5-8B-SFT \
2 --served-model-name "Embodied-R1.5-8B-SFT" \
3 --tensor-parallel-size 1 \
4 --mm-encoder-tp-mode data \
5 --gpu-memory-utilization 0.7 \
6 --async-scheduling \
7 --media-io-kwargs '{"video": {"num_frames": 32}, "image": {"max_num": 32}}' \
8 --max_model_len 20000 \
9 --limit-mm-per-prompt '{"image": 8, "video": 1}' \
10 --host 0.0.0.0 --port 22002inference/.1@article{yuan2026embodiedr15,
2 title={Embodied-R1.5: Evolving Physical Intelligence via Embodied Foundation Models},
3 author={Yuan, Yifu and Huang, Yaoting and Yao, Xianze and Zhang, Shuoheng and Han, Linqi and Li, Yutong and Li, Pengyi and Sun, Jiangeng and Jia, Wenting and Hu, Yucheng and Liu, Yuhao and Liao, Ruihao and Wu, Qiyu and Li, Yuxiao and Zhang, Zhao and Dong, Zibin and Ni, Fei and Zheng, Yan and Gu, Shuyang and Ma, Yi and Tang, Hongyao and Hu, Han and Hao, Jianye},
4 journal={arXiv preprint},
5 year={2026}
6}
7
8@article{yuan2025embodied,
9 title={Embodied-R1: Reinforced Embodied Reasoning for General Robotic Manipulation},
10 author={Yuan, Yifu and Cui, Haiqin and Huang, Yaoting and Chen, Yibin and Ni, Fei and Dong, Zibin and Li, Pengyi and Zheng, Yan and Hao, Jianye},
11 journal={ICLR 2026},
12 year={2025}
13}
14
15@article{yuan2025seeing,
16 title={From Seeing to Doing: Bridging Reasoning and Decision for Robotic Manipulation},
17 author={Yuan, Yifu and Cui, Haiqin and Chen, Yibin and Dong, Zibin and Ni, Fei and Kou, Longxin and Liu, Jinyi and Li, Pengyi and Zheng, Yan and Hao, Jianye},
18 journal={ICLR 2026},
19 year={2025}
20}