Instructions to use thuethainguyen/agent with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use thuethainguyen/agent with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf thuethainguyen/agent:Q4_0 # Run inference directly in the terminal: llama cli -hf thuethainguyen/agent:Q4_0
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf thuethainguyen/agent:Q4_0 # Run inference directly in the terminal: llama cli -hf thuethainguyen/agent:Q4_0
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf thuethainguyen/agent:Q4_0 # Run inference directly in the terminal: ./llama-cli -hf thuethainguyen/agent:Q4_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf thuethainguyen/agent:Q4_0 # Run inference directly in the terminal: ./build/bin/llama-cli -hf thuethainguyen/agent:Q4_0
Use Docker
docker model run hf.co/thuethainguyen/agent:Q4_0
- Llama new
- LM Studio
- Jan
- Ollama
How to use thuethainguyen/agent with Ollama:
ollama run hf.co/thuethainguyen/agent:Q4_0
- Unsloth Desktop
- Pi
How to use thuethainguyen/agent with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf thuethainguyen/agent:Q4_0
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "thuethainguyen/agent:Q4_0" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use thuethainguyen/agent with Docker Model Runner:
docker model run hf.co/thuethainguyen/agent:Q4_0
- Lemonade
How to use thuethainguyen/agent with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull thuethainguyen/agent:Q4_0
Run and chat with the model
lemonade run user.agent-Q4_0
List all available models
lemonade list
- Hermes Agent
How to use thuethainguyen/agent with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf thuethainguyen/agent:Q4_0
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default thuethainguyen/agent:Q4_0
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use thuethainguyen/agent with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf thuethainguyen/agent:Q4_0
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "thuethainguyen/agent:Q4_0" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
|
Download README.md from thuethainguyen/agent: direct link, hf CLI and curl.
- Browser
- Download file 5.29 kB
-
https://huggingface.co/thuethainguyen/agent/resolve/main/README.md
- Command line
-
hf download hf://thuethainguyen/agent/README.md
-
curl -L -o README.md https://huggingface.co/thuethainguyen/agent/resolve/main/README.md
5.29 kB
| license: apache-2.0 | |
| language: | |
| - en | |
| base_model: | |
| - Qwen/Qwen3-0.6B | |
| tags: | |
| - multiturn | |
| - toolcalling | |
| - shellcommands | |
| # Distil-Qwen3-0.6B-SHELLper | |
| <p align="center"> | |
| <img src="shellper.png" alt="SHELLper" width="200"> | |
| </p> | |
| A fine-tuned Qwen3-0.6B model for multi-turn bash function calling. Trained using knowledge distillation from Qwen3-235B, this 0.6B parameter model achieves 100% tool-call accuracy on our test set over multiple turns while being small enough to run locally on any machine. | |
| ## Results | |
| | Metric | Qwen3-235B (Teacher) | Qwen3-0.6B (Base) | This Model | | |
| | --- | --- | --- | --- | | |
| | Tool call accuracy | 99% | 84.16% | **100%** | | |
| | 5-turn accuracy | 95% | 42.22% | **100%** | | |
| ## Quick Start | |
| You can follow instructions in our demo repository: [github](https://github.com/distil-labs/distil-SHELLper) | |
| ### Using Ollama | |
| ```bash | |
| # Download and create Ollama model | |
| hf download distil-labs/distil-qwen3-0.6b-SHELLper model_fp16.gguf Modelfile --local-dir distil_model | |
| cd distil_model && ollama create distil_model -f Modelfile | |
| cd .. | |
| ``` | |
| ### Using Transformers | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| model = AutoModelForCausalLM.from_pretrained("distil-labs/distil-qwen3-0.6b-SHELLper") | |
| tokenizer = AutoTokenizer.from_pretrained("distil-labs/distil-qwen3-0.6b-SHELLper") | |
| tools = [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "ls", | |
| "description": "List directory contents", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "folder": {"type": "string", "description": "Path to the folder to list"} | |
| }, | |
| "required": ["folder"] | |
| } | |
| } | |
| } | |
| ] | |
| messages = [ | |
| {"role": "system", "content": "You are a helpful assistant that executes bash commands."}, | |
| {"role": "user", "content": "List all files in the current directory"} | |
| ] | |
| text = tokenizer.apply_chat_template(messages, tools=tools, tokenize=False, add_generation_prompt=True) | |
| inputs = tokenizer(text, return_tensors="pt") | |
| outputs = model.generate(**inputs, max_new_tokens=256, temperature=0) | |
| print(tokenizer.decode(outputs[0], skip_special_tokens=True)) | |
| ``` | |
| ## Model Details | |
| | Property | Value | | |
| | --- | --- | | |
| | Base Model | Qwen/Qwen3-0.6B | | |
| | Parameters | 0.6 billion | | |
| | Architecture | Qwen3ForCausalLM | | |
| | Context Length | 40,960 tokens | | |
| | Precision | bfloat16 | | |
| | Training Data | ~200 synthetic examples (expanded from 20 seeds) | | |
| | Teacher Model | Qwen3-235B-A22B-Instruct | | |
| ## Training | |
| This model was trained using the Distil Labs platform: | |
| - **Seed Data:** 20 hand-validated multi-turn bash command conversations | |
| - **Synthetic Generation:** Expanded using Qwen3-235B teacher with conversation turn expansion | |
| - **Fine-tuning:** 4 epochs with LoRA (r=128) on the synthetic dataset | |
| - **Evaluation:** Multi-turn accuracy testing across variable conversation lengths | |
| ### Training Hyperparameters | |
| - Epochs: 4 | |
| - Learning Rate: 2e-5 (linear schedule) | |
| - Batch Size: 1 (with gradient accumulation) | |
| - LoRA Rank: 128 | |
| ## Task Format | |
| ### Input Format | |
| Multi-turn conversation with tool definitions: | |
| ```json | |
| [ | |
| {"role": "user", "content": "List all files in the current directory"}, | |
| {"role": "assistant", "tool_calls": [{"function": {"name": "ls", "arguments": {"folder": "."}}}]}, | |
| {"role": "user", "content": "Now go to the src folder"} | |
| ] | |
| ``` | |
| ### Output Format | |
| A single tool call in JSON format: | |
| ```json | |
| {"name": "cd", "arguments": {"folder": "src"}} | |
| ``` | |
| ## Supported Tools | |
| The model supports 20 bash commands: | |
| | Command | Description | | |
| | --- | --- | | |
| | `cat` | Display file contents | | |
| | `cd` | Change directory | | |
| | `cp` | Copy files or directories | | |
| | `diff` | Compare files | | |
| | `du` | Estimate file space usage | | |
| | `echo` | Display text | | |
| | `find` | Search for files | | |
| | `grep` | Search file contents | | |
| | `head` | Output first part of files | | |
| | `ls` | List directory contents | | |
| | `mkdir` | Create directories | | |
| | `mv` | Move or rename files | | |
| | `pwd` | Print working directory | | |
| | `rm` | Remove files | | |
| | `rmdir` | Remove empty directories | | |
| | `sort` | Sort file contents | | |
| | `tail` | Output last part of files | | |
| | `touch` | Create empty files | | |
| | `wc` | Word, line, character count | | |
| ## Use Cases | |
| - Natural language interfaces to file systems | |
| - Command-line assistants and automation | |
| - Developer productivity tools | |
| - Educational tools for learning bash | |
| - Local, privacy-preserving AI assistants | |
| ## Limitations | |
| - Optimized for single tool call per turn | |
| - No support for pipes or combined commands | |
| - Best with up to 5 conversation turns | |
| - Trained on English requests only | |
| - Limited to the 20 supported bash commands | |
| ## License | |
| This model is released under the Apache 2.0 license. | |
| ## Links | |
| - [Distil Labs Website](https://www.distillabs.ai/?utm_source=huggingface&utm_medium=referral&utm_campaign=shellper) | |
| - [GitHub](https://github.com/distil-labs) | |
| - [Hugging Face](https://huggingface.co/distil-labs) | |
| ## Citation | |
| ```bibtex | |
| @misc{distil-qwen3-0.6b-shellper, | |
| author = {Distil Labs}, | |
| title = {Distil-Qwen3-0.6B-SHELLper: A Fine-tuned Model for Multi-turn Bash Function Calling}, | |
| year = {2025}, | |
| publisher = {Hugging Face}, | |
| url = {https://huggingface.co/distil-labs/distil-qwen3-0.6b-SHELLper} | |
| } | |
| ``` | |