Kayak
Exact late-interaction retrieval for Python. Kayak gives you an explicit surface for exact late-interaction search backed by a real Mojo CPU path, and a practical way to keep your current vector database as the durable system of record.
Kayak is the search layer. It does not try to own OCR, document parsing, extraction, or answer generation.
Get started Quickstart Where Kayak Fits Python API
Common workflows
Local plain-text retrieval — input starts as text strings, one object owns encoding and search. → Text Encoders, Usage Patterns
Exact search from vectors — you already own token-level query and document vectors, search directly. → Quickstart, Python API
Database handoff — LanceDB, PgVector, Qdrant, Weaviate, or Chroma already owns persistence; Kayak owns the search step. → Storage + Search, Vector Databases
Repeated-query serving — the slice stays fixed, query traffic is the variable. → Usage Patterns, Hosted Engine Python
Where to start
| If you want to... | Open... |
|---|---|
| understand what Kayak does and does not own | Where Kayak Fits |
| choose by situation instead of API name | Choose Your Path |
| install Kayak and verify the exact backend | Installation |
| run the shortest possible exact search | Quickstart |
| pass a Hugging Face ColBERT checkpoint or your own model | Text Encoders |
| keep an existing vector database | Storage + Search |
| compare adapter-specific behavior | Vector Databases |
| open runnable notebooks and scripts | Examples |
| inspect the stable public signatures | Python API |
Start with Installation → Quickstart → Usage Patterns.