Knowledge systems / February 2025

A document assistant built around retrieval, not guessing.

A conversational document tool that parses a file, retrieves relevant passages, and carries context across follow-up questions.

Core stack

Google PaLMChromaDBFirebaseStreamlitPython

RAG

retrieval to feedback

01 / Where it started

The problem I was trying to solve.

A useful document assistant has to do more than accept a prompt. It needs to handle different file types, find the right context quickly, remember the conversation, and make it possible to learn from weak answers.

02 / What I built

My approach.

The application extracts text from PDF, DOCX, and TXT files, breaks it into manageable chunks, caches embeddings, and stores them in ChromaDB. Queries retrieve the closest passages before Google PaLM generates a response. Firebase keeps conversation history and feedback.

03 / Architecture

How the pieces fit together.

System map / 02
Node 01 / 04Signal active ●
Operation / 01

Read

Extract PDF, DOCX, or TXT content

Auto cycle engaged
Google PaLMChromaDBFirebaseStreamlitPython

04 / What changed

What came out of it.

  1. 01

    Handled PDF, DOCX, and plain-text documents

  2. 02

    Reused cached embeddings instead of recomputing them

  3. 03

    Stored conversations and positive or negative feedback in Firebase

What I learned

Building the full loop changed how I thought about RAG. Parsing, chunk size, persistence, and feedback can matter just as much as the generation model.