Agnes-AI commited on
Commit
24f712c
·
verified ·
1 Parent(s): 8f0c484

Clarify Preview checkpoint identity and benchmark scope

Browse files
Files changed (1) hide show
  1. README.md +40 -44
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--Flash-Open_Weights-3248AF" alt="Open weights"></a>
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
- Hello! 👋 Today we are introducing **Agnes-3.0-Flash**, an **open-weights multimodal model** built for people who want flagship-class reasoning without flagship-class hardware.
29
 
30
- Highlights:
31
 
32
- - **Competitive across core capabilities.** Agnes-3.0-Flash posts competitive results across reasoning, coding, and instruction-following evaluations.
 
 
 
 
 
 
 
 
 
 
 
 
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
- 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.
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
- <p style="margin:0"><b>Agnes-3.0-Flash</b> ships its own model implementation. Always load it with <code>trust_remote_code=True</code>.</p>
 
 
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 model},
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
+ ```