Regulatory knowledge assistant with RAG
A chat assistant that answers questions about a financial regulator's public standards and reports, using a crawled and embedded corpus, hybrid retrieval and a semantic answer cache.
The challenge
Regulated financial institutions must navigate thousands of pages of prudential standards, guidance and statistical releases. Finding the relevant standard and its exact wording is slow, and general-purpose chatbots may invent figures.
What we built
A crawler walks a regulator's public website and PDFs, splits the text into chunks and stores local embeddings in Postgres with pgvector. At question time the query is embedded and matched against chunks, with a boost for standard codes mentioned in the question. The top chunks go to Gemini with instructions to answer only from context and to avoid unsupported figures. Answers are stored in a similarity-based cache that resets monthly, and conversations are saved per authenticated user.
Key capabilities
- Polite crawler for web pages and PDFs with retries and depth limits
- Local embeddings stored in pgvector
- Hybrid vector and standard-code retrieval
- Semantic answer cache with monthly reset
- Authenticated chat with saved conversations
What it delivers
- Answers are grounded in indexed source text rather than model memory alone
- Repeated questions are served from cache without a model call
- Users keep a history of conversations tied to their account
Have a similar backlog?
Most of our work started as a single painful workflow. Tell us yours.


