Most AI tasks no longer need a frontier model Read launch post

Qwen3 Reranker 4B

An open reranker that scores how well each text fits your query, for search and for routing. Qwen/Qwen3-Reranker-4B

  • Accuracy

    0.697

    AskUbuntu, nDCG@10

  • Time per request

    55 ms

    per query

  • Serverless price

    $0.0425

    per 1M tokens

  • Rerank 3x faster than Cohere Rerank 4 Pro, 94% cheaper

    91.2%

    Right document first · 499 questions

    55 ms

    Time per query

    $15

    Cost per 100,000 queries

    See the comparison on Rerank
  • Pay 36% less than GPT‑6.1 Sol and keep 95% of its quality

    95.9%

    Quality kept · share of GPT-6.1 Sol's

    $3.31

    Cost per 1,000 requests · answers included

    See the comparison on Request routing

Call it

from sie_sdk import SIEClient
​
client = SIEClient(api_key="API keysk-sie-…")
​
query = "queryNational Wildlife Refuge System; 2026-2027 Station-Specific Hunting and Sport Fishing Regulations"
documents = [
"document 1···ACTION: Final rule.···",
"document 2···ACTION: Proposed rule.···",
]
items = [{"id": str(i), "text": d} for i, d in enumerate(documents)]
ranked = client.score("modelQwen/Qwen3-Reranker-4B", {"text": query}, items,
instruction="instructionReturn the final rule the agency has adopted on this subject, not a proposed rule. A proposal that is still open for comment is not relevant.")
for r in ranked["scores"]:
print(r["score"], documents[int(r["item_id"])])
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });

const query = "National Wildlife Refuge System; 2026-2027 Station-Specific Hunting and Sport Fishing Regulations";
const documents = [
  "···ACTION: Final rule.···",
  "···ACTION: Proposed rule.···",
];
const items = documents.map((text, i) => ({ id: String(i), text }));
const ranked = await client.score('Qwen/Qwen3-Reranker-4B', { text: query }, items,
  { instruction: "Return the final rule the agency has adopted on this subject, not a proposed rule. A proposal that is still open for comment is not relevant." });
console.log(ranked.scores.map(({ itemId, score }) => ({ document: documents[Number(itemId)], score })));
curl https://api.superlinked.com/v1/score/Qwen%2FQwen3-Reranker-4B \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"query\":{\"text\":\"National Wildlife Refuge System; 2026-2027 Station-Specific Hunting and Sport Fishing Regulations\"},\"items\":[{\"id\":\"0\",\"text\":\"···ACTION: Final rule.···\"},{\"id\":\"1\",\"text\":\"···ACTION: Proposed rule.···\"}],\"instruction\":\"Return the final rule the agency has adopted on this subject, not a proposed rule. A proposal that is still open for comment is not relevant.\"}"
Build the "Rerank" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: Qwen/Qwen3-Reranker-4B (SIE primitive: /score). Keep the model id configurable.

Task
- Input: a query string plus a list of candidate documents.
- Behaviour: reorder the candidates by true relevance to the query using the reranking model
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
Output
RankSourceScore
1
Final rule

National Wildlife Refuge System; 2026–2027 Station-Specific Hunting and Sport Fishing Regulations

2026-17895 ↗
0.995
2
Proposal

National Wildlife Refuge System; 2026–2027 Station-Specific Hunting and Sport Fishing Regulations

2026-10465 ↗
0.946

Next to the other rerankers

Next to the other rerankers
Model AskUbuntu, nDCG@10 Time per request Serverless price Size
mxbai rerank large v2 mixedbread-ai 0.691 Not timed Run in your cloud 1.5B
bge reranker v2 m3 BAAI 0.676 Not timed Run in your cloud 568M
gte reranker modernbert base Alibaba-NLP 0.670 Not timed Run in your cloud 150M
bge m3 BAAI 0.666 Not timed $0.0743 per 1M tokens $3.72 per 1M pairs 568M
All 22 rerankers

Measured on public datasets

Measured on public datasets
Dataset nDCG@10
StackOverflowQA 0.956
LegalBenchConsumerContractsQA 0.874
SciFact 0.792
AskUbuntuDupQuestions 0.697
FiQA2018 0.520
CQADupstackPhysicsRetrieval 0.515
NFCorpus 0.416
CosQA 0.351
SCIDOCS 0.249

Facts

Size
4.0B parameters
License
Apache-2.0
Reads
Text, up to 32,768 tokens
Endpoint
score
Evaluation
Accuracy
Run on SIE against the public dataset named in each figure
Reranking
Reorders the top 50 from gte multilingual base
Time
SIE timed on a GPU server with the client alongside, one request at a time
Prices
Serverless list prices

Run Qwen3 Reranker 4B on Serverless or in your own cloud

SIE Cluster

Kubernetes in your own cloud, backed by our engineers.

  • Terraform modules for your cloud
  • Apache-2.0, same engine as Serverless
  • GPU workers scale to zero between jobs
  • Separate worker pools for each tenant
Agent prompt Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Google Cloud project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Azure subscription with the superlinked/sie/azure Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Alibaba Cloud account with the superlinked/sie/alicloud Terraform module. Docs: superlinked.com/docs/deployment.

SIE Local

The open-source server on your own machine.

  • NVIDIA
  • One container, no cluster
  • Process your data fully offline
  • Same SDK and model IDs as Serverless
docker run --gpus all -p 8080:8080 ghcr.io/superlinked/sie-server:latest-cuda12-default

Talk to us

Tell us about your use case and we'll get back to you shortly.

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.