Skip to content

JevRerank

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

Field Default Notes
provider "typesafe" "typesafe", "openrouter", "vercel", or "cloudflare"
model "jev-latest" OpenRouter: ~typesafe/.... Vercel: bare ids become typesafe-ai/jev. Cloudflare: jev-latest or typesafe/jev
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, OpenRouter, Vercel, or Cloudflare credential. Falls back to TYPESAFE_API_KEY, OPENROUTER_API_KEY, AI_GATEWAY_API_KEY, or CLOUDFLARE_API_TOKEN based on provider. Cloudflare also requires CLOUDFLARE_ACCOUNT_ID.

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, OpenRouter, Vercel, or Cloudflare credential.
            Falls back to ``TYPESAFE_API_KEY``, ``OPENROUTER_API_KEY``,
            ``AI_GATEWAY_API_KEY``, or ``CLOUDFLARE_API_TOKEN`` based on
            ``provider``. Cloudflare also requires ``CLOUDFLARE_ACCOUNT_ID``.
        **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
    )