You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub鈥檚 verified signature.
Semantic search over your files: meaning-based retrieval powered by AI embeddings and a vector database, not keyword matching.
Go library, injectable by design: compose an Engine from an embedder, a metadata store, a vector store, and strategies; bring your own implementation of any interface.
Multi-format indexing: built-in strategies for PDF, Markdown, source code, DOCX, and plain text, each parsed and chunked to fit its structure.
Structure-aware chunking: headings, functions/classes, and document sections become titled chunks, sharpening retrieval relevance.
Source code understanding: per-definition chunks for Go, JavaScript, TypeScript, Python, PHP, Java, Rust, C/C++, C#, and more, titled with their nesting path.
Pluggable embedders: configurable OpenAI-compatible embedding API that works with local servers like LM Studio and Ollama, or any hosted model.
Swappable storage: SQLite metadata store and sqlite-vec vector store included; point them at separate databases, or implement your own backend.
Exact vector search: k-nearest-neighbor (kNN) search over embeddings for precise, full-recall results.
Incremental delta indexing: re-running only re-embeds changed files, detected by content hash.
Pure-Go format parsing: no external binaries; PDF via WebAssembly, code via a pure-Go lexer, DOCX via the standard library.
A self-hostable backend for meaning-based document search: a building block for retrieval-augmented generation (RAG) and NotebookLM-style search over your own content.