Changelog
All notable changes to this project will be documented here.
Version 0.0.2
Support for arbitrary sentence-transformers models using
SentenceTransformerEngineNew
LLMEnginefor pointwise reranking and query decomposition via vLLM or any OpenAI-compatible endpoint, with optional runtime-supplied promptsgRPC server (opt-in via
--grpc) alongside the REST endpoints, sharing the same processor registry; newroutir.clientsubpackage with a unifiedAsyncClient/Clientthat auto-discovers gRPC from a REST endpoint and falls back to REST when gRPC is unreachablePipeline-level result cache: enable via top-level
pipeline_cache/pipeline_cache_ttl/pipeline_cache_redis_urlin the config; keyed on the canonical pipeline AST + query + collection + the subset ofruntime_kwargsreferenced by the pipeline, so whitespace and alias-vs-expansion collapse to one entryserver_importsnow also proxies remotecontentservices (collections); a new local cache (relay_content_cache) avoids re-fetching document text on every rerankPre-defined
pipeline_aliasesin the config: name common pipeline DSL fragments and reuse them at request time--api_key(orROUTIR_API_KEYenv var) enables Bearer-token authentication on all REST and gRPC endpoints except/ping; CORS preflight requests are exemptcollectionfield is optional on/pipeline; required only when the pipeline contains a reranking stageASCII banner with package version printed on startup
Version 0.0.1
Initial release
Support for PLAID-X (ColBERT) search
Support for LSR (SPLADE) search
Support for Qwen3 reranking
Support for mT5 reranking
Batch processing and caching
REST API for search and scoring
Pipeline system for multi-stage search
PyTerrier and Pyserini integration examples
Version 0.0.1b9
Download index from HFDS support
Bug fixes and improvements