RAG Developer Guide
Production-Ready Edition
With diagrams, real code, and enterprise checklists
1. Architecture Diagrams
These diagrams explain the system flow at different levels.
1.1 High-Level RAG Flow
User
|
v
FastAPI /ask
|
v
Query Rewrite (optional)
|
v
Vector Search (Qdrant) ----+
+--> Hybrid Merge --> Rerank --> Context
Builder
BM25 Search --------------+
|
v
LLM Generation
|
v
Answer
1.2 Ingestion Pipeline
PDF / Web / Excel
|
v
Text Cleaner
|
v
Chunker (token aware)
|
v
Embeddings
|
v
Vector DB (Qdrant)
1.3 Production Deployment
Clients / Voice / UI
|
v
API Gateway
|
v
RAG API (FastAPI)
| |
| +--> Redis (cache)
|
+--> Qdrant (vectors)
|
+--> Postgres (metadata, logs)
|
v
Observability (logs, metrics)
2. Query Rewriting & Multi-Query Retrieval
Improves recall for vague or short user questions.
# retrieval/query_rewrite.py
from openai import OpenAI
client = OpenAI()
def rewrite_query(q: str) -> list[str]:
prompt = f"""Rewrite the question into 3 search queries:
Question: {q}"""
r = [Link](
model="gpt-4.1-mini",
input=prompt,
temperature=0
)
lines = r.output_text.split("\n")
return [[Link]("- ").strip() for l in lines if [Link]()]
# retrieval/multi_query.py
def multi_query_retrieve(queries, vector_search):
results = []
for q in queries:
qvec = embed_texts([q])[0]
[Link](vector_search(qvec, top_k=15))
return results
3. Metadata-Aware Retrieval
Filters reduce noise in large corpora.
# Example Qdrant filter
from qdrant_client.[Link] import Filter, FieldCondition, MatchValue
qfilter = Filter(
must=[
FieldCondition(
key="product",
match=MatchValue(value="personal_loan")
)
]
)
4. Production Readiness Checklist
4.1 Reliability
Hybrid retrieval enabled (vector + BM25)
Reranker in place for top-N results
Strict prompt grounding rules
Fallback response when context is empty
4.2 Performance
Embedding cache (Redis)
Retrieval result cache (short TTL)
Top-K tuned (retrieve 20 → use 5)
Latency logged per stage
4.3 Observability
Log query, rewritten queries
Log retrieved chunk IDs and scores
Log final prompt token count
Track hallucination reports
4.4 Security & Safety
PII redaction before embeddings
Per-tenant vector isolation
Secrets via environment variables
Audit logs for access
4.5 Evaluation
Golden test set (50–200 questions)
Recall@K tracked weekly
Manual answer grounding review
Regression tests after re-ingest
5. When to Go Agentic
Multiple data sources (vector + SQL + APIs)
Long multi-step reasoning
Dynamic planning required
Do NOT use agents for simple FAQ RAG
© 2026 — Production RAG Reference