Xiaomi-Robotics-0
Collection
6 items • Updated • 13
How to use XiaomiRobotics/Xiaomi-Robotics-0-LIBERO with Transformers:
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("XiaomiRobotics/Xiaomi-Robotics-0-LIBERO", trust_remote_code=True, dtype="auto")Xiaomi-Robotics-0 is an advanced vision-language-action (VLA) model with 4.7B parameters, specifically engineered for high-performance robotic reasoning and seamless real-time execution. It is pre-trained on large-scale cross-embodiment robot trajectories and vision-language data, enabling broad and generalizable action-generation capabilities.
transformers ecosystem and optimized for consumer GPUs.Xiaomi-Robotics-0 is integrated into the Hugging Face transformers ecosystem. Below is an example of how to load the model and generate actions for a robotic task.
import torch
from transformers import AutoModel, AutoProcessor
# 1. Load model and processor
model_path = "XiaomiRobotics/Xiaomi-Robotics-0-LIBERO"
model = AutoModel.from_pretrained(
model_path,
trust_remote_code=True,
attn_implementation="flash_attention_2",
dtype=torch.bfloat16
).cuda().eval()
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True, use_fast=False)
# 2. Construct the prompt with multi-view inputs
language_instruction = "Pick up the red block."
instruction = (
f"<|im_start|>user
The following observations are captured from multiple views.
"
f"# Base View
<|vision_start|><|image_pad|><|vision_end|>
"
f"# Left-Wrist View
<|vision_start|><|image_pad|><|vision_end|>
"
f"Generate robot actions for the task:
{language_instruction} /no_cot<|im_end|>
"
f"<|im_start|>assistant
<cot></cot><|im_end|>
"
)
# 3. Prepare inputs
# Assuming `image_base`, `image_wrist`, and `proprio_state` are already loaded
inputs = processor(
text=[instruction],
images=[image_base, image_wrist], # [PIL.Image, PIL.Image]
videos=None,
padding=True,
return_tensors="pt",
).to(model.device)
# Add proprioceptive state and action mask
robot_type = "libero"
inputs["state"] = torch.from_numpy(proprio_state).to(model.device, model.dtype).view(1, 1, -1)
inputs["action_mask"] = processor.get_action_mask(robot_type).to(model.device, model.dtype)
# 4. Generate action
with torch.no_grad():
outputs = model(**inputs)
# Decode raw outputs into actionable control commands
action_chunk = processor.decode_action(outputs.actions, robot_type=robot_type)
print(f"Generated Action Chunk Shape: {action_chunk.shape}")
@misc{robotics2026xiaomi,
title = {Xiaomi-Robotics-0: An Open-Sourced Vision-Language-Action Model with Real-Time Execution},
author = {Xiaomi Robotics},
howpublished={\url{https://xiaomi-robotics-0.github.io}},
year = {2026},
note={Project Website}
}