Image-Text-to-Text
Transformers
Safetensors
English
Chinese
agnes
text-generation
agnes-ai
reasoning
multimodal
long-context
hybrid-attention
conversational
custom_code
Instructions to use Agnes-AI/Agnes-3.0-Flash with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Agnes-AI/Agnes-3.0-Flash with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Agnes-AI/Agnes-3.0-Flash", trust_remote_code=True) 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)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Agnes-AI/Agnes-3.0-Flash", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Agnes-AI/Agnes-3.0-Flash with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Agnes-AI/Agnes-3.0-Flash" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Agnes-AI/Agnes-3.0-Flash", "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/Agnes-AI/Agnes-3.0-Flash
- SGLang
How to use Agnes-AI/Agnes-3.0-Flash 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 "Agnes-AI/Agnes-3.0-Flash" \ --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": "Agnes-AI/Agnes-3.0-Flash", "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 "Agnes-AI/Agnes-3.0-Flash" \ --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": "Agnes-AI/Agnes-3.0-Flash", "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 Agnes-AI/Agnes-3.0-Flash with Docker Model Runner:
docker model run hf.co/Agnes-AI/Agnes-3.0-Flash
Clarify Preview checkpoint identity and benchmark scope
Browse files
README.md
CHANGED
|
@@ -12,40 +12,53 @@ tags:
|
|
| 12 |
- long-context
|
| 13 |
- hybrid-attention
|
| 14 |
---
|
| 15 |
-
|
| 16 |
<p align="center">
|
| 17 |
<img width="132" src="assets/agnes_logo.svg" alt="Agnes AI logo">
|
| 18 |
</p>
|
| 19 |
|
| 20 |
<p align="center">
|
| 21 |
<a href="https://agnes-ai.com/"><img src="https://img.shields.io/badge/Agnes_AI-Website-3248AF" alt="Agnes AI website"></a>
|
| 22 |
-
<a href="#quickstart"><img src="https://img.shields.io/badge/Agnes--3.0--
|
| 23 |
<img src="https://img.shields.io/badge/License-Apache_2.0-111827" alt="Apache 2.0">
|
| 24 |
</p>
|
| 25 |
|
| 26 |
-
# Agnes-3.0-Flash
|
| 27 |
|
| 28 |
-
|
| 29 |
|
| 30 |
-
Highlights:
|
| 31 |
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
- **Built for demanding work.** A **262 144-token context window**, adjustable reasoning effort, tool calling, and **text, image and video** understanding.
|
| 34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
<p align="center">
|
| 36 |
-
<img style="width:100%;max-width:1100px" src="assets/agnes_benchmarks.svg" alt="Agnes-3.0-Flash benchmark reference results">
|
| 37 |
</p>
|
| 38 |
-
## Agnes-3.0-Flash
|
| 39 |
|
| 40 |
-
### Benchmarks
|
| 41 |
|
| 42 |
-
|
| 43 |
|
|
|
|
| 44 |
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;width:100%;margin:0 auto;padding:16px 0;overflow-x:auto">
|
| 45 |
<table style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;min-width:1180px">
|
| 46 |
<thead><tr>
|
| 47 |
<th style="width:15%;padding:9px 6px;text-align:left;border-bottom:2px solid #3248AF;color:#3248AF;font-size:11px">Benchmark</th>
|
| 48 |
-
<th style="width:10%;padding:9px 5px;text-align:center;font-weight:700;border-bottom:2px solid #3248AF;color:#3248AF;background:rgba(50,72,175,.09);font-size:10px;line-height:1.3">Agnes-3.0-Flash</th>
|
| 49 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Qwen3.6-35B-A3B<br><span style="opacity:.65">35B / 3B active</span></th>
|
| 50 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Kimi K2.5<br><span style="opacity:.65">1T / 32B active</span></th>
|
| 51 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Muse Glimmer<br><span style="opacity:.65">30B</span></th>
|
|
@@ -67,10 +80,9 @@ Reference results across contemporary models are shown below. The figures were c
|
|
| 67 |
Higher is better for every row. Header parameter figures mix total and active counts, and harnesses and snapshot dates differ across sources, so treat cross-column comparisons as reference values rather than a controlled head-to-head evaluation.
|
| 68 |
</p>
|
| 69 |
|
| 70 |
-
## Architecture
|
| 71 |
-
|
| 72 |
-
Agnes-3.0-Flash is a hybrid-attention decoder: three of every four layers run a gated delta rule (recurrent, with per-layer state independent of sequence length), and the fourth runs standard global attention. Only 18 of the 72 layers therefore hold a KV cache that grows with context.
|
| 73 |
|
|
|
|
|
|
|
| 74 |
| | |
|
| 75 |
|---|---|
|
| 76 |
| Context length | **262 144** tokens |
|
|
@@ -84,31 +96,28 @@ Agnes-3.0-Flash is a hybrid-attention decoder: three of every four layers run a
|
|
| 84 |
| Vision tower | 27 layers, hidden 1152, patch 16, 2 × 2 spatial merge, projected to 5120 |
|
| 85 |
|
| 86 |
## Quickstart
|
| 87 |
-
|
| 88 |
<div style="border-left:4px solid #3248AF;background:rgba(50,72,175,.08);border-radius:6px;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.6">
|
| 89 |
<div style="font-weight:700;color:#3248AF;margin-bottom:6px">REMOTE CODE REQUIRED</div>
|
| 90 |
-
|
|
|
|
|
|
|
| 91 |
</div>
|
| 92 |
|
| 93 |
-
### Requirements
|
| 94 |
|
|
|
|
| 95 |
```bash
|
| 96 |
pip install "transformers>=5.12" torch torchvision accelerate
|
| 97 |
```
|
| 98 |
-
|
| 99 |
Tested on transformers 5.12.1. Image and video inputs go through the bundled processor, which needs `torchvision`.
|
| 100 |
|
| 101 |
### Transformers
|
| 102 |
-
|
| 103 |
```python
|
| 104 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 105 |
-
|
| 106 |
path = "Agnes-AI/Agnes-3.0-Flash"
|
| 107 |
tok = AutoTokenizer.from_pretrained(path)
|
| 108 |
model = AutoModelForCausalLM.from_pretrained(
|
| 109 |
path, dtype="bfloat16", device_map="auto", trust_remote_code=True
|
| 110 |
)
|
| 111 |
-
|
| 112 |
msgs = [{"role": "user", "content": "请用三句话解释什么是人工智能。"}]
|
| 113 |
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
|
| 114 |
out = model.generate(ids, max_new_tokens=256)
|
|
@@ -116,12 +125,9 @@ print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True))
|
|
| 116 |
```
|
| 117 |
|
| 118 |
### Images and video
|
| 119 |
-
|
| 120 |
Image and video inputs go through the bundled processor (also remote code):
|
| 121 |
-
|
| 122 |
```python
|
| 123 |
from transformers import AutoProcessor
|
| 124 |
-
|
| 125 |
proc = AutoProcessor.from_pretrained(path, trust_remote_code=True)
|
| 126 |
msgs = [{"role": "user", "content": [{"type": "image", "image": "photo.jpg"},
|
| 127 |
{"type": "text", "text": "描述这张图。"}]}]
|
|
@@ -132,18 +138,14 @@ print(proc.batch_decode(out[:, inputs["input_ids"].shape[1]:], skip_special_toke
|
|
| 132 |
```
|
| 133 |
|
| 134 |
### Reasoning effort
|
| 135 |
-
|
| 136 |
The chat template exposes three reasoning levels — `high` (default), `medium`, `low` — plus a thinking-off switch:
|
| 137 |
-
|
| 138 |
```python
|
| 139 |
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt",
|
| 140 |
reasoning_effort="medium") # or enable_thinking=False
|
| 141 |
```
|
| 142 |
|
| 143 |
### Tool calling
|
| 144 |
-
|
| 145 |
The chat template renders tool definitions for you. The model emits calls as `<tool_call><function=…><parameter=…>`, and you feed results back as a `tool` role message:
|
| 146 |
-
|
| 147 |
```python
|
| 148 |
tools = [{
|
| 149 |
"type": "function",
|
|
@@ -157,43 +159,43 @@ tools = [{
|
|
| 157 |
},
|
| 158 |
},
|
| 159 |
}]
|
| 160 |
-
|
| 161 |
msgs = [{"role": "user", "content": "What's the weather in Beijing right now?"}]
|
| 162 |
ids = tok.apply_chat_template(msgs, tools=tools, add_generation_prompt=True,
|
| 163 |
return_tensors="pt").to(model.device)
|
| 164 |
out = model.generate(ids, max_new_tokens=256)
|
| 165 |
reply = tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)
|
|
|
|
| 166 |
# <tool_call>
|
|
|
|
| 167 |
# <function=get_weather>
|
|
|
|
| 168 |
# <parameter=city>
|
|
|
|
| 169 |
# Beijing
|
|
|
|
| 170 |
# </parameter>
|
|
|
|
| 171 |
# </function>
|
|
|
|
| 172 |
# </tool_call>
|
| 173 |
|
| 174 |
# run the tool, append the result, generate the final answer
|
| 175 |
msgs += [{"role": "assistant", "content": reply},
|
| 176 |
{"role": "tool", "content": "Clear, 26°C, light northeasterly wind"}]
|
| 177 |
```
|
| 178 |
-
|
| 179 |
Over the OpenAI API pass `tools=` the same way. The server returns the text above verbatim by default; to get structured `tool_calls`, configure sglang with a tool-call parser matching this format (likewise a reasoning parser, if you want the thinking span in `reasoning_content`).
|
| 180 |
|
| 181 |
### SGLang
|
| 182 |
-
|
| 183 |
`serve.sh` starts a server from a stock public image, overlaying three files onto the image's `sglang` package and nothing else. See `sglang_patch/README.md`.
|
| 184 |
-
|
| 185 |
```bash
|
| 186 |
docker run --gpus all --shm-size 64g -p 30001:8080 \
|
| 187 |
-v /path/to/agnes-3.0-flash:/model \
|
| 188 |
lmsysorg/sglang:nightly-dev-20260908-20ca564b \
|
| 189 |
bash /agnes-3.0-flash/serve.sh --served-model-name Agnes-3.0-Flash
|
| 190 |
```
|
| 191 |
-
|
| 192 |
`serve.sh` forwards extra command-line arguments to sglang, which is how `--served-model-name` takes effect; `--tp 2` works the same way. The server listens on port 8080 inside the container:
|
| 193 |
-
|
| 194 |
```python
|
| 195 |
from openai import OpenAI
|
| 196 |
-
|
| 197 |
client = OpenAI(api_key="EMPTY", base_url="http://localhost:30001/v1")
|
| 198 |
response = client.chat.completions.create(
|
| 199 |
model="Agnes-3.0-Flash",
|
|
@@ -203,11 +205,9 @@ response = client.chat.completions.create(
|
|
| 203 |
)
|
| 204 |
print(response.choices[0].message.content)
|
| 205 |
```
|
| 206 |
-
|
| 207 |
Pass `stream=True` for streaming; `tools=` and `reasoning_effort=` are accepted the same way.
|
| 208 |
|
| 209 |
## Hardware Requirements
|
| 210 |
-
|
| 211 |
| Resource | Recommendation |
|
| 212 |
|---|---|
|
| 213 |
| GPUs | 1 × NVIDIA H200 141 GB or NVIDIA H100 80 GB (or equivalent) at bf16 |
|
|
@@ -218,7 +218,6 @@ Pass `stream=True` for streaming; `tools=` and `reasoning_effort=` are accepted
|
|
| 218 |
Actual context length and concurrency depend on KV-cache allocation, runtime overhead, and tensor-parallel configuration; validate the target workload on the intended hardware.
|
| 219 |
|
| 220 |
## Recommended Inference Settings
|
| 221 |
-
|
| 222 |
| Setting | Recommended |
|
| 223 |
|---|---|
|
| 224 |
| `temperature` | 1.0 |
|
|
@@ -230,7 +229,6 @@ Actual context length and concurrency depend on KV-cache allocation, runtime ove
|
|
| 230 |
These are the checkpoint's own `generation_config.json` defaults.
|
| 231 |
|
| 232 |
## Model Capabilities
|
| 233 |
-
|
| 234 |
| Capability | Support |
|
| 235 |
|---|---|
|
| 236 |
| Advanced reasoning | Yes, with `high` / `medium` / `low` effort levels |
|
|
@@ -243,18 +241,16 @@ These are the checkpoint's own `generation_config.json` defaults.
|
|
| 243 |
| OpenAI-compatible APIs | Chat Completions via sglang |
|
| 244 |
|
| 245 |
## License
|
| 246 |
-
|
| 247 |
Released under the [Apache License 2.0](LICENSE).
|
| 248 |
|
| 249 |
## Citation
|
| 250 |
-
|
| 251 |
```bibtex
|
| 252 |
@misc{agnes30flash2026,
|
| 253 |
-
title = {Agnes-3.0-Flash},
|
| 254 |
author = {{Agnes AI}},
|
| 255 |
year = {2026},
|
| 256 |
month = sep,
|
| 257 |
-
howpublished = {Open-weights
|
| 258 |
url = {https://agnes-ai.com/}
|
| 259 |
}
|
| 260 |
-
```
|
|
|
|
| 12 |
- long-context
|
| 13 |
- hybrid-attention
|
| 14 |
---
|
|
|
|
| 15 |
<p align="center">
|
| 16 |
<img width="132" src="assets/agnes_logo.svg" alt="Agnes AI logo">
|
| 17 |
</p>
|
| 18 |
|
| 19 |
<p align="center">
|
| 20 |
<a href="https://agnes-ai.com/"><img src="https://img.shields.io/badge/Agnes_AI-Website-3248AF" alt="Agnes AI website"></a>
|
| 21 |
+
<a href="#quickstart"><img src="https://img.shields.io/badge/Agnes--3.0--Flash_Preview-Open_Weights-3248AF" alt="Open weights"></a>
|
| 22 |
<img src="https://img.shields.io/badge/License-Apache_2.0-111827" alt="Apache 2.0">
|
| 23 |
</p>
|
| 24 |
|
|
|
|
| 25 |
|
| 26 |
+
# Agnes-3.0-Flash Preview
|
| 27 |
|
|
|
|
| 28 |
|
| 29 |
+
## Model version clarification
|
| 30 |
+
|
| 31 |
+
This repository contains an earlier open-weight **Preview checkpoint** of Agnes 3.0 Flash. It is distinct from the newer **production/API checkpoint** listed on [Artificial Analysis](https://artificialanalysis.ai/models/agnes-3-0-flash).
|
| 32 |
+
|
| 33 |
+
The Preview release has **33B parameters** and a context window of **262,144 tokens**. The production/API model uses a different checkpoint and configuration, with a **1M-token context window**. Its benchmark results should not be attributed to the Preview weights released here.
|
| 34 |
+
|
| 35 |
+
This repository was initially published as `Agnes-3.0-Flash` without the `Preview` suffix. The model card now explicitly identifies this release as **Agnes-3.0-Flash Preview** to clarify the distinction between the open-weight release and the production/API model.
|
| 36 |
+
|
| 37 |
+
The specifications and Agnes benchmark results below refer to the **Preview checkpoint**.
|
| 38 |
+
|
| 39 |
+
Hello! 👋 Today we are introducing **Agnes-3.0-Flash Preview**, an **open-weights multimodal preview model** built for people who want flagship-class reasoning without flagship-class hardware.
|
| 40 |
+
Highlights:
|
| 41 |
+
- **Competitive across core capabilities.** Agnes-3.0-Flash Preview posts competitive results across reasoning, coding, and instruction-following evaluations.
|
| 42 |
- **Built for demanding work.** A **262 144-token context window**, adjustable reasoning effort, tool calling, and **text, image and video** understanding.
|
| 43 |
|
| 44 |
+
|
| 45 |
+
### Benchmarks
|
| 46 |
+
|
| 47 |
+
> **Benchmark scope:** The Agnes results in the chart and table below belong to the **Agnes-3.0-Flash Preview open-weight checkpoint** released in this repository. They are not results for the production/API Agnes 3.0 Flash model listed on Artificial Analysis.
|
| 48 |
+
|
| 49 |
<p align="center">
|
| 50 |
+
<img style="width:100%;max-width:1100px" src="assets/agnes_benchmarks.svg" alt="Agnes-3.0-Flash Preview benchmark reference results">
|
| 51 |
</p>
|
|
|
|
| 52 |
|
|
|
|
| 53 |
|
| 54 |
+
The label "Agnes-3.0-Flash" in the benchmark image refers to this Preview checkpoint.
|
| 55 |
|
| 56 |
+
Reference results across contemporary models are shown below. The figures were compiled from different sources, harnesses, and model snapshots and do not constitute a controlled head-to-head comparison.
|
| 57 |
<div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;width:100%;margin:0 auto;padding:16px 0;overflow-x:auto">
|
| 58 |
<table style="width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;min-width:1180px">
|
| 59 |
<thead><tr>
|
| 60 |
<th style="width:15%;padding:9px 6px;text-align:left;border-bottom:2px solid #3248AF;color:#3248AF;font-size:11px">Benchmark</th>
|
| 61 |
+
<th style="width:10%;padding:9px 5px;text-align:center;font-weight:700;border-bottom:2px solid #3248AF;color:#3248AF;background:rgba(50,72,175,.09);font-size:10px;line-height:1.3">Agnes-3.0-Flash Preview</th>
|
| 62 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Qwen3.6-35B-A3B<br><span style="opacity:.65">35B / 3B active</span></th>
|
| 63 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Kimi K2.5<br><span style="opacity:.65">1T / 32B active</span></th>
|
| 64 |
<th style="width:8.33%;padding:9px 5px;text-align:center;border-bottom:2px solid #3248AF;font-size:10px;line-height:1.3">Muse Glimmer<br><span style="opacity:.65">30B</span></th>
|
|
|
|
| 80 |
Higher is better for every row. Header parameter figures mix total and active counts, and harnesses and snapshot dates differ across sources, so treat cross-column comparisons as reference values rather than a controlled head-to-head evaluation.
|
| 81 |
</p>
|
| 82 |
|
|
|
|
|
|
|
|
|
|
| 83 |
|
| 84 |
+
## Architecture
|
| 85 |
+
Agnes-3.0-Flash Preview is a hybrid-attention decoder: three of every four layers run a gated delta rule (recurrent, with per-layer state independent of sequence length), and the fourth runs standard global attention. Only 18 of the 72 layers therefore hold a KV cache that grows with context.
|
| 86 |
| | |
|
| 87 |
|---|---|
|
| 88 |
| Context length | **262 144** tokens |
|
|
|
|
| 96 |
| Vision tower | 27 layers, hidden 1152, patch 16, 2 × 2 spatial merge, projected to 5120 |
|
| 97 |
|
| 98 |
## Quickstart
|
|
|
|
| 99 |
<div style="border-left:4px solid #3248AF;background:rgba(50,72,175,.08);border-radius:6px;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.6">
|
| 100 |
<div style="font-weight:700;color:#3248AF;margin-bottom:6px">REMOTE CODE REQUIRED</div>
|
| 101 |
+
|
| 102 |
+
<p style="margin:0"><b>Agnes-3.0-Flash Preview</b> ships its own model implementation. Always load it with <code>trust_remote_code=True</code>.</p>
|
| 103 |
+
|
| 104 |
</div>
|
| 105 |
|
|
|
|
| 106 |
|
| 107 |
+
### Requirements
|
| 108 |
```bash
|
| 109 |
pip install "transformers>=5.12" torch torchvision accelerate
|
| 110 |
```
|
|
|
|
| 111 |
Tested on transformers 5.12.1. Image and video inputs go through the bundled processor, which needs `torchvision`.
|
| 112 |
|
| 113 |
### Transformers
|
|
|
|
| 114 |
```python
|
| 115 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
| 116 |
path = "Agnes-AI/Agnes-3.0-Flash"
|
| 117 |
tok = AutoTokenizer.from_pretrained(path)
|
| 118 |
model = AutoModelForCausalLM.from_pretrained(
|
| 119 |
path, dtype="bfloat16", device_map="auto", trust_remote_code=True
|
| 120 |
)
|
|
|
|
| 121 |
msgs = [{"role": "user", "content": "请用三句话解释什么是人工智能。"}]
|
| 122 |
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
|
| 123 |
out = model.generate(ids, max_new_tokens=256)
|
|
|
|
| 125 |
```
|
| 126 |
|
| 127 |
### Images and video
|
|
|
|
| 128 |
Image and video inputs go through the bundled processor (also remote code):
|
|
|
|
| 129 |
```python
|
| 130 |
from transformers import AutoProcessor
|
|
|
|
| 131 |
proc = AutoProcessor.from_pretrained(path, trust_remote_code=True)
|
| 132 |
msgs = [{"role": "user", "content": [{"type": "image", "image": "photo.jpg"},
|
| 133 |
{"type": "text", "text": "描述这张图。"}]}]
|
|
|
|
| 138 |
```
|
| 139 |
|
| 140 |
### Reasoning effort
|
|
|
|
| 141 |
The chat template exposes three reasoning levels — `high` (default), `medium`, `low` — plus a thinking-off switch:
|
|
|
|
| 142 |
```python
|
| 143 |
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt",
|
| 144 |
reasoning_effort="medium") # or enable_thinking=False
|
| 145 |
```
|
| 146 |
|
| 147 |
### Tool calling
|
|
|
|
| 148 |
The chat template renders tool definitions for you. The model emits calls as `<tool_call><function=…><parameter=…>`, and you feed results back as a `tool` role message:
|
|
|
|
| 149 |
```python
|
| 150 |
tools = [{
|
| 151 |
"type": "function",
|
|
|
|
| 159 |
},
|
| 160 |
},
|
| 161 |
}]
|
|
|
|
| 162 |
msgs = [{"role": "user", "content": "What's the weather in Beijing right now?"}]
|
| 163 |
ids = tok.apply_chat_template(msgs, tools=tools, add_generation_prompt=True,
|
| 164 |
return_tensors="pt").to(model.device)
|
| 165 |
out = model.generate(ids, max_new_tokens=256)
|
| 166 |
reply = tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True)
|
| 167 |
+
|
| 168 |
# <tool_call>
|
| 169 |
+
|
| 170 |
# <function=get_weather>
|
| 171 |
+
|
| 172 |
# <parameter=city>
|
| 173 |
+
|
| 174 |
# Beijing
|
| 175 |
+
|
| 176 |
# </parameter>
|
| 177 |
+
|
| 178 |
# </function>
|
| 179 |
+
|
| 180 |
# </tool_call>
|
| 181 |
|
| 182 |
# run the tool, append the result, generate the final answer
|
| 183 |
msgs += [{"role": "assistant", "content": reply},
|
| 184 |
{"role": "tool", "content": "Clear, 26°C, light northeasterly wind"}]
|
| 185 |
```
|
|
|
|
| 186 |
Over the OpenAI API pass `tools=` the same way. The server returns the text above verbatim by default; to get structured `tool_calls`, configure sglang with a tool-call parser matching this format (likewise a reasoning parser, if you want the thinking span in `reasoning_content`).
|
| 187 |
|
| 188 |
### SGLang
|
|
|
|
| 189 |
`serve.sh` starts a server from a stock public image, overlaying three files onto the image's `sglang` package and nothing else. See `sglang_patch/README.md`.
|
|
|
|
| 190 |
```bash
|
| 191 |
docker run --gpus all --shm-size 64g -p 30001:8080 \
|
| 192 |
-v /path/to/agnes-3.0-flash:/model \
|
| 193 |
lmsysorg/sglang:nightly-dev-20260908-20ca564b \
|
| 194 |
bash /agnes-3.0-flash/serve.sh --served-model-name Agnes-3.0-Flash
|
| 195 |
```
|
|
|
|
| 196 |
`serve.sh` forwards extra command-line arguments to sglang, which is how `--served-model-name` takes effect; `--tp 2` works the same way. The server listens on port 8080 inside the container:
|
|
|
|
| 197 |
```python
|
| 198 |
from openai import OpenAI
|
|
|
|
| 199 |
client = OpenAI(api_key="EMPTY", base_url="http://localhost:30001/v1")
|
| 200 |
response = client.chat.completions.create(
|
| 201 |
model="Agnes-3.0-Flash",
|
|
|
|
| 205 |
)
|
| 206 |
print(response.choices[0].message.content)
|
| 207 |
```
|
|
|
|
| 208 |
Pass `stream=True` for streaming; `tools=` and `reasoning_effort=` are accepted the same way.
|
| 209 |
|
| 210 |
## Hardware Requirements
|
|
|
|
| 211 |
| Resource | Recommendation |
|
| 212 |
|---|---|
|
| 213 |
| GPUs | 1 × NVIDIA H200 141 GB or NVIDIA H100 80 GB (or equivalent) at bf16 |
|
|
|
|
| 218 |
Actual context length and concurrency depend on KV-cache allocation, runtime overhead, and tensor-parallel configuration; validate the target workload on the intended hardware.
|
| 219 |
|
| 220 |
## Recommended Inference Settings
|
|
|
|
| 221 |
| Setting | Recommended |
|
| 222 |
|---|---|
|
| 223 |
| `temperature` | 1.0 |
|
|
|
|
| 229 |
These are the checkpoint's own `generation_config.json` defaults.
|
| 230 |
|
| 231 |
## Model Capabilities
|
|
|
|
| 232 |
| Capability | Support |
|
| 233 |
|---|---|
|
| 234 |
| Advanced reasoning | Yes, with `high` / `medium` / `low` effort levels |
|
|
|
|
| 241 |
| OpenAI-compatible APIs | Chat Completions via sglang |
|
| 242 |
|
| 243 |
## License
|
|
|
|
| 244 |
Released under the [Apache License 2.0](LICENSE).
|
| 245 |
|
| 246 |
## Citation
|
|
|
|
| 247 |
```bibtex
|
| 248 |
@misc{agnes30flash2026,
|
| 249 |
+
title = {Agnes-3.0-Flash Preview},
|
| 250 |
author = {{Agnes AI}},
|
| 251 |
year = {2026},
|
| 252 |
month = sep,
|
| 253 |
+
howpublished = {Open-weights preview checkpoint},
|
| 254 |
url = {https://agnes-ai.com/}
|
| 255 |
}
|
| 256 |
+
```
|