Changelog
All notable changes to this project will be documented here.
Version 0.0.2
- Support for arbitrary sentence-transformers models using
SentenceTransformerEngine - New
LLMEnginefor pointwise reranking and query decomposition via vLLM or any OpenAI-compatible endpoint, with optional runtime-supplied prompts - gRPC 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 unreachable - Pipeline-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 entry server_importsnow also proxies remotecontentservices (collections); a new local cache (relay_content_cache) avoids re-fetching document text on every rerank- Pre-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 stage- ASCII 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