--- title: "Pipeline Templates" id: pipeline-templates slug: "/pipeline-templates" --- # 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 | `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.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 | `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.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 | `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.RAG) pipeline.run({"text_embedder": {"text": "A question about your documents"}}) ```