On this page
On this page
Providers
Rerank (Decision models)
Rerank
The bundled rerank plugin turns any reranker behind a /rerank endpoint into
a Decision model. It ships with OpenClaw and is
enabled by default; it does nothing until you configure an endpoint.
A reranker answers one question: how relevant is this document to this query? That is the shape of many Decision questions, such as the Knowledge recall gate asking "would this page help answer the message?". If you already run a reranker, it works as a Decision model with no extra plugin.
Supported servers
Any server that speaks the common /rerank API:
| Server | Base URL example |
|---|---|
vLLM (--task score) |
http://127.0.0.1:8000/v1 |
| Hugging Face TEI | http://127.0.0.1:8080 |
| Infinity | http://127.0.0.1:7997 |
| Cohere | https://api.cohere.com/v2 |
| Jina | https://api.jina.ai/v1 |
| Voyage | https://api.voyageai.com/v1 |
OpenClaw posts to <baseUrl>/rerank with model, query, and the documents.
Most servers read the documents from documents; TEI reads texts. When an
endpoint rejects the first form, OpenClaw retries once with texts and
remembers the working form for that endpoint.
Responses may use the Cohere shape (results[].relevance_score), Voyage's
data[], or TEI's bare array of { index, score }. Scores must be relevance
probabilities from 0 to 1. Cohere, Jina and Voyage return them, as does TEI
with raw_scores off; check the score setting of other servers. A response with any score outside that range is
rejected as invalid-response: rescaling a batch from its own values would
move one page's score with its neighbours, so serve raw-logit models (for
example llama.cpp's --reranking) behind a sigmoid.
Configure
List the endpoint and the model under models.providers.rerank, then select
it as the Decision model:
Any reranker your server hosts works; Alibaba-NLP/gte-reranker-modernbert-base
is the recommended model for the Knowledge recall gate (see below).
- The model
idis sent asmodelin each request. Use the name your server expects. - A self-hosted server needs no credential. For a hosted API, set
models.providers.rerank.apiKey(a SecretRef is recommended) or theRERANK_API_KEYenvironment variable. OpenClaw sends it asAuthorization: Bearer <key>. - Private and LAN addresses are allowed because you authored the endpoint. Set
models.providers.rerank.request.allowPrivateNetwork: falseto refuse them. - The plugin declares the model as Decision-only; it is never offered as a chat model.
The plugin serves one provider entry, rerank, so it points at one server. List
every model that server hosts under models.providers.rerank.models. Other
provider IDs (for example rerank-home) are not handled by this plugin.
What a reranker can answer
The plugin maps Decision questions onto rerank calls. Questions in one request that share a query go to the server in one call.
| Question type | Query | Documents | Answer |
|---|---|---|---|
boolean |
The state text | The question's instructions (or its true criterion) |
probabilityTrue is the relevance score |
choice |
The state text | Each option's description, or its label | Highest-scoring option; per-option probabilities |
sort |
The question's instructions |
Each item of a list state |
Items ordered by score |
- Choice probabilities are independent relevance scores, not a distribution that sums to 1.
score,tags, andboxquestions and image state are not supported; a request containing one returnsunsupported-inputwithout a server call.- JSON state is sent as its JSON text.
Relevance is not the same as reasoning. A reranker is a good fit for "does this text match that one" judgments and a poor fit for rubric scoring or multi-step logic. Use a native Decision provider for those.
Recall gate example
The Knowledge recall gate
asks one boolean question per candidate page. By default the candidates come
from keyword search, the state is the bare user message, and each question
carries the page title and its best passages, so every question maps onto one
(query, document) pair in a single rerank call. The recommended model is
Alibaba-NLP/gte-reranker-modernbert-base;
the gate's defaults were measured with it:
Reranker scores are not calibrated probabilities, and each model scores on its
own scale. With a different model, run the gate in shadow mode first and
tune highThreshold against its logged scores before switching to live.
Privacy
Every evaluation sends the state text and the question documents to the configured endpoint. Use a local server for private conversations.