Skip to content

JevRerank

LlamaIndex BaseNodePostprocessor. Score each retrieved node with one Jev call, sort, keep top_n.

Field Default Notes
provider "typesafe" "typesafe" or "openrouter"
model "jev-latest" Remapped to ~typesafe/... on OpenRouter
top_n 5 Nodes returned after sorting
mode "score" "score" (0–3) or "noul" (0–1)
confidence_threshold None Score mode: flags jev_low_confidence, does not drop
timeout_s 2.5 HTTP timeout
raise_on_error False False = fail open
max_concurrency 8 In-flight system_one calls
api_key env var Constructor-only; see providers

Bases: BaseNodePostprocessor

Rerank retrieved nodes with TypeSafe Jev.

Each node is scored independently. State is exactly {"query": query_str, "passage": passage_text} so Jev never has to pick a winner among many passages whose question ids it cannot see.

Create a Jev reranker.

Parameters:

Name Type Description Default
api_key str | None

TypeSafe or OpenRouter key. Falls back to TYPESAFE_API_KEY or OPENROUTER_API_KEY based on provider.

None
**kwargs Any

Fields such as provider, top_n, and mode.

{}
Source code in packages/llama-index-postprocessor-jev/llama_index/postprocessor/jev/base.py
def __init__(self, api_key: str | None = None, **kwargs: Any) -> None:
    """Create a Jev reranker.

    Args:
        api_key: TypeSafe or OpenRouter key. Falls back to
            ``TYPESAFE_API_KEY`` or ``OPENROUTER_API_KEY`` based on
            ``provider``.
        **kwargs: Fields such as ``provider``, ``top_n``, and ``mode``.
    """
    super().__init__(**kwargs)
    api_key = resolve_api_key(api_key, provider=self.provider)
    self._client, self._async_client = make_clients(
        self.provider, api_key, self.model, self.timeout_s
    )