Bonsai-27B-GGUF
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
Scores candidate answers, actions or tool names for a given state with a probability each, instead of writing text. A fast decision model on a frozen Qwen3-8B encoder, for agent and triage builders.
CLM-v0.1-8B is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install contrastive-lm vllm serve Qwen/Qwen3-8B --served-model-name qwen3-8b --runner pooling --max-model-len 2048 --port 8090 & clm-serve
CLM-v0.1-8B is a Contrastive Language Model, built to make fast decisions rather than write text. Two small projection heads, one for states and one for actions, are added above the frozen Qwen3-8B encoder. They learn to match a state with the right action, using a bidirectional InfoNCE loss. You give it a state and options, and it returns a probability for each.
It suits developers who build agents or triage tools and need quick, scored decisions instead of generated text.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Customer support | Developers of support tools | Ask typed questions about a customer message | Urgency, team and frustration are scored for an invoice complaint |
| AI agents | Agent builders | Rank candidate tool names or next moves | The best tool name gets the highest probability |
| Software engineering | Teams that verify agent output | Score candidate solutions with fine-tuned heads | The card reports 81.6 on DeepSWE for fine-tuned heads |
You can skip it if you need text written for you, since it only scores the candidates you supply.
| Use case | Who | What they get back |
|---|---|---|
| Typed questions about a state | Support and product developers | Probabilities for yes or no, choice and score questions |
| Ranking free-form candidates | Agent builders | A ranked list with a probability for each candidate |
| Fine-tuning for a task | ML engineers | Heads trained cheaply, since only the heads change |
You need Python, the package and a server for the encoder.
pip install contrastive-lm vllm serve Qwen/Qwen3-8B --served-model-name qwen3-8b --runner pooling --max-model-len 2048 --port 8090 & clm-serve
To download the model files yourself with the Hugging Face tools, use these two lines:
pip install -U huggingface_hub hf download Contrastive-LM/CLM-v0.1-8B
Create a client, then send a state with typed questions. Each answer carries a probability for every option. The card's example asks about a customer message:
from clm import CLMClient, Choice, Noul, Score
client = CLMClient()
r = client.system_one(
state="Customer: my invoice was charged twice and nobody answers the phone!",
questions={
"urgency": Noul(instructions="Is this urgent?"),
"department": Choice(instructions="Which team should handle this?",
criteria={"billing": "Charges, invoices, refunds",
"technical": "Bugs and outages"}),
"frustration": Score(instructions="How frustrated is the customer?",
criteria=["Calm", "Frustrated", "Very angry"]),
},
)
print(r.answers["department"].choice) # billing
print(r.answers["department"].probabilities) # {'billing': 0.93878, 'technical': 0.06122}| Tool | What it does |
|---|---|
| clm-serve | Starts the CLM API and a web playground, and fetches the checkpoint on first run |
| CLMClient | Python client that sends a state with typed questions |
| Choice, Noul, Score | Question types: pick one option, answer yes or no, or rate on ordered levels |
| Engine.rank | Ranks free-form candidates such as best-of-N solutions, tool names or next moves |
You send a message from a customer who was billed two times and cannot reach anyone by phone. You add three questions: is it urgent, which team should handle it, and how frustrated is the customer. The card shows the department answer as billing, with a probability near 0.94 against about 0.06 for technical.
Think of it as a fast judge that picks among options you provide. A first small try is to run clm-serve and use its web playground with a short message and a few options.
Only the two heads are trained while the Qwen3-8B encoder stays frozen, so fine-tuning is cheap. Each state and each action goes through its own encoding step, so embeddings computed for actions can be reused later. The card reports that with about 1k candidates it is 13 times faster than Jev. Training used about 60M Nemotron Q&A pairs, about 30M synthetic hard negatives and about 1M agentic trajectories.
Without any fine-tuning, the card reports results close to Jev on computer use, games and tool calling, at up to 9 times lower latency. The scores below come from fine-tuned heads, not from this checkpoint used as it is.
Scores candidate answers, actions or tool names for a given state with a probability each, instead of writing text. A fast decision model on a frozen Qwen3-8B encoder, for agent and triage builders.
Made by Contrastive-LM on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.
What it is: CLM-v0.1-8B is a Contrastive Language Model, built to make fast decisions rather than write text. Two small projection heads, one for states and one for actions, are added above the frozen Qwen3-8B encoder. They learn to match a state with the right action, using a bidirectional InfoNCE loss. You give it a state and options, and it returns a probability for each.
Who it suits: It suits developers who build agents or triage tools and need quick, scored decisions instead of generated text.
Industry | Who uses it | How they use it | Example
Customer support | Developers of support tools | Ask typed questions about a customer message | Urgency, team and frustration are scored for an invoice complaint
AI agents | Agent builders | Rank candidate tool names or next moves | The best tool name gets the highest probability
Software engineering | Teams that verify agent output | Score candidate solutions with fine-tuned heads | The card reports 81.6 on DeepSWE for fine-tuned heads
You can skip it if you need text written for you, since it only scores the candidates you supply.
Where to use it:
Use case | Who | What they get back
Typed questions about a state | Support and product developers | Probabilities for yes or no, choice and score questions
Ranking free-form candidates | Agent builders | A ranked list with a probability for each candidate
Fine-tuning for a task | ML engineers | Heads trained cheaply, since only the heads change
How to set it up: You need Python, the package and a server for the encoder.
pip install contrastive-lm
vllm serve Qwen/Qwen3-8B --served-model-name qwen3-8b --runner pooling --max-model-len 2048 --port 8090 &
clm-serve
To download the model files yourself with the Hugging Face tools, use these two lines:
pip install -U huggingface_hub
hf download Contrastive-LM/CLM-v0.1-8B
How to use it: Create a client, then send a state with typed questions. Each answer carries a probability for every option. The card's example asks about a customer message:
from clm import CLMClient, Choice, Noul, Score
client = CLMClient()
r = client.system_one(
state="Customer: my invoice was charged twice and nobody answers the phone!",
questions={
"urgency": Noul(instructions="Is this urgent?"),
"department": Choice(instructions="Which team should handle this?",
criteria={"billing": "Charges, invoices, refunds",
"technical": "Bugs and outages"}),
"frustration": Score(instructions="How frustrated is the customer?",
criteria=["Calm", "Frustrated", "Very angry"]),
},
)
print(r.answers["department"].choice) # billing
print(r.answers["department"].probabilities) # {'billing': 0.93878, 'technical': 0.06122}
Tool | What it does
clm-serve | Starts the CLM API and a web playground, and fetches the checkpoint on first run
CLMClient | Python client that sends a state with typed questions
Choice, Noul, Score | Question types: pick one option, answer yes or no, or rate on ordered levels
Engine.rank | Ranks free-form candidates such as best-of-N solutions, tool names or next moves
Example: You send a message from a customer who was billed two times and cannot reach anyone by phone. You add three questions: is it urgent, which team should handle it, and how frustrated is the customer. The card shows the department answer as billing, with a probability near 0.94 against about 0.06 for technical.
For newcomers and experts: Think of it as a fast judge that picks among options you provide. A first small try is to run clm-serve and use its web playground with a short message and a few options.
Only the two heads are trained while the Qwen3-8B encoder stays frozen, so fine-tuning is cheap. Each state and each action goes through its own encoding step, so embeddings computed for actions can be reused later. The card reports that with about 1k candidates it is 13 times faster than Jev. Training used about 60M Nemotron Q&A pairs, about 30M synthetic hard negatives and about 1M agentic trajectories.
Encode the state with the Qwen3-8B encoder
Pass it through the state head
Encode each candidate with the action head
Match states to actions by similarity
Return a probability for each candidate
Good to know: Without any fine-tuning, the card reports results close to Jev on computer use, games and tool calling, at up to 9 times lower latency. The scores below come from fine-tuned heads, not from this checkpoint used as it is.
Title: Reported scores of fine-tuned heads
DeepSWE: 81.6%
Terminal-Bench 2.1: 87.6%
Download its files with Hugging Face's command line:
pip install -U huggingface_hub
hf download Contrastive-LM/CLM-v0.1-8B
Then follow the usage in its model card. Nothing in this kit runs by itself.
README.md 7 KB
Listed Hugging Face models in the same category that share the most tags with this one.
| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
|---|---|---|---|---|---|
| CLM-v0.1-8B This page | 1,092 | 794 | — | apache-2.0 | |
| hs-rerank-1Shares reranker · text-ranking | 1,148,007 | 6 | 114M | mit | |
| hs-decide-1-flashShares reranker · text-ranking | 858 | 20 | 752M | apache-2.0 | |
| AsteroRank-Lepton-GGUFShares reranker · text-ranking | 626 | 3 | 4.8B | cc-by-nc-4.0 | |
| AsteroRank-LeptonShares reranker · text-ranking | 58 | 7 | 4.8B | cc-by-nc-4.0 | |
| Qwen3-Reranker-0.6BShares text-ranking | 1,251,943 | 439 | 596M | apache-2.0 |
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
lmstudio-community · Kit
A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…
LibertAIDAI · Kit
Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…
facebook · Kit
Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…
alpindale · Kit
Tags every character of C source code for syntax highlighting with a tiny neural network of about 984 weights, run through a small C program. For developers an…
prithivMLmods · Kit
Try a set of LoRAs for the FLUX.2 Klein image model in a Gradio app that runs in your browser or on your own computer. Made for people who make or test AI imag…
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…