Skip to content

Install

Python 3.10+. Two independently installable packages — pick the LlamaIndex hook you need.

pip install llama-index-postprocessor-jev
from llama_index.postprocessor.jev import JevRerank
pip install llama-index-selectors-jev
from llama_index.selectors.jev import JevSingleSelector, JevMultiSelector

From a clone of this repo:

uv sync

The workspace root depends on both packages.

API keys

Default provider is TypeSafe. Pass a key, or set the matching env var.

export TYPESAFE_API_KEY=...
JevRerank()                       # reads TYPESAFE_API_KEY
JevRerank(api_key="...")          # explicit
export OPENROUTER_API_KEY=...
JevRerank(provider="openrouter")
JevSingleSelector(provider="openrouter", api_key="...")

Missing keys raise ValueError at construction, not at query time. See providers.

LlamaIndex

Both packages require llama-index-core>=0.13,<0.15 (pulled in as a dependency). You still need whatever you use for indexes, embeddings, and query engines — for example llama-index or llama-index-embeddings-*.

The examples use mock embeddings / MockLLM so they only need an OpenRouter key.