Instructions to use VertexAGI/prism-caption-1-micro with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use VertexAGI/prism-caption-1-micro 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("VertexAGI/prism-caption-1-micro") 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
- llama.cpp
How to use VertexAGI/prism-caption-1-micro 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 VertexAGI/prism-caption-1-micro:Q4_K_M # Run inference directly in the terminal: llama cli -hf VertexAGI/prism-caption-1-micro:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf VertexAGI/prism-caption-1-micro:Q4_K_M # Run inference directly in the terminal: llama cli -hf VertexAGI/prism-caption-1-micro:Q4_K_M
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 VertexAGI/prism-caption-1-micro:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf VertexAGI/prism-caption-1-micro:Q4_K_M
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 VertexAGI/prism-caption-1-micro:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf VertexAGI/prism-caption-1-micro:Q4_K_M
Use Docker
docker model run hf.co/VertexAGI/prism-caption-1-micro:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use VertexAGI/prism-caption-1-micro with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "VertexAGI/prism-caption-1-micro" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "VertexAGI/prism-caption-1-micro", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/VertexAGI/prism-caption-1-micro:Q4_K_M
- Ollama
How to use VertexAGI/prism-caption-1-micro with Ollama:
ollama run hf.co/VertexAGI/prism-caption-1-micro:Q4_K_M
- Unsloth Studio
How to use VertexAGI/prism-caption-1-micro with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for VertexAGI/prism-caption-1-micro to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for VertexAGI/prism-caption-1-micro to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for VertexAGI/prism-caption-1-micro to start chatting
- MLX LM
How to use VertexAGI/prism-caption-1-micro with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "VertexAGI/prism-caption-1-micro"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "VertexAGI/prism-caption-1-micro" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "VertexAGI/prism-caption-1-micro", "messages": [ {"role": "user", "content": "Hello"} ] }' - Docker Model Runner
How to use VertexAGI/prism-caption-1-micro with Docker Model Runner:
docker model run hf.co/VertexAGI/prism-caption-1-micro:Q4_K_M
- Lemonade
How to use VertexAGI/prism-caption-1-micro with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull VertexAGI/prism-caption-1-micro:Q4_K_M
Run and chat with the model
lemonade run user.prism-caption-1-micro-Q4_K_M
List all available models
lemonade list
- Atomic Chat
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf VertexAGI/prism-caption-1-micro:Q4_K_M# Run inference directly in the terminal:
llama cli -hf VertexAGI/prism-caption-1-micro:Q4_K_MUse 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 VertexAGI/prism-caption-1-micro:Q4_K_M# Run inference directly in the terminal:
./llama-cli -hf VertexAGI/prism-caption-1-micro:Q4_K_MBuild 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 VertexAGI/prism-caption-1-micro:Q4_K_M# Run inference directly in the terminal:
./build/bin/llama-cli -hf VertexAGI/prism-caption-1-micro:Q4_K_MUse Docker
docker model run hf.co/VertexAGI/prism-caption-1-micro:Q4_K_M
Prism Caption 1 Micro
A tiny, single-purpose model that titles chats -- distilled from Nemotron-3-Nano-Omni into Gemma 3 1B
Overview
Prism Caption 1 Micro does exactly one thing: given a user's first message in a new conversation, it produces a short, specific chat title -- the same "New chat" auto-naming behavior ChatGPT, Claude, and similar assistants provide. Nothing else. It's built to be small and fast enough to run this single narrow task cheaply and locally rather than routing it to a larger general-purpose model.
Part of the Prism family of models.
Training
- Base model:
mlx-community/gemma-3-1b-it-4bit - Teacher:
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free(via OpenRouter's free tier) - Dataset: 339 examples of realistic first-messages across ~50 everyday topics (coding, travel, cooking, finance, health, and more), paired with teacher-generated titles
- Method: LoRA fine-tuning (rank 8, 8 layers), 1,500 iterations
- Best validation loss: 0.163 (reached at iteration 800; the run was essentially converged from iteration ~300 onward)
Evaluation
A held-out base-vs-tuned comparison (20 fresh first-messages) shows the base Gemma-3-1B-it model is already fairly capable at this simple task -- the real gain from fine-tuning is format reliability:
| Metric | Base Gemma-3-1B-it | Prism Caption 1 Micro |
|---|---|---|
| Bad-format outputs (too long / multiline / malformed) | 3/20 | 0/20 |
| Avg word count | 4.0 | 4.0 |
Example outputs (base -> tuned):
- "Explaining the difference between TCP and UDP" -> "TCP vs UDP Explanation" -> "TCP vs UDP Overview"
- "How to start composting in a small apartment" -> "Start Small Apartment Composting" -> "Small Apartment Composting Guide"
- "Debugging a React component that re-renders infinitely" -> "React Component Re-renders" -> "React Component Re-render Issue"
Important inference note: Gemma 3's tokenizer registers <eos> (id 1) as its only default stop token, but the chat template actually ends each turn with <end_of_turn> (id 106). If your inference code doesn't also treat <end_of_turn> as a stop condition, generation will run past the correct title into garbage/padding tokens. See usage examples below.
Formats available
This repo includes both:
| Format | File | Notes |
|---|---|---|
| MLX (4-bit) | model.safetensors + config |
For Apple Silicon via mlx-lm |
| GGUF (Q4_K_M) | prism_caption_1_micro_Q4_K_M.gguf |
For llama.cpp and compatible runtimes (LM Studio, Ollama, etc.) |
Usage -- MLX
from mlx_lm import load, generate
model, tokenizer = load("VertexAGI/prism-caption-1-micro")
tokenizer.eos_token_ids.add(106) # <end_of_turn> -- see inference note above
prompt = "How do I fix a leaking kitchen faucet?"
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
title = generate(model, tokenizer, prompt=text, max_tokens=30)
print(title)
Usage -- GGUF (llama.cpp)
llama.cpp's own chat template handling for Gemma 3 already stops correctly at <end_of_turn>, so no extra flags are needed:
llama-cli -hf VertexAGI/prism-caption-1-micro -m prism_caption_1_micro_Q4_K_M.gguf -st -p "How do I fix a leaking kitchen faucet?"
System prompt
For best results, use the system prompt the model was trained with:
You name chat conversations. Given the user's first message, reply with ONLY a short, specific chat title (3-6 words, title case, no quotes, no punctuation at the end, no preamble). Nothing else -- just the title.
Limitations
This is a 1B-parameter model fine-tuned via LoRA on a small (339-example) dataset for one narrow task -- it will not perform well on anything outside chat-titling. Titles for highly ambiguous or very short first messages may be generic. Not intended as a general-purpose chat model.
License
Apache 2.0, inherited from the Gemma 3 base model.
- Downloads last month
- 105
4-bit
Model tree for VertexAGI/prism-caption-1-micro
Base model
google/gemma-3-1b-pt
Install (macOS, Linux)
# Start a local OpenAI-compatible server with a web UI: llama serve -hf VertexAGI/prism-caption-1-micro:Q4_K_M# Run inference directly in the terminal: llama cli -hf VertexAGI/prism-caption-1-micro:Q4_K_M