Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text generation

amethyst-2-mini-failed

by Vertex AGI VertexAGI/amethyst-2-mini-failed

amethyst-2-mini-failed is an open-weight model for text generation from Vertex AGI, released under Apache License 2.0. It has 4B parameters and a 40,960-token context. At 16-bit it needs about 9.7 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

A general-purpose chat model on Qwen3-4B that knows when to call a web-search tool, and when not to. Part of the Amethyst family.

Parameters4B
Context40,960
Weights9.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve amethyst-2-mini-failed (4B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 8.0 GB 9.7 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 4.0 GB 4.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 2.0 GB 2.4 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 22, 2026.

amethyst-2-mini-failed on every accelerator the SAVRN Index prices, at every precision

Model Card

By Vertex AGI, published under apache-2.0, revision 0f908830878e.

A general-purpose chat model on Qwen3-4B that knows when to call a web-search tool, and when not to. Part of the Amethyst family. Amethyst 2 Mini (Failed) keeps a direct, conversational voice and adds reliable web-search tool calling: search when the answer depends on current information, answer from knowledge when it does not, decompose multi-part questions into several queries, and summarize retrieved snippets into a cited answer. Do not disable thinking (enablethinking=False, --reasoning off, or a hand-built prompt that ends in an empty block). The training data taught tool calls in turns that have no empty think block, so with one present the model tends to answer in prose instead of…

Read Vertex AGI's full model card

DO NOT USE THIS MODEL — IT IS NON-FUNCTIONAL

Amethyst 2 Mini is not a working model. It is unreliable, performs poorly, and contains serious defects. We do not recommend it for any purpose, including testing, evaluation, or production use.

Status: superseded — Amethyst 2.5 is coming soon

Amethyst 2.5 is currently in development and will be released in three size variants. It replaces this model entirely. Please wait for Amethyst 2.5 rather than building on this release.

Known problems

  • Tool calling is fragile. It only works with one specific prompt format. With thinking disabled (a common default in many runtimes), the model stops calling the search tool and answers from memory, sometimes inventing citations.
  • Inconsistent training format. The training data rendered tool-call turns and answer turns differently. This is the root cause of the behavior above and cannot be fixed without retraining.
  • Unreliable answers. Responses can contain factual errors and oddly phrased claims, even on simple questions.
  • Limited testing. The evaluation numbers below come from a small, hand-written test set. They do not reflect real-world reliability, and multi-turn tool use was not tested end to end.

The rest of this card is preserved for the historical record only. Its benchmark figures should not be taken as evidence that the model works.

Amethyst 2 Mini (Failed)

A general-purpose chat model on Qwen3-4B that knows when to call a web-search tool, and when not to.

Part of the Amethyst family. Amethyst 2 Mini (Failed) keeps a direct, conversational voice and adds reliable web-search tool calling: search when the answer depends on current information, answer from knowledge when it does not, decompose multi-part questions into several queries, and summarize retrieved snippets into a cited answer.

Important: use the default chat template

Do not disable thinking (enable_thinking=False, --reasoning off, or a hand-built prompt that ends in an empty <think></think> block). The training data taught tool calls in turns that have no empty think block, so with one present the model tends to answer in prose instead of calling the tool (15/28 correct tool decisions instead of 28/28 in our test, sometimes inventing citations). Use the tokenizer's default apply_chat_template(..., add_generation_prompt=True) and the default llama.cpp --jinja template.

Training

  • Base: Qwen3-4B, trained via LoRA on mlx-community/Qwen3-4B-4bit
  • Data: 10,000 synthetic conversations distilled from nvidia/nemotron-3-super-120b-a12b and nvidia/nemotron-3-ultra-550b-a55b through NVIDIA NIM, filtered to 9,156 train / 796 validation. Mix: general chat 36%, search-positive 48%, no-search (answerable from knowledge) 8%, follow-up turns 8%.
  • Method: LoRA rank 8, scale 20, 16 layers, lr 1e-5, batch 2, sequence length 2,048, 13,800 iterations (run in four resumed sessions).
  • Tool format: the model emits <tool_call>{"name": "web_search", "arguments": {"queries": ["..."]}}</tool_call> and receives <tool_result>...</tool_result>, then answers with [1]-style citations. The tool only exists if you describe it in the system prompt, exactly as in training (see below).

Evaluation

48 hand-authored held-out prompts (zero overlap with the training templates): 28 tool-decision prompts (14 should search, 14 should not) and 20 general-chat prompts.

Base Qwen3-4B Amethyst 2 Mini
Correct tool decisions (28) 24 28 (0 false calls, 0 misses)
General chat, blind pairwise judge, both A/B orders 9 wins 19 wins (9 ties, 3 unjudged)
Held-out loss (60 validation examples) 3.528 0.585

The base was run with enable_thinking=False (its normal non-thinking mode). Chat quality was judged on the LoRA-adapter form by nvidia/nemotron-3-super-120b-a12b; the MLX build below matches the adapter's held-out loss.

System prompts (use these exactly)

For plain chat (no tool):

You are Amethyst, a helpful, direct conversational assistant. Answer the actual question asked. Match your length to the question -- a one-line question gets a one-line answer, a substantive question gets real depth. Use plain language, skip filler openers, and don't restate the question back before answering. Format with markdown only when structure genuinely helps (lists, tables, code); prose questions get prose answers.

To enable web search, use the chat prompt followed by a blank line and the tool description (this is what the model was trained with):

You are Amethyst, a helpful, direct conversational assistant. Answer the actual question asked. Match your length to the question -- a one-line question gets a one-line answer, a substantive question gets real depth. Use plain language, skip filler openers, and don't restate the question back before answering. Format with markdown only when structure genuinely helps (lists, tables, code); prose questions get prose answers.

You have access to one tool:

web_search(queries: list[str]) -- search the live web. Pass 1-3 short keyword queries. Use it when the answer depends on current, local, or frequently changing information (news, prices, scores, releases, schedules, weather, "latest"/"current"/"today"). Do NOT use it for stable knowledge you already have -- arithmetic, definitions, settled history, language questions, or code.

To call it, emit exactly this and nothing else:
<tool_call>
{"name": "web_search", "arguments": {"queries": ["query one", "query two"]}}
</tool_call>

Results come back as:
<tool_result>
[1] Title -- snippet text (source.com)
[2] Title -- snippet text (source.com)
</tool_result>

After results arrive, answer in prose and cite the snippets you used as [1], [2], etc. If the results don't actually answer the question, say so plainly rather than guessing.

Formats in this repo

File Format Size Tool decisions (28)
model.safetensors (+ config, tokenizer) MLX, mixed precision 2.9 GB 28/28 (held-out loss 0.586)
amethyst-2-mini-Q8_0.gguf GGUF Q8_0 4.3 GB 28/28
amethyst-2-mini-Q4_K_M.gguf GGUF Q4_K_M 2.5 GB 25/28 (3 missed searches)

Why the MLX build is mixed precision: merging a LoRA into a 4-bit model re-quantizes it, and a plain 4-bit merge measurably damaged tool use (21/28 decisions, held-out loss 0.731). So the 16 layers the LoRA changed are merged at 8-bit and the remaining layers keep their original 4-bit weights. Q4_K_M loses some tool accuracy for the same reason; prefer Q8_0 when tool reliability matters.

MLX

from mlx_lm import load, generate

model, tokenizer = load("VertexAGI/amethyst-2-mini-failed")
system = """<paste the tool system prompt from above>"""
messages = [{"role": "system", "content": system},
            {"role": "user", "content": "What's the current price of gold per ounce?"}]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
print(generate(model, tokenizer, prompt=prompt, max_tokens=200))

GGUF (llama.cpp)

llama-server -m amethyst-2-mini-Q8_0.gguf --jinja -c 4096   # send the system prompt above in your chat request

Limitations

A 4B model: it can still miss a search on unusual phrasing, and the evaluation set is small (48 prompts) and hand-written. The tool must be wired up by you (the model only emits the call). Q4_K_M is measurably less reliable at tool decisions than Q8_0 and the MLX build.

License

Apache 2.0, inherited from Qwen3.

Configuration

Architecture
Qwen3ForCausalLM
Context length (tokens)
40,960
Layers
36
Hidden size
2,560
Feed-forward size
9,728
Attention heads
32
Key/value heads
8
Head dimension
128
Vocabulary size
151,936
RoPE base
1,000,000
Stored precision
bfloat16
Model type
qwen3

Identity and Version

Repository
VertexAGI/amethyst-2-mini-failed
Publisher
Vertex AGI
Task
Text generation
Modality
Text
Library
mlx
Parameters
4B parameters
Languages
en
Revision
0f908830878e0e736c42064fa3ab3a2e76925ca3
First published
2026-09-25
Last updated
2026-09-26

Files and Weights

15 files, 9.9 GB in total. The weights are 3 files totalling 9.8 GB in gguf, safetensors.

Weights3 files · 9.8 GB
Configuration5 files · 119.9 KB
Tokenizer4 files · 15.9 MB
Documentation1 file · 8.7 KB
Other1 file · 4.1 KB
Repository1 file · 1.7 KB
Every file
FileTypeSizeSHA-256
amethyst-2-mini-Q4_K_M.ggufWeights2.5 GB 0ad930de4b39
amethyst-2-mini-Q8_0.ggufWeights4.3 GB a7dd7c4d224d
model.safetensorsWeights3.1 GB bcd11301b9bf
added_tokens.jsonConfiguration707 B —
config.jsonConfiguration20.4 KB —
eval_results.jsonConfiguration34.1 KB —
model.safetensors.index.jsonConfiguration64.0 KB —
special_tokens_map.jsonConfiguration613 B —
README.mdDocumentation8.7 KB —
chat_template.jinjaOther4.1 KB —
.gitattributesRepository1.7 KB —
merges.txtTokenizer1.7 MB —
tokenizer.jsonTokenizer11.4 MB aeb13307a71a
tokenizer_config.jsonTokenizer5.4 KB —
vocab.jsonTokenizer2.8 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
9.8 GB
Download from Vertex AGI

Released by Vertex AGI through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published9.8 GB
16-bit8.0 GB
8-bit4.0 GB
4-bit2.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About amethyst-2-mini-failed

How much GPU memory does amethyst-2-mini-failed need?

About 9.7 GB at 16-bit and 2.4 GB at 4-bit: the weights (4B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run amethyst-2-mini-failed on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use amethyst-2-mini-failed commercially?

Yes. amethyst-2-mini-failed is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is amethyst-2-mini-failed's context length?

40,960 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text generation

Qwen3-4B

Qwen

Qwen3 is the latest generation of large language models in Qwen series, offering a comprehensive suite of dense and mixture-of-experts (MoE) models. Built upon extensive training, Qwen3 delivers groundbreaking advancements in reasoning, instruction-following, agent capabilities, and multilingual support, with the following key features: - Uniquely support of seamless switching between thinking mode (for complex logical reasoning, math, and coding) and non-thinking mode (for efficient, general-purpose dialogue) within single model, ensuring optimal performance across various scenarios. - Significantly enhancement in its reasoning capabilities, surpassing previous QwQ (in thinking mode) and…

Open weights apache-2.0 4B parameters 40,960 tokens transformers

Model · Text generation

Qwen3-4B-Instruct-2507

Qwen

We introduce the updated version of the Qwen3-4B non-thinking mode, named Qwen3-4B-Instruct-2507, featuring the following key enhancements: - Significant improvements in general capabilities, including instruction following, logical reasoning, text comprehension, mathematics, science, coding and tool usage. - Substantial gains in long-tail knowledge coverage across multiple languages. - Markedly better alignment with user preferences in subjective and open-ended tasks, enabling more helpful responses and higher-quality text generation. - Enhanced capabilities in 256K long-context understanding. Qwen3-4B-Instruct-2507 has the following features: NOTE: This model supports only non-thinking…

Open weights apache-2.0 4B parameters 262,144 tokens transformers

Model · Text generation

Qwen3-4B-Base

Qwen

Qwen3 is the latest generation of large language models in Qwen series, offering a comprehensive suite of dense and mixture-of-experts (MoE) models. Building upon extensive advancements in training data, model architecture, and optimization techniques, Qwen3 delivers the following key improvements over the previously released Qwen2.5: Qwen3-4B-Base has the following features: For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our blog, GitHub, and Documentation. The code of Qwen3 has been in the latest Hugging Face transformers and we advise you to use the latest version of transformers. With transformers<4.51.0, you will…

Open weights apache-2.0 4B parameters 32,768 tokens transformers

Model · Text generation

qwen3-4b-base-dapo-v4

Reliquary

Qwen3 is the latest generation of large language models in Qwen series, offering a comprehensive suite of dense and mixture-of-experts (MoE) models. Building upon extensive advancements in training data, model architecture, and optimization techniques, Qwen3 delivers the following key improvements over the previously released Qwen2.5: Qwen3-4B-Base has the following features: For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our blog, GitHub, and Documentation. The code of Qwen3 has been in the latest Hugging Face transformers and we advise you to use the latest version of transformers. With transformers<4.51.0, you will…

Open weights apache-2.0 4B parameters 32,768 tokens transformers

Model · Text generation

SRA-RiskGate-4B

Sriram Ramakrishnan

SRA-RiskGate-4B is an autonomous risk scoring, compliance verification, and dispute adjudication model fine-tuned on top of Qwen/Qwen3-4B-Instruct-2507. It is engineered for both ends of a stablecoin payment's operational lifecycle: Autonomous on-chain agents can hallucinate payment transfers, sign malformed calldata, or trigger catastrophic transactions during market depegs. The deterministic pre-filter and policy firewall is available directly as a verified Action Provider for the Coinbase AgentKit framework: Register RiskGateActionProvider as the payment provider on your AgentKit instance. It checks chain support, policies, and peg deviations, executing safe ERC-20 transfers only after…

Open weights apache-2.0 4B parameters 262,144 tokens transformers

Intermediate policy from dynamic OnlineRubrics-Every GRPO training. Distinct from static-rubric GRPO. Base model: Qwen/Qwen3-4B-Instruct-2507; thinking disabled. This checkpoint is a policy state used by the Phase-1 audit. No downstream medical capability or safety claim is made. Research use only; not validated for clinical decision-making. Root files are the veRL-exported Hugging Face inference model (BF16). originalcheckpoint/ preserves the exact original FSDP parameter checkpoint and tokenizer/configuration files. Optimizer state, training data, responses, rubrics, infrastructure configuration, and credentials are not included. The original is retained because export…

Open weights apache-2.0 4B parameters 262,144 tokens transformers