ISRA answers questions about the Indian startup ecosystem using curated data from Y Combinator and Wikipedia. Every answer is grounded in retrieved chunks and cites its sources inline.
startups indexed
data sources
retrieval modes
BGE-small dim
Product
A purpose-built retrieval stack for startup data: short descriptions, proper nouns, and sparse facts.
Hybrid Search
Cosine similarity through pgvector runs alongside tsvector / tsquery full-text search. Two signals, one query, no Elasticsearch.
Modes: vector · hybrid · hybrid+rerank
RRF Fusion + Rerank
Reciprocal Rank Fusion (K = 60) combines the ranked lists, then a BGE cross-encoder reranks the fused top-k for sharper relevance.
Eval result: hybrid+rerank MRR 0.750
Streaming Chat
Sources arrive first, then tokens stream over SSE. The model is instructed to cite with [Source N], and the UI links every citation back to its URL.
Faithfulness: 0.942 on 12 eval questions
Observability
Optional Langfuse traces for /search and /chat. Evals are scored by a custom LLM-judge via OpenRouter — no Ragas, no DeepEval, no LangChain.
Golden set: 12 questions · top_k = 5
Why ISRA
The entire pipeline is hand-rolled: embeddings, keyword search, RRF fusion, reranker, and prompt builder. Full control over ranking and citations.
Vector similarity plus Postgres full-text search. Switch between vector, hybrid, and hybrid+rerank in the retrieval lab.
Every chunk carries its source_url. The model cites [Source N] inline, and the chat UI renders clickable citation chips back to the original page.
Langfuse traces capture the full retrieval-to-generation flow for /search and /chat when keys are configured.
A golden set of 12 questions measures hit@k, MRR, faithfulness, answer relevancy, and context precision with a custom LLM-judge.
Postgres 16 + pgvector stores vectors and text in one datastore. One database, no sync lag, fast retrieval.
FAQ
Explore 111 startups, compare retrieval modes, and ask questions that cite their sources.