Qwen

Qwen3-Reranker-8B

8.2B parameters · reasoning · Base · Qwen3 family

apache-2.0 hash verified source matched revision pinned
Good for: RAG & retrieval

Which version should I download?

Default pick: safetensors · BF16 — Full-precision BF16 source weights — the reference reranker (sentence-transformers / vLLM / TEI / llama.cpp).

Set your rig to confirm it fits and to see if a higher-quality quant runs fully on your hardware.

Set your rig

safetensors · BF16

15.25 GB

Est. speed
Swarm
2S / 0L webseed OK

Full-precision BF16 source weights — the reference reranker (sentence-transformers / vLLM / TEI / llama.cpp).

Want a different quant? Request it on the board →

Runs fully on

Green = the model's best quant fits fully in GPU/unified memory at 8K context. Tap a card for its full "what runs on it" page.

Context

Advertised 40k · no independent evidence yet

No independent long-context evidence has been graded for this model yet — the advertised window above is the maintainer's number, not a usable-context claim.

Capabilities (as declared by the maintainer): reasoning tool calling

Run it

Runtime completeness (BF16 torrent): llama.cpp – Ollama – vision sidecar –

  • llama.cpp — no GGUF artifact for this torrent
  • Ollama — not an Ollama-native artifact
  • vision sidecar — not a vision model

Context / KV 8,192 tokens · FP16 set above the quant table

Generic commands (no rig set). GPU-offload values assume the model fits on your GPU — set your rig for values tuned to your hardware.

llama.cpp loads GGUF files only; this quant is a safetensors build.

Safetensors weights run under vLLM or transformers; a GGUF conversion, if one exists, is a separate quant row.

Ollama runs GGUF builds only; this quant is a safetensors build.

Safetensors weights run under vLLM or transformers; a GGUF conversion, if one exists, is a separate quant row.

Serve an OpenAI-compatible endpoint
vllm serve Qwen/Qwen3-Reranker-8B --max-model-len 8192

Serves on http://localhost:8000/v1 by default.

Install
pip install transformers accelerate torch
Load and run (run.py)
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Qwen/Qwen3-Reranker-8B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype="auto",
    device_map="auto",
)

Loads the weights straight from the repo; point model_id at a local directory to use your downloaded copy.

LM Studio loads GGUF (and MLX on Apple Silicon) only; this quant is a safetensors build.

Safetensors weights run under vLLM or transformers; a GGUF conversion, if one exists, is a separate quant row.

MLX runs MLX-format weights only (Apple Silicon). This quant is a safetensors build.

Safetensors weights run under vLLM or transformers; a GGUF conversion, if one exists, is a separate quant row.

Technical details

Chat template

