Text Generation
Transformers
Safetensors
GGUF
English
Korean
gemma4
image-text-to-text
lora
nemotron
on-device
task-triage
classification
agents
thakicloud
conversational
imatrix
Instructions to use ThakiCloud/FleetWorker-E4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ThakiCloud/FleetWorker-E4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ThakiCloud/FleetWorker-E4B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("ThakiCloud/FleetWorker-E4B") model = AutoModelForMultimodalLM.from_pretrained("ThakiCloud/FleetWorker-E4B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ThakiCloud/FleetWorker-E4B 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 ThakiCloud/FleetWorker-E4B:Q4_K_M # Run inference directly in the terminal: llama cli -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ThakiCloud/FleetWorker-E4B:Q4_K_M # Run inference directly in the terminal: llama cli -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf ThakiCloud/FleetWorker-E4B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
Use Docker
docker model run hf.co/ThakiCloud/FleetWorker-E4B:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use ThakiCloud/FleetWorker-E4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ThakiCloud/FleetWorker-E4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ThakiCloud/FleetWorker-E4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ThakiCloud/FleetWorker-E4B:Q4_K_M
- SGLang
How to use ThakiCloud/FleetWorker-E4B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ThakiCloud/FleetWorker-E4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ThakiCloud/FleetWorker-E4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ThakiCloud/FleetWorker-E4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ThakiCloud/FleetWorker-E4B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use ThakiCloud/FleetWorker-E4B with Ollama:
ollama run hf.co/ThakiCloud/FleetWorker-E4B:Q4_K_M
- Unsloth Desktop
- Pi
How to use ThakiCloud/FleetWorker-E4B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
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": "ThakiCloud/FleetWorker-E4B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use ThakiCloud/FleetWorker-E4B with Docker Model Runner:
docker model run hf.co/ThakiCloud/FleetWorker-E4B:Q4_K_M
- Lemonade
How to use ThakiCloud/FleetWorker-E4B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ThakiCloud/FleetWorker-E4B:Q4_K_M
Run and chat with the model
lemonade run user.FleetWorker-E4B-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use ThakiCloud/FleetWorker-E4B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
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 ThakiCloud/FleetWorker-E4B:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use ThakiCloud/FleetWorker-E4B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ThakiCloud/FleetWorker-E4B:Q4_K_M
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 "ThakiCloud/FleetWorker-E4B:Q4_K_M" \ --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"
Quickstart prints the project field only (priority is unreliable)
Browse files- MODEL_CARD.ko.md +8 -2
- README.md +9 -3
MODEL_CARD.ko.md
CHANGED
|
@@ -46,6 +46,8 @@ tok = AutoTokenizer.from_pretrained(BASE)
|
|
| 46 |
model = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
|
| 47 |
model = PeftModel.from_pretrained(model, "ThakiCloud/FleetWorker-E4B", subfolder="adapter").eval()
|
| 48 |
|
|
|
|
|
|
|
| 49 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 50 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 51 |
messages = [
|
|
@@ -55,7 +57,8 @@ messages = [
|
|
| 55 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 56 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 57 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 58 |
-
|
|
|
|
| 59 |
```
|
| 60 |
|
| 61 |
### Merged BF16
|
|
@@ -69,6 +72,8 @@ from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
| 69 |
tok = AutoTokenizer.from_pretrained("ThakiCloud/FleetWorker-E4B")
|
| 70 |
model = AutoModelForCausalLM.from_pretrained("ThakiCloud/FleetWorker-E4B", dtype=torch.bfloat16, device_map="auto").eval()
|
| 71 |
|
|
|
|
|
|
|
| 72 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 73 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 74 |
messages = [
|
|
@@ -78,7 +83,8 @@ messages = [
|
|
| 78 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 79 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 80 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 81 |
-
|
|
|
|
| 82 |
```
|
| 83 |
|
| 84 |
### llama.cpp (GGUF)
|
|
|
|
| 46 |
model = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
|
| 47 |
model = PeftModel.from_pretrained(model, "ThakiCloud/FleetWorker-E4B", subfolder="adapter").eval()
|
| 48 |
|
| 49 |
+
import json
|
| 50 |
+
|
| 51 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 52 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 53 |
messages = [
|
|
|
|
| 57 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 58 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 59 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 60 |
+
pred = json.loads(tok.decode(out[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
|
| 61 |
+
print(pred["project"]) # project only: the priority field is unreliable, see Limitations
|
| 62 |
```
|
| 63 |
|
| 64 |
### Merged BF16
|
|
|
|
| 72 |
tok = AutoTokenizer.from_pretrained("ThakiCloud/FleetWorker-E4B")
|
| 73 |
model = AutoModelForCausalLM.from_pretrained("ThakiCloud/FleetWorker-E4B", dtype=torch.bfloat16, device_map="auto").eval()
|
| 74 |
|
| 75 |
+
import json
|
| 76 |
+
|
| 77 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 78 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 79 |
messages = [
|
|
|
|
| 83 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 84 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 85 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 86 |
+
pred = json.loads(tok.decode(out[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
|
| 87 |
+
print(pred["project"]) # project only: the priority field is unreliable, see Limitations
|
| 88 |
```
|
| 89 |
|
| 90 |
### llama.cpp (GGUF)
|
README.md
CHANGED
|
@@ -54,7 +54,7 @@ title: Add retry with backoff to the nightly export job<turn|>
|
|
| 54 |
|
| 55 |
Output format: one compact JSON object: `{"project":<label from the prompt list, "other" or "unknown">,"priority":"P0"|"P1"|"P2"|"P3"}`.
|
| 56 |
|
| 57 |
-
Replace the angle-bracket project list with the label set you fine-tune for.
|
| 58 |
|
| 59 |
### Transformers + PEFT adapter
|
| 60 |
|
|
@@ -68,6 +68,8 @@ tok = AutoTokenizer.from_pretrained(BASE)
|
|
| 68 |
model = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
|
| 69 |
model = PeftModel.from_pretrained(model, "ThakiCloud/FleetWorker-E4B", subfolder="adapter").eval()
|
| 70 |
|
|
|
|
|
|
|
| 71 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 72 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 73 |
messages = [
|
|
@@ -77,7 +79,8 @@ messages = [
|
|
| 77 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 78 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 79 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 80 |
-
|
|
|
|
| 81 |
```
|
| 82 |
|
| 83 |
### Merged BF16
|
|
@@ -91,6 +94,8 @@ from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
| 91 |
tok = AutoTokenizer.from_pretrained("ThakiCloud/FleetWorker-E4B")
|
| 92 |
model = AutoModelForCausalLM.from_pretrained("ThakiCloud/FleetWorker-E4B", dtype=torch.bfloat16, device_map="auto").eval()
|
| 93 |
|
|
|
|
|
|
|
| 94 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 95 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 96 |
messages = [
|
|
@@ -100,7 +105,8 @@ messages = [
|
|
| 100 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 101 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 102 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 103 |
-
|
|
|
|
| 104 |
```
|
| 105 |
|
| 106 |
### llama.cpp (GGUF)
|
|
|
|
| 54 |
|
| 55 |
Output format: one compact JSON object: `{"project":<label from the prompt list, "other" or "unknown">,"priority":"P0"|"P1"|"P2"|"P3"}`.
|
| 56 |
|
| 57 |
+
Replace the angle-bracket project list with the label set you fine-tune for. The example prints the project only: the model still emits a priority field, but it answers P0 for 120 of 151 items whose priority was never set, so do not display it as urgency and do not write it back to the board. If you want a priority hint, show it to a person on explicitly prioritised items only.
|
| 58 |
|
| 59 |
### Transformers + PEFT adapter
|
| 60 |
|
|
|
|
| 68 |
model = AutoModelForCausalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
|
| 69 |
model = PeftModel.from_pretrained(model, "ThakiCloud/FleetWorker-E4B", subfolder="adapter").eval()
|
| 70 |
|
| 71 |
+
import json
|
| 72 |
+
|
| 73 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 74 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 75 |
messages = [
|
|
|
|
| 79 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 80 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 81 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 82 |
+
pred = json.loads(tok.decode(out[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
|
| 83 |
+
print(pred["project"]) # project only: the priority field is unreliable, see Limitations
|
| 84 |
```
|
| 85 |
|
| 86 |
### Merged BF16
|
|
|
|
| 94 |
tok = AutoTokenizer.from_pretrained("ThakiCloud/FleetWorker-E4B")
|
| 95 |
model = AutoModelForCausalLM.from_pretrained("ThakiCloud/FleetWorker-E4B", dtype=torch.bfloat16, device_map="auto").eval()
|
| 96 |
|
| 97 |
+
import json
|
| 98 |
+
|
| 99 |
SYSTEM = "You triage a task-board item. Output exactly one compact JSON object with keys \"project\" and \"priority\" and nothing else. \"project\" is one of: <the project labels the model was trained on, comma separated>, or \"other\"; \"unknown\" if the text gives no way to tell. \"priority\" is one of: P0, P1, P2, P3."
|
| 100 |
USER = "title: Add retry with backoff to the nightly export job"
|
| 101 |
messages = [
|
|
|
|
| 105 |
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False,
|
| 106 |
return_tensors="pt", return_dict=True).to(model.device)
|
| 107 |
out = model.generate(**inputs, max_new_tokens=64, do_sample=False)
|
| 108 |
+
pred = json.loads(tok.decode(out[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
|
| 109 |
+
print(pred["project"]) # project only: the priority field is unreliable, see Limitations
|
| 110 |
```
|
| 111 |
|
| 112 |
### llama.cpp (GGUF)
|