Yongdong Wang
Modify the display model link to gguf.
4ce8f9e

A newer version of the Gradio SDK is available: 5.43.1

Upgrade
metadata
title: 'DART-LLM: Dependency-Aware Multi-Robot Task Decomposition and Execution'
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: gradio
app_file: app.py
pinned: false
license: llama3.1

DART-LLM: Dependency-Aware Multi-Robot Task Decomposition and Execution using Large Language Models (Spaces)

This project is part of the Moonshot Café Project
1Graduate School of Engineering, The University of Tokyo
2Faculty of Systems and Information Engineering, University of Tsukuba
3Graduate School of Frontier Sciences, The University of Tokyo
4Tokyo College, The University of Tokyo
*Corresponding author: [email protected]

Overview

This Hugging Face Space hosts DART-LLM, a QLoRA-fine-tuned meta-llama/Llama-3.1-8B model specialized in construction robotics. It demonstrates converting natural language robot commands into structured JSON tasks, supporting detailed multi-robot coordination, spatial reasoning, and action planning.

Quick Start

  1. Enter your robot command in the provided interface.
  2. Click Generate Tasks.
  3. Review the structured JSON output describing the robot task sequence.

Local/Edge Deployment (Recommended for Jetson)

For local deployment on edge devices like NVIDIA Jetson, we recommend using the GGUF quantized models for optimal performance and memory efficiency:

Available GGUF Models

Model Size Memory Usage Recommended Hardware
llama-3.2-1b-lora-qlora-dart-llm-gguf 870MB ~2GB RAM Jetson Nano, Jetson Orin Nano
llama-3.2-3b-lora-qlora-dart-llm-gguf 1.9GB ~4GB RAM Jetson Orin NX, Jetson AGX Orin
llama-3.1-8b-lora-qlora-dart-llm-gguf 4.6GB ~8GB RAM High-end Jetson AGX Orin

Deployment Options

Option 1: Using Ollama (Recommended)

# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Create a Modelfile
cat > Modelfile << EOF
FROM ./llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf
TEMPLATE """### Instruction:
{{ .Prompt }}

### Response:
"""
PARAMETER stop "### Instruction:"
PARAMETER stop "### Response:"
EOF

# Create the model
ollama create dart-llm-1b -f Modelfile

# Run inference
ollama run dart-llm-1b "Deploy Excavator 1 to Soil Area 1 for excavation"

Option 2: Using llama.cpp

# Clone and build llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

# Download model
wget https://huggingface.co/YongdongWang/llama-3.2-1b-lora-qlora-dart-llm-gguf/resolve/main/llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf

# Run inference
./main -m llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf \
  -p "### Instruction:\nDeploy Excavator 1 to Soil Area 1 for excavation\n\n### Response:\n" \
  -n 512

Option 3: Using Python (llama-cpp-python)

# Install llama-cpp-python
pip install llama-cpp-python

# Python script
python3 << EOF
from llama_cpp import Llama

# Load model
llm = Llama(model_path="llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf", n_ctx=2048)

# Generate response
prompt = "### Instruction:\nDeploy Excavator 1 to Soil Area 1 for excavation\n\n### Response:\n"
output = llm(prompt, max_tokens=512, stop=["</s>"], echo=False)

print(output['choices'][0]['text'])
EOF

Citation

If you use this work, please cite:

@article{wang2024dart,
  title={Dart-llm: Dependency-aware multi-robot task decomposition and execution using large language models},
  author={Wang, Yongdong and Xiao, Runze and Kasahara, Jun Younes Louhi and Yajima, Ryosuke and Nagatani, Keiji and Yamashita, Atsushi and Asama, Hajime},
  journal={arXiv preprint arXiv:2411.09022},
  year={2024}
}