Processors
This section contains auto-generated documentation for all processor classes in Routir. Processors handle request batching, caching, and content processing.
Base Classes
- class routir.processors.abstract.Processor(cache_size=1024, cache_ttl=600, cache_key=None, redis_url=None, redis_kwargs={})[source]
Bases:
FactoryEnabledBase class for request processors with caching support.
Handles request submission with optional caching via LRU or Redis.
- cache
Cache instance (LRU or Redis)
- cache_key
Function to generate cache keys from requests
- __init__(cache_size=1024, cache_ttl=600, cache_key=None, redis_url=None, redis_kwargs={})[source]
Initialize processor with caching.
- class routir.processors.abstract.BatchProcessor(batch_size=32, max_wait_time=0.1, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Bases:
Processor- __init__(batch_size=32, max_wait_time=0.1, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Simple dynamic batch processor for batching similar requests.
- Parameters:
batch_size – Maximum number of items in a batch
max_wait_time – Maximum time to wait before processing a partial batch
Query Processors
- class routir.processors.query_processors.AsyncQueryProcessor(engine, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Bases:
ProcessorProcessor that serve every request independently through async calls. Should be used when all the engine does is issuing async calls
- __init__(engine, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Initialize processor with caching.
- Parameters:
cache_size – Maximum cache entries (-1 to disable)
cache_ttl – Cache entry time-to-live in seconds
cache_key – Function to generate cache keys from requests
redis_url – Optional Redis URL for distributed caching
redis_kwargs – Additional Redis configuration
- class routir.processors.query_processors.BatchQueryProcessor(engine, **kwargs)[source]
Bases:
BatchProcessor
Content Processors
- class routir.processors.content_processors.ContentProcessor(collection_config, cache_size=0, cache_ttl=600)[source]
Bases:
ProcessorProcessor for retrieving document content by ID.
Provides fast random access to documents in JSONL files using offset maps.
- config
Collection configuration
- line_reader
Random access reader for document file
- content_field
Field(s) containing document text
- lang_mapping
Optional mapping of document IDs to language codes
- __init__(collection_config, cache_size=0, cache_ttl=600)[source]
Initialize content processor.
- Parameters:
collection_config (ColllectionConfig) – Collection configuration with doc_path, id_field, etc.
cache_size – Maximum cache entries
cache_ttl – Cache TTL in seconds
Score Processors
- class routir.processors.score_processors.AsyncPairwiseScoreProcessor(engine, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Bases:
ProcessorProcessor that serve every request independently through async calls. Should be used when all the engine does is issuing async calls
- __init__(engine, cache_size=1024, cache_ttl=600, cache_key=None, **kwargs)[source]
Initialize processor with caching.
- Parameters:
cache_size – Maximum cache entries (-1 to disable)
cache_ttl – Cache entry time-to-live in seconds
cache_key – Function to generate cache keys from requests
redis_url – Optional Redis URL for distributed caching
redis_kwargs – Additional Redis configuration
- class routir.processors.score_processors.BatchPairwiseScoreProcessor(engine, **kwargs)[source]
Bases:
BatchProcessor
Cache
- class routir.processors.cache.Cache(capacity=-1, ttl=-1)[source]
Bases:
ABCAbstract base class for cache implementations.
- class routir.processors.cache.LRUCache(capacity=-1, ttl=-1)[source]
Bases:
CacheAn async LRU cache implementation.
- class routir.processors.cache.RedisCache(capacity=-1, ttl=-1, redis_url='redis://localhost:6379', key_prefix='routircache:', **redis_kwargs)[source]
Bases:
CacheA Redis-based cache implementation with async support.
- __init__(capacity=-1, ttl=-1, redis_url='redis://localhost:6379', key_prefix='routircache:', **redis_kwargs)[source]
Initialize Redis cache.
- Parameters:
capacity (int) – Maximum number of items to store (-1 for unlimited, not enforced by Redis)
ttl (float) – Time-to-live in seconds for cache entries (-1 for no expiry)
redis_url (str) – Redis connection URL
key_prefix (str) – Prefix for all cache keys to avoid collisions
**redis_kwargs – Additional arguments to pass to Redis client
File Random Access Reader
Registry
- class routir.processors.registry.DummyProcessor(engine, method)[source]
Bases:
Processor- __init__(engine, method)[source]
Initialize processor with caching.
- Parameters:
cache_size – Maximum cache entries (-1 to disable)
cache_ttl – Cache entry time-to-live in seconds
cache_key – Function to generate cache keys from requests
redis_url – Optional Redis URL for distributed caching
redis_kwargs – Additional Redis configuration