Conventional RAG vs. Agentic RAG: When Retrieval Becomes Research

Retrieval-augmented generation (RAG) gives a language model evidence to work with: ingest documents, split their text into chunks, embed those chunks, retrieve relevant passages for a question, and generate an answer that cites them. The interesting engineering question appears when the first search returns only part of what the user needs. Should the application answer from those passages, admit the gap, or search again with a different question? I explored that choice through two local document-chat prototypes: Document Chat, built with Streamlit, and Folio, a Next.js/FastAPI application with a LangGraph research workflow. They share the same basic document-library design. Their main difference is how they decide what to retrieve and when to stop. ...

September 25, 2026 · 12 min · Navaneeth P T

Beyond Hallucinations: Building a Self-Optimizing NL-to-Lucene Engine

Introduction Modern search systems increasingly aim to support natural language (NL) interfaces over structured or semi-structured indices. While large language models (LLMs) are capable of translating free-form text into structured queries, deploying such systems reliably over strict query languages—such as Apache Lucene query syntax—remains challenging. Lucene’s query parser enforces precise syntactic rules. Even minor formatting mistakes (misplaced quotes, incorrect range expressions, missing operators) cause queries to fail outright. In practice, this makes naïve NL-to-query generation brittle and unsuitable for production systems. ...

January 24, 2026 · 5 min · Navaneeth P T