# Generation

## What is generation?

Generation is a core subprocess in our SDK that focuses on producing the final output of an RAG (Retrieval-Augmented Generation) pipeline. This output typically consists of two parts:

1. **Response** – the synthesized answer, typically produced by the language model.
2. **References** – the relevant sources used to generate the response.

To support this workflow, the GL SDK provides the following features:

1. [**Response Synthesizer**](https://gdplabs.gitbook.io/sdk/~/revisions/w6A7tUKJGDYFXuci5HcW/tutorials/generation/response-synthesizer) - For synthesizing the response based on the provided inputs and contexts.
2. [**Reference Formatter**](https://gdplabs.gitbook.io/sdk/~/revisions/w6A7tUKJGDYFXuci5HcW/tutorials/generation/reference-formatter) - For filtering and formatting the references in a clear, standardized format.
