Instructions to use desert-ant-labs/title with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use desert-ant-labs/title with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("desert-ant-labs/title") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use desert-ant-labs/title with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "desert-ant-labs/title"
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "desert-ant-labs/title" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use desert-ant-labs/title with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "desert-ant-labs/title"
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 "desert-ant-labs/title" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- MLX LM
How to use desert-ant-labs/title with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "desert-ant-labs/title"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "desert-ant-labs/title" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "desert-ant-labs/title", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use desert-ant-labs/title with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "desert-ant-labs/title"
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 desert-ant-labs/title
Run Hermes
hermes
- Atomic Chat
license: other
license_name: desert-ant-labs-source-available-1.0
license_link: https://license.desertant.com/1.0
language:
- multilingual
tags:
- text
- text-generation
- summarization
- on-device
- mlx
- multilingual
pipeline_tag: text-generation
title
Writes a title and a one or two sentence description for a passage of text, on device.
Fine-tuned on transcript clips, but the task it learned is general: it takes prose and returns a card for it. The register is deliberately plain, with no emoji, no hashtags and no clickbait, and a description is meant to identify this passage rather than its topic.
Files
An MLX model directory. Load the folder, not a single file.
| File | Contents |
|---|---|
model.safetensors |
6-bit quantized weights |
model.safetensors.index.json |
shard index; present even for one shard, because the loader reads it |
config.json |
architecture and quantization config |
generation_config.json |
decode defaults |
tokenizer.json, tokenizer_config.json |
byte-level BPE with merges |
chat_template.jinja |
the chat template the fine-tune was trained against |
The chat template is not incidental. A different template is a different task to this model.
The prompt
The model was fine-tuned against one specific instruction, and a paraphrase is a different
task to it. It lives in Titles.prompt in the SDK; use that wording. The reply is two labelled
lines:
TITLE: <3-8 words, no final punctuation>
DESC: <1-2 sentences>
Parse tolerantly. A card model that drifts off format should degrade to a usable title rather than throw.
Apple only
MLX runs on Apple silicon and nowhere else, so there is no Android, Linux or Windows artifact here and no manifest promising one. A Core ML export exists in the training repository and is kept as evidence rather than as a candidate: on short autoregressive decode the Neural Engine is bandwidth-bound, and the Core ML arm lost on first token, throughput, load time and resident memory.
Status
Internal testing, and less settled than that phrase usually implies. This card carries no quality figures: no independent review has been completed, and a known open issue is that the model sometimes opens a description with a stock phrase its own instruction forbids. Treat the output as needing a read before it reaches a user.
Built on
ibm-granite/granite-4.0-350m— the base model this is fine-tuned from.
License
Desert Ant Labs Source-Available License. Free for most apps; a commercial license is required at scale. Full terms are at the link. Licensing: licensing@desertant.com.
© 2026 Desert Ant Labs · https://desertant.com