Image-Text-to-Text
Transformers
Safetensors
English
muse_glimmer
text-generation
causal-lm
instruction-tuning
chat
rag
code-generation
summarization
extraction
synthetic-data
Generated from Trainer
conversational
Instructions to use aisquared/bolt-instruct-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use aisquared/bolt-instruct-v2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="aisquared/bolt-instruct-v2") 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("aisquared/bolt-instruct-v2") model = AutoModelForMultimodalLM.from_pretrained("aisquared/bolt-instruct-v2", 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
- vLLM
How to use aisquared/bolt-instruct-v2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aisquared/bolt-instruct-v2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aisquared/bolt-instruct-v2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/aisquared/bolt-instruct-v2
- SGLang
How to use aisquared/bolt-instruct-v2 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 "aisquared/bolt-instruct-v2" \ --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": "aisquared/bolt-instruct-v2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "aisquared/bolt-instruct-v2" \ --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": "aisquared/bolt-instruct-v2", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use aisquared/bolt-instruct-v2 with Docker Model Runner:
docker model run hf.co/aisquared/bolt-instruct-v2
|
Download README.md from aisquared/bolt-instruct-v2: direct link, hf CLI and curl.
- Browser
- Download file 7.6 kB
-
https://huggingface.co/aisquared/bolt-instruct-v2/resolve/main/README.md
- Command line
-
hf download hf://aisquared/bolt-instruct-v2/README.md
-
curl -L -o README.md https://huggingface.co/aisquared/bolt-instruct-v2/resolve/main/README.md
7.6 kB
| tags: | |
| - text-generation | |
| - causal-lm | |
| - instruction-tuning | |
| - chat | |
| - rag | |
| - code-generation | |
| - summarization | |
| - extraction | |
| - synthetic-data | |
| - generated_from_trainer | |
| - conversational | |
| license: other | |
| pipeline_tag: image-text-to-text | |
| library_name: transformers | |
| language: | |
| - en | |
| # Bolt Instruct V2 | |
| Bolt Instruct V2 is a fine-tune of [meta-models/Muse-Glimmer-30B](https://huggingface.co/meta-models/Muse-Glimmer-30B/blob/main/README.md) designed optimized for **concise reasoning, accurate tool selection, and efficient execution of tool-based workflows**. | |
| --- | |
| # Model Overview | |
| Bolt Instruct V2 provide **strong instruction-following capabilities** across **multi-turn agentic workflows** while reducing cost and latency as compared to other leading ~30B models. | |
| Key design goals: | |
| - Strong instruction adherence | |
| - Multi-turn agentic coding & automated task completion | |
| - Concise reasoning | |
| --- | |
| # Model Details | |
| - **Type:** Dense Causal Transformer w/ merged LoRA adapter | |
| - **Max context:** 131,072+ | |
| - **Supported modalities:** Text, Image | |
| ### Capabilities | |
| - Chat / multi-turn dialogue | |
| - Instruction following | |
| - Structured output (JSON) | |
| - Summarization & transformation | |
| - Extraction | |
| - RAG generation | |
| - Code generation | |
| --- | |
| # Training | |
| ### Training Approach | |
| Bolt Instruct V2 is a LoRA supervised fine-tune, trained to combine concise reasoning with precise tool use. The goal was to reduce unnecessary deliberation while preserving the ability to make tool calls. We chose supervised fine-tuning because we could demonstrate the behaviour we wanted directly: brief reasoning followed by the appropriate tool calls, including grouped calls for parallel execution. | |
| Training Configuration | |
| | | | | |
| |---|---| | |
| | Method | LoRA supervised fine-tuning (Unsloth + TRL SFTTrainer) | | |
| | Base model | unsloth/Muse-Glimmer-30B | | |
| | LoRA rank / alpha | 32 / 32 | | |
| | Trained modules | language-layer attention and MLP (vision tower frozen) | | |
| | Loss | response-only (assistant turns masked in) | | |
| | Optimizer | adamw_8bit, linear schedule | | |
| | Quantization | none (full-precision base) | | |
| ### Training Data | |
| The training corpus contains 7,646 multi-step agentic sessions, filtered to include tool schemas, at least one reasoning block, and a genuine user request. Reasoning before tool calls had a median length of 28 tokens, and 91% of tool calls were preceded by reasoning. The corpus also included 14,204 turns with multiple tool calls, representing 17.4% of tool-calling turns and occurring in 47% of sessions. Sessions contained a median of 13 tool calls, with 62.7% containing at least 10. Together, these examples demonstrated concise reasoning, parallel tool calling, and sustained multi-step tool use. | |
| | | | | |
| |---|---| | |
| | Sessions | 7,646 (7,263 train / 383 held out) | | |
| | Messages per session (median) | 27 | | |
| | Assistant turns per session (median) | 11 | | |
| | Distinct tool schemas | 26 | | |
| | **Tool use** | | | |
| | Total tool calls | 106,219 | | |
| | Tool-calling turns | 81,570 | | |
| | Tool calls per session (median) | 13 | | |
| | Sessions with ≥10 tool calls | 62.7% | | |
| | **Parallel tool calling** | | | |
| | Turns issuing multiple tool calls | 14,204 (17.4% of tool-calling turns) | | |
| | Sessions containing a parallel turn | 47.1% | | |
| | Calls per parallel turn (median) | 2 | | |
| | **Reasoning** | | | |
| | Tool calls preceded by reasoning | 90.6% | | |
| | Reasoning length (median) | 28 tokens | | |
| | Reasoning length (mean) | 48 tokens | | |
| ### Training Hardware | |
| | | | | |
| |---|---| | |
| | GPUs | 2 × NVIDIA H200 | | |
| | GPU memory | 141 GB each, 282 GB total | | |
| | Training time | 18 hours | | |
| --- | |
| # Intended Use | |
| - Chat assistants | |
| - Enterprise copilots | |
| - RAG pipelines | |
| - Document processing | |
| - Structured extraction | |
| - Code assistance | |
| --- | |
| # Usage | |
| ```python | |
| from transformers import AutoProcessor, AutoModelForMultimodalLM | |
| processor = AutoProcessor.from_pretrained("aisquared/bolt-instruct-v2") | |
| model = AutoModelForMultimodalLM.from_pretrained("aisquared/bolt-instruct-v2", 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]:])) | |
| ``` | |
| --- | |
| # Evaluation | |
| We evaluated Bolt Instruct V2 on raw performance on general-purpose and agentic tasks, as well as reasoning efficiency and time to complete a given task. | |
| ### Evaluation results for aisquared/bolt-instruct-v2: | |
| Measured with the sampling configuration published for Muse Glimmer | |
| **temperature 1.0 / top_p 0.95 / top_k 64**, high reasoning strength | |
| served with vLLM (`--generation-config auto`). | |
|  | |
| ### Efficiency — per task | |
| | Metric | Benchmark | Muse Glimmer 30B(High) | **Bolt Instruct V2** | Gemma 4 31B (think on) | | |
| |---|---|---|---|---| | |
| | **Reasoning tokens** | BFCL | 1,266 | **635** | 2,609 | | |
| | | τ²-bench | 1,689 | **976** | 3,450 | | |
| | | AutomationBench | 6,351 | **2,022** | 10,835 | | |
| | **Output tokens** | BFCL | 459 | **281** | 313 | | |
| | | τ²-bench | 2,514 | **1,931** | 4,177 | | |
| | | AutomationBench | 9,910 | **5,988** | 14,839 | | |
| | **Latency** | BFCL (mean) | 19.76 s | **12.60 s** | 7.47 s | | |
| | | τ²-bench | 64.9 s | **51.4 s** | 129.8 s | | |
| ### Agentic — multi-turn | |
| | Benchmark | Muse Glimmer 30B(High) | **Bolt Instruct V2** | Gemma 4 31B (think on) | | |
| |---|---|---|---| | |
| | τ²-bench @ temperature 0 | 85.37 | 76.83 | 84.15 | | |
| | τ²-bench @ published sampling ¹ | 34.45 | 30.64 | 85.21 | | |
| ### Agentic — single-turn tool calling | |
| | Benchmark | Muse Glimmer 30B(High) | **Bolt Instruct V2** | Gemma 4 31B (think on) | | |
| |---|---|---|---| | |
| | BFCL Live | 55.84% | **59.67%** | 69.21% | | |
| | BFCL Non-Live | 10.12% | **24.38%** | — | | |
| | ACEBench parallel function calling | 48% | **79%** | 81% | | |
| ### General capability | |
| | Benchmark | Muse Glimmer 30B(High) | **Bolt Instruct V2** | Bolt Instruct V1 | | |
| |---|---|---|---| | |
| | BBH | 63.00 | **89.00** | — | | |
| | GPQA Diamond (CoT, 0-shot) ³ | 33.6 | **57.5** | — | | |
| | IFEval (prompt-strict) | 65.06 | **73.75** | 85.95 | | |
| | ARC Challenge | 58.28 | 56.91 | 56.66 | | |
| | TruthfulQA MC2 | 61.64 | 59.32 | 69.34 | | |
| Bolt Instruct V1 and V2 are not successive versions of the same model. | |
| V1 is built on Olmo 3 (32B, 64K context, text-only) and optimized for | |
| instruction following; V2 is built on Muse Glimmer (30B, 128K context, | |
| multimodal) and optimized for agentic tool execution. Each should be read | |
| against its own foundation model, But Bolt Instruct V2 improves on Muse Glimmer's IFEval | |
| score. | |
| **Reproduction.** τ²-bench and AutomationBench under their official | |
| harnesses; lm-evaluation-harness for BBH, GPQA Diamond, IFEval, ARC | |
| Challenge and TruthfulQA; BFCL and ACEBench under their own. | |
| --- | |
| # Limitations | |
| - May hallucinate without grounding | |
| - Not suitable for high-risk domains without oversight | |
| - Requires low-temperature decoding for precise tool-call arguments | |
| - Performance varies by task domain; validate against your own task set | |
| - Built for short and medium-horizon workflows and regression is seen on long multi-step workflows | |
| --- | |
| # License | |
| Bolt Instruct is released under the [AI Squared Community License](https://docs.squared.ai/terms-of-use). |