{%- if tools %}
    {{- '<|im_start|>system\n' }}
    {%- if messages[0].role == 'system' %}
        {{- messages[0].content + '\n\n' }}
    {%- endif %}
    {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
    {%- for tool in tools %}
        {{- "\n" }}
        {{- tool | tojson }}
    {%- endfor %}
    {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
{%- else %}
    {%- if messages[0].role == 'system' %}
        {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
    {%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
    {%- set index = (messages|length - 1) - loop.index0 %}
    {%- if ns.multi_step_tool and message.role == "user" and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
        {%- set ns.multi_step_tool = false %}
        {%- set ns.last_query_index = index %}
    {%- endif %}
{%- endfor %}
{%- for message in messages %}
    {%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
        {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
    {%- elif message.role == "assistant" %}
        {%- set content = message.content %}
        {%- set reasoning_content = '' %}
        {%- if message.reasoning_content is defined and message.reasoning_content is not none %}
            {%- set reasoning_content = message.reasoning_content %}
        {%- else %}
            {%- if '</think>' in message.content %}
                {%- set content = message.content.split('</think>')[-1].lstrip('\n') %}
                {%- set reasoning_content = message.content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
            {%- endif %}
        {%- endif %}
        {%- if loop.index0 > ns.last_query_index %}
            {%- if loop.last or (not loop.last and reasoning_content) %}
                {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
            {%- else %}
                {{- '<|im_start|>' + message.role + '\n' + content }}
            {%- endif %}
        {%- else %}
            {{- '<|im_start|>' + message.role + '\n' + content }}
        {%- endif %}
        {%- if message.tool_calls %}
            {%- for tool_call in message.tool_calls %}
                {%- if (loop.first and content) or (not loop.first) %}
                    {{- '\n' }}
                {%- endif %}
                {%- if tool_call.function %}
                    {%- set tool_call = tool_call.function %}
                {%- endif %}
                {{- '<tool_call>\n{"name": "' }}
                {{- tool_call.name }}
                {{- '", "arguments": ' }}
                {%- if tool_call.arguments is string %}
                    {{- tool_call.arguments }}
                {%- else %}
                    {{- tool_call.arguments | tojson }}
                {%- endif %}
                {{- '}\n</tool_call>' }}
            {%- endfor %}
        {%- endif %}
        {{- '<|im_end|>\n' }}
    {%- elif message.role == "tool" %}
        {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
            {{- '<|im_start|>user' }}
        {%- endif %}
        {{- '\n<tool_response>\n' }}
        {{- message.content }}
        {{- '\n</tool_response>' }}
        {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
            {{- '<|im_end|>\n' }}
        {%- endif %}
    {%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
    {{- '<|im_start|>assistant\n' }}
    {%- if enable_thinking is defined and enable_thinking is false %}
        {{- '<think>\n\n</think>\n\n' }}
    {%- endif %}
{%- endif %}

Sampling defaults

top_k
20
top_p
0.95
temperature
0.6

Stop strings

<|im_end|> <|endoftext|>

Evidence & provenance

Source

Revision pin
77d193c791ed757ca307ee72715aa132723da912
Manifest
Present

License

Name
apache-2.0
Commercial use
yes
Access
Open

How verification works →

File hashes (SHA-256)

  • qwen3-reranker-8b/1_LogitScore/config.json 73e3156450564d8a98b7e47bcf5aace0f29600828b51937da545571e84db3ff3
  • qwen3-reranker-8b/LICENSE cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
  • qwen3-reranker-8b/README.md 5f33734e77bb56c191dfd66bd8c4c04fdba6c023cddd6052871082c411f9b608
  • qwen3-reranker-8b/chat_template.jinja 6f682162495ec5b39fd9005c01b6aa2a74669379fe967039f1e2cbbe8752369d
  • qwen3-reranker-8b/config.json e87a4f50c475c7276fc642eabfc986a7c8da1c8a30a4ee34b4979048b330f2be
  • qwen3-reranker-8b/config_sentence_transformers.json 231aa494dcabada22d73f151120560b2a72b49e5b93e1b0a8329664f2348cf2e
  • qwen3-reranker-8b/generation_config.json 81051cd3f6e77013827148d0b8a6ead93f8ac390d5ab805f849199f0af6a08db
  • qwen3-reranker-8b/merges.txt 8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5
  • qwen3-reranker-8b/model-00001-of-00005.safetensors 22cdfea4a13b7b3e866573800eeeb638fc38962940adf631d06dc03befed047a
  • qwen3-reranker-8b/model-00002-of-00005.safetensors d2163b74137e35b4614bd2aa5bf27bcb07de4ca61c6962495feb968385eb0df8
  • qwen3-reranker-8b/model-00003-of-00005.safetensors a5038caa78c817e8acce6806104869675938a33fd4e60ed038e9931d390d6989
  • qwen3-reranker-8b/model-00004-of-00005.safetensors 247f85538c5996d4c296291b0e4004f618c9b17ca8cdc25d1fc726567eb15803
  • qwen3-reranker-8b/model-00005-of-00005.safetensors 8ba41b93c2e4ec8339ad16b000bc977fde196aeac054956cbfc8c0186ee6d4cf
  • qwen3-reranker-8b/model.safetensors.index.json 8a22e7ffd6001796256c0be7c73594835b6f907eec442fde691301ebf35087d9
  • qwen3-reranker-8b/modules.json 6f13b6b4a89e577b591b2077bca40c67c26541a6740a8809267cb474f90806a9
  • qwen3-reranker-8b/sentence_bert_config.json 3234ebd224d492cbe8d55d5ec80a3f408451c4db3005bafb64fe1c51c763e01e
  • qwen3-reranker-8b/tokenizer.json aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
  • qwen3-reranker-8b/tokenizer_config.json 253153d0738ceb4c668d2eff957714dd2bea0b56de772a9fdccd96cbf517e6a0
  • qwen3-reranker-8b/vocab.json ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910

Explore further

Get an email when a better quant fits your rig.

Set your rig once; we'll alert you when a new or better-fitting build lands.

Set your rig

Performance reports

Real-world throughput reported by the community (and scraped sources).

Community

Reviews, sampler presets and community runtime reports. Be the first to contribute.

Reviews (0)

Log in to write a structured review of this model.

No reviews yet.

Sampler presets

Log in to share a sampler preset or vote on presets.

No presets yet.

Community runtime reports

Unofficial, community-submitted "it loads for me" reports. These are not the official verified-working badge — an admin reviews reports before anything is marked officially verified.

Log in to report whether a quant loads in your runtime.

No community reports yet.

selected to compare · pick at least 2