From Results to an Answer
Everything so far returns a ranked list. Retrieval-Augmented Generation (RAG) sends that list to a language model, which writes an answer from the retrieved results. Generation sits outside the search system.

The simplest version embeds the question and searches with it, which makes the second step the query you already built in Decide Before You Ingest. When the question needs work first, a language model can rewrite it into better search terms, or lift a constraint such as a date range out of it and into a filter.
With RAG, you may retrieve chunks instead of whole articles. Split each article into chunks and store each chunk as its own point. That is the chunking decision from Decide Before You Ingest, so make it before you ingest.
If the answer is weak, look at retrieval before reaching for a bigger model. A bigger model cannot use a result that retrieval never returned.
Frameworks such as LangChain and LlamaIndex connect retrieval to generation. Frameworks lists the ones with a Qdrant integration.