---
title: "Pipeline Templates"
id: pipeline-templates
slug: "/pipeline-templates"
description: ""
---

# Pipeline Templates

Haystack provides templates to create ready-made pipelines for common use cases.

To create a pipeline, the method `from_template`of the `Pipeline` class can be called passing a template identifier in the form `PredefinedPipeline.TEMPLATE_IDENTIFIER`.

For example, to create and run a pipeline using the `INDEXING` template you would use `Pipeline.from_template(PredefinedPipeline.INDEXING)`

In this section we detail the available templates and how they can be used.

### Chat with website

Generates a pipeline to read a web page and ask questions about its content.

|  |  |
| --- | --- |
| Template identifier | `CHAT_WITH_WEBSITE` |
| Template params | \- |
| Inputs (**\*** means mandatory) | `'converter': {'meta': {}} `   `'fetcher': {'urls': ["https://example.com"]}`**\***   `'llm': {'generation_kwargs': {}}`   `'prompt': {'query': 'the question to ask'}` |

Example code:

```python
from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.CHAT_WITH_WEBSITE)
pipeline.run({"fetcher": {"urls": ["https://haystack.deepset.ai:"]}, "prompt": {"query": "what is Haystack?"}})

```

### Generative QA

Generates a simple pipeline to ask a generic query using an `OpenAIGenerator`.

|  |  |
| --- | --- |
| Template identifier | `GENERATIVE_QA` |
| Template params | \- |
| Inputs (**\*** means mandatory) | `'generator': {'generation_kwargs': {}}`   `'prompt_builder': {'question': "" }` |

Example code:

```python
from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.GENERATIVE_QA)
pipeline.run({"prompt_builder":{"question":"Where is Rome?"}})
```

### Indexing

Generates a pipeline that imports documents from one or more text files, creates the embeddings for each of them, and finally stores them in an [`InMemoryDocumentStore`](../../document-stores/inmemorydocumentstore.mdx).

|  |  |
| --- | --- |
| Template identifier | `INDEXING` |
| Template params | \- |
| Inputs (**\*** means mandatory) | `'llm': {'generation_kwargs': {}}`   `'prompt_builder': {'query': ''}`   `'retriever': {'filters': {}, 'top_k': None}`   `'text_embedder': {'text': ''}}`\* |

Example code:

```python
from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.INDEXING)
result = pipeline.run({"converter": {"sources": ["some_file.txt"]}})
```

### RAG

Generates a RAG pipeline using data that was previously indexed (you can use the Indexing template).

|  |  |
| --- | --- |
| Template identifier | `RAG` |
| Template params | \- |
| Inputs (**\*** means mandatory) | `'llm': {'generation_kwargs': {}}`   `'prompt_builder': {'query': ''}`   `'retriever': {'filters': {}, 'top_k': None}`   `'text_embedder': {'text': ''}}`\* |

Example code:

```python
from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.RAG)
pipeline.run({"text_embedder": {"text": "A question about your documents"}})
```
