RAG Systems in Production Cheat Sheet

This content was generated with the assistance of AI and should be verified against the official documentation of each tool and framework before being relied on in production.

This section’s bibliography lists the reference material consulted while preparing these pages.

A single-page index of quick back-links to every page in this sub-section, grouped the same way as the navigation. It was written on 2026-09-30 against LangChain 1.4.3 with FastAPI 0.142.2, Spring AI 2.0.1 on Spring Boot 4.1.1 and LangChain4j 1.20.2; the full list is the version baseline on the landing page.

The downloadable PDF is a separate, single A4 page meant for printing. It states the version baseline and covers:

  • the reference architecture and the latency budget ;

  • the parser-choice table (the parser ladder) and the multimodal options for tables, images and audio;

  • ingestion freshness patterns: idempotent jobs, content hashes, CDC, deletes and PII redaction;

  • routing and indexing patterns;

  • the memory decision table (window, summary, long-term) with the three-stack persistence snippets;

  • the citation response schema and the hallucination checks;

  • the guardrail layers and the ACL filter snippets for the three stacks;

  • the /v1/ask API contract and the SSE event types;

  • the RAG-over-MCP pattern;

  • the cache tiers;

  • the GraphRAG decision table;

  • the evaluation and observability metrics.

Overview — RAG Systems in Production.

Architecture — Production RAG Architecture.

The one idiom the whole sheet builds on — the ACL filter comes from the verified identity and is ANDed with anything the question adds — in its LangChain form (explained on Access Control & Privacy):

The ACL-filtered retriever
def retriever_for(vector_store, readable_acls: list[str], extra: dict | None = None):
    acl = {"acl": {"$in": readable_acls}}                      # from the verified token, never from the prompt
    flt = {"$and": [acl, extra]} if extra else acl
    return vector_store.as_retriever(search_kwargs={"k": 6, "filter": flt})

Source: LangChain — PGVector (metadata filtering).