Retrieval & knowledge systems
Finding the right context.
A retrieval pipeline that combines lexical and semantic signals, then refines the results before they become useful context.
The problem
Keyword matching can miss related meaning; semantic search can overlook exact terms. Combining the two gives a query more ways to find relevant passages, while reranking helps select the strongest candidates.
How it comes together
Expand
LLM-assisted query expansion adds related context to the input.
Embed
BGE-M3 produces sparse and dense query representations.
Retrieve
Milvus combines both searches with reciprocal rank fusion.
Rerank
A BGE reranker refines the retrieved passages before returning results.
My contribution
- Integrated BGE-M3 embeddings and Milvus hybrid search into a single retrieval path.
- Combined query expansion, candidate fusion, and optional reranking behind a Flask API.
- Made the search pipeline accessible from a web interface, with configurable retrieval and ranking components.
The result
A searchable prototype for comparing and combining lexical and semantic retrieval. Its public implementation makes the route from a user query to ranked passages explicit—the context-retrieval foundation for a RAG system.