Hand-rolled RAG, no LangChain

Research Indian startups with sources.

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.

0

startups indexed

0

data sources

0

retrieval modes

0

BGE-small dim

Y CombinatorWikipedia Unicorn ListPolygon TechnologyOYO RoomsDream11Ola ElectricPharmEasyPaytmZerodhaRazorpayY CombinatorWikipedia Unicorn ListPolygon TechnologyOYO RoomsDream11Ola ElectricPharmEasyPaytmZerodhaRazorpayY CombinatorWikipedia Unicorn ListPolygon TechnologyOYO RoomsDream11Ola ElectricPharmEasyPaytmZerodhaRazorpay

Product

Everything the pipeline does, visible.

A purpose-built retrieval stack for startup data: short descriptions, proper nouns, and sparse facts.

Hybrid Search

Vector ∥ keyword over Postgres

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

Fuse, then 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

Cited answers, streamed

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

Traces and a hand-rolled judge

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

Built for builders who want control.

No LangChain

The entire pipeline is hand-rolled: embeddings, keyword search, RRF fusion, reranker, and prompt builder. Full control over ranking and citations.

Hybrid Retrieval

Vector similarity plus Postgres full-text search. Switch between vector, hybrid, and hybrid+rerank in the retrieval lab.

Inline Citations

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.

Production Observability

Langfuse traces capture the full retrieval-to-generation flow for /search and /chat when keys are configured.

Evaluation Suite

A golden set of 12 questions measures hit@k, MRR, faithfulness, answer relevancy, and context precision with a custom LLM-judge.

Sub-Second Responses

Postgres 16 + pgvector stores vectors and text in one datastore. One database, no sync lag, fast retrieval.

FAQ

Frequently asked questions

Ready to dig into the data?

Explore 111 startups, compare retrieval modes, and ask questions that cite their sources.

Try the demo