You are building an internal assistant for an enterprise search tool that answers questions over engineering standards, project documentation, support knowledge articles, and policy PDFs. The corpus contains roughly 8 million documents across mixed formats including HTML, DOCX, PDF, email exports, and scanned files with OCR noise, and many documents are long, versioned, and access-controlled. Users ask multi-hop questions such as how a design requirement changed between revisions or which procedure applies to a specific asset type, and they expect answers with citations rather than generic summaries. You have limited labeled question-answer pairs, but you do have document metadata, user permissions, and historical search logs.
What is retrieval-augmented generation, and how would you design and implement a production-ready RAG system for this enterprise data so that answers stay grounded in the source documents while handling noisy content, permissions, and evolving knowledge?