Instructions to use TheFusionCube/Sage-A1.5-Concise with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use TheFusionCube/Sage-A1.5-Concise with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="TheFusionCube/Sage-A1.5-Concise") 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("TheFusionCube/Sage-A1.5-Concise") model = AutoModelForMultimodalLM.from_pretrained("TheFusionCube/Sage-A1.5-Concise", 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 TheFusionCube/Sage-A1.5-Concise with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "TheFusionCube/Sage-A1.5-Concise" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "TheFusionCube/Sage-A1.5-Concise", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/TheFusionCube/Sage-A1.5-Concise
- SGLang
How to use TheFusionCube/Sage-A1.5-Concise 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 "TheFusionCube/Sage-A1.5-Concise" \ --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": "TheFusionCube/Sage-A1.5-Concise", "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 "TheFusionCube/Sage-A1.5-Concise" \ --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": "TheFusionCube/Sage-A1.5-Concise", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use TheFusionCube/Sage-A1.5-Concise with Docker Model Runner:
docker model run hf.co/TheFusionCube/Sage-A1.5-Concise
Sage-A1.5-Concise
Sage-A1.5-Concise is InternScience/Sage-A1.5 after reinforcement learning to shorten its chain of thought. On five benchmarks it uses 11 to 26% fewer tokens than the base model, 18% on average. None of the five scores is significantly below base (paired bootstrap, 95%).
It is a drop-in replacement for the base model. The architecture, tokenizer, chat template, vision encoder and MTP head are unchanged. Only model-00012-of-00014.safetensors differs from the base repository at revision 0e3205cf.
Quantized versions
| Repository | Format | Size | For |
|---|---|---|---|
| Sage-A1.5-Concise-FP8 | compressed-tensors FP8, same recipe as the official Sage-A1.5-FP8 | 39 GB | vLLM, SGLang |
| Sage-A1.5-Concise-GGUF | Q4_K_M, Q5_K_M, Q6_K, Q8_0, plus the vision projector | 22 to 38 GB | llama.cpp |
The benchmark results below were measured on this BF16 model. The quantized versions have not been benchmarked.
Results
Each benchmark compares the model with base Sage-A1.5 on the same tasks. The difference is in score points, with a paired bootstrap 95% interval over tasks. The base reference pools two or three independent base runs. The numbers come from fresh samples that were drawn after the checkpoint had been chosen. The draws used to choose it are not included.
| Benchmark | Samples per task | Difference | 95% interval | Fewer tokens |
|---|---|---|---|---|
| ChemCoTBench | 3 | -1.05 | [-2.07, +0.02] | 26% |
| CMT | 8 | +0.25 | [-3.12, +3.75] | 17% |
| IFBench | 4 | +0.11 | [-1.47, +1.75] | 13% |
| OmniDocBench | 1 | -0.28 | [-0.85, +0.30] | 11% |
| SciCode | 4 | +0.95 | [-0.55, +2.44] | 21% |
Sampling followed the base model's recommendation: temperature 1.0, top_p 0.95, top_k 20, presence_penalty 1.5.
Limitations
- ChemCoTBench passes by a narrow margin. The upper bound of its interval is +0.02, and the point estimate is about 1 point below base. A loss of up to about 2 points is not ruled out on ChemCoTBench or CMT.
- Many training variants were scored on the same test sets during development, and this checkpoint was the second candidate to go through a confirmation round. The more often a test set is consulted, the more likely a model that is truly worse than base is to pass by chance.
- The chains of thought are shorter, but not short. On hard problems a response can still run past 20,000 tokens, and much of that is checking an answer the model already found. In one 4-bit test it reached the right answer to a physics question 14% of the way through its reasoning and spent the rest verifying it.
- On IFBench about 7 in 600 responses repeat themselves verbatim until the token limit.
- Only five benchmarks were checked. Agentic, tool-use and long-context abilities of the base model were not evaluated.
- The MTP head was not trained. Speculative decoding still works, but its acceptance rate may be lower than with the base model. This was not measured.
Training
Training started from base Sage-A1.5 and ran 100 policy versions of on-policy RL. Correct answers earned a bonus for being shorter than the other correct answers to the same prompt. Shortening below 65% of the base model's length on that prompt earned nothing extra. Responses caught in a repetition loop counted as wrong and received a penalty. The tasks covered math, science, instruction following and a restricted set of chemistry tasks (molecule editing, Murcko scaffolds, ring systems and ring counts). Chemistry tasks had no length term.
Only these language-model tensors were updated: full and linear attention, the shared expert and its gate, and the layer norms. Routed experts, the router, the embeddings, the vision encoder and the MTP head are frozen. All 570 trainable tensors sit in one shard, so the rest of the repository is identical to the base model.
Usage
Use it exactly as the base model. For example, with vLLM:
vllm serve TheFusionCube/Sage-A1.5-Concise \
--port 8000 \
--max-model-len 262144 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
See the base model card for SGLang, MTP, long-context and agentic settings.
Citation
Please cite the base model:
@misc{lou2026sagea15longhorizonexecutionscientific,
title={Sage-A1.5: From Long-Horizon Execution to Scientific Exploration with Capability Composition},
author={Sage-A1.5 Team},
year={2026},
eprint={2610.28578},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2610.28578},
}
- Downloads last month
- 495