rdk-llm-deployment

Deploy on-device LLM, VLM, and voice assistant stacks on D-Robotics RDK boards.

3|Updated Aug 6, 2026
One-click install
npx skills add https://github.com/D-Robotics/rdk-skills --skill rdk-llm-deployment-d-robotics
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rdk-llm-deployment
Source: https://github.com/D-Robotics/rdk-skills/tree/main/skills/rdk-llm-deployment
Command: npx skills add https://github.com/D-Robotics/rdk-skills --skill rdk-llm-deployment-d-robotics

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Choosing and deploying the correct on-device LLM/VLM runtime for D-Robotics RDK boards is error-prone because each board family requires a different stack, and mismatches (like building hobot_llamacpp on an S600) waste hours of debugging. ## Core Features & Use Cases - Board-aware stack routing: Maps each board to its runtime — hobot_llamacpp (GGUF-BPU) for X5/S100, oellm_runtime SDK (.hbm, nash-p) for S600, and legacy hobot_llm (Bloom 1.4B) for X3 4GB. - Full voice pipeline: Builds the ASR→LLM→TTS loop with sensevoice_ros2 and hobot_tts, or the turnkey xiaozhi (小智) assistant. - Environment probing and benchmarks: Ships llm_env_check.sh to detect board, memory, and installed LLM packages, plus llm_benchmark.py for exact TTFT/TPS/memory figures. - Use Case: A developer asks how to run a vision-language chatbot on an RDK X5; the skill recommends an InternVL3 GGUF-BPU model, explains the required ViT encoder plus language GGUF files, and gives the exact ros2 launch command. ## Quick Start Ask the assistant which LLM or voice assistant stack your RDK board supports and how to build and run it.

Frequently Asked Questions about rdk-llm-deployment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an on-device LLM or VLM on an RDK X5 board?▼

Use hobot_llamacpp with a GGUF-BPU model from the D-Robotics HuggingFace org, such as InternVL3-2B-Instruct or SmolVLM2-500M. A VLM needs two files: the ViT encoder (.bin on X5) plus the language GGUF, then launch with feed_type and model_type parameters.

Can I build hobot_llamacpp on the RDK S600?▼

No. hobot_llamacpp only supports -DPLATFORM_X5 and -DPLATFORM_S100 build flags; there is no S600 path. S600 on-device LLM/VLM runs through the D-Robotics_LLM_S600 SDK's oellm_runtime (libxlm.so) with .hbm models at march nash-p.

How do I build a voice assistant with ASR and TTS on RDK boards?▼

Chain three ROS2 components: sensevoice_ros2 for offline ASR publishing /asr_text, hobot_llamacpp subscribed to /prompt_text for the LLM, and hobot_tts playing /tts_text through ALSA. Alternatively, xiaozhi-in-rdk provides a turnkey assistant on X3/X5/S100.

Does the RDK X3 support on-device LLM chat?▼

Yes, but only the 4GB X3 via the legacy hobot_llm apt package running Bloom 1.4B. You must raise BPU reserved memory to 1.7GB via srpi-config or the model fails to load. X3 2GB and Ultra have no first-party LLM path.

Is 地平线你好 the default wakeup word for sensevoice_ros2?▼

No. The shipped config/cmd_word.json contains five command words (向前走, 向后退, 向左转, 向右转, 停止运动) without 地平线你好. The wakeup word is a separate wakeup_name parameter defaulting to 你好, published only when push_wakeup is set to 1.

How do I check if my RDK board can run an LLM before deploying?▼

Run the read-only llm_env_check.sh script, which returns structured JSON with board_id, total memory, installed LLM packages, and the recommended stack for that board. For performance expectations, llm_benchmark.py returns exact TTFT, TPS, and memory figures per board and model.