Featured project

PopHistory Singapore History Chatbot

RAG-powered Singapore history assistant using BM25, vector similarity search, and reranking.

RAGBM25vector similarityrerankerpublic UX

The PopHistory chatbot is a public-facing Singapore history assistant. Its retrieval design combines BM25 lexical search, vector similarity search, and a reranker, giving the system several ways to recover relevant context before generating an answer.

The current embedding model is all-MiniLM-L6-v2, with a planned future migration to bge-m3. Current retrieval chunks are 500 tokens with 100-token overlap, and the retrieval setting uses top P = 5.

Question
BM25 + Vector Retrieval
Reranker + Answer

Integration note

The chat UI below calls this site's server-side proxy. The proxy reads the real history-chat endpoint from environment variables, so backend URLs and secrets are not hard-coded into client JavaScript.