mirror of
https://github.com/deepset-ai/haystack.git
synced 2026-02-05 06:23:42 +00:00
* Update documentation text with rebranding * minor updates to the text * Update 2.21 versions of the docs pages * Change banner image on README * add alt text for the new image
90 lines
3.2 KiB
Plaintext
90 lines
3.2 KiB
Plaintext
---
|
|
title: "Visualizing Haystack Pipelines"
|
|
id: visualizing-pipelines
|
|
slug: "/visualizing-pipelines"
|
|
description: "You can visualize your Haystack AI pipelines as graphs to better understand how the components are connected."
|
|
---
|
|
|
|
import ClickableImage from "@site/src/components/ClickableImage";
|
|
|
|
# Visualizing Haystack Pipelines
|
|
|
|
You can visualize your pipelines as graphs to better understand how the components are connected.
|
|
|
|
Haystack pipelines have `draw()` and `show()` methods that enable you to visualize the pipeline as a graph using Mermaid graphs.
|
|
|
|
:::note Data Privacy Notice
|
|
|
|
Exercise caution with sensitive data when using pipeline visualization.
|
|
|
|
This feature is based on Mermaid graphs web service that doesn't have clear terms of data retention or privacy policy.
|
|
:::
|
|
|
|
## Prerequisites
|
|
|
|
To use Mermaid graphs, you must have an internet connection to reach the Mermaid graph renderer at https://mermaid.ink.
|
|
|
|
## Displaying a Graph
|
|
|
|
Use the pipeline's `show()` method to display the diagram in Jupyter notebooks.
|
|
|
|
```python
|
|
my_pipeline.show()
|
|
```
|
|
|
|
## Saving a Graph
|
|
|
|
Use the pipeline's `draw()` method passing the path where you want to save the diagram and the diagram format. Possible formats are: `mermaid-text` and `mermaid-image` (default).
|
|
|
|
```python
|
|
my_pipeline.draw(path=local_path)
|
|
```
|
|
|
|
## Visualizing SuperComponents
|
|
|
|
To show the internal structure of [SuperComponents](../components/supercomponents.mdx) in your digram instead of a black box component, set the `super_component_expansion` parameter to `True`:
|
|
|
|
```python
|
|
my_pipeline.show(super_component_expansion=True)
|
|
|
|
## or
|
|
|
|
my_pipeline.draw(path=local_path,
|
|
super_component_expansion=True)
|
|
```
|
|
|
|
## Visualizing Locally
|
|
|
|
If you don't have an internet connection or don't want to send your pipeline data to the remote https://mermaid.ink, you can install a local mermaid.ink server and use it to render your pipeline.
|
|
|
|
Let's run a local mermaid.ink server using their official Docker images from https://github.com/jihchi/mermaid.ink/pkgs/container/mermaid.ink.
|
|
|
|
In this case, let's install one for a system running a MacOS M3 chip and expose it on port 3000:
|
|
|
|
```dockerfile
|
|
docker run --platform linux/amd64 --publish 3000:3000 --cap-add=SYS_ADMIN ghcr.io/jihchi/mermaid.ink
|
|
```
|
|
|
|
Check that the local mermaid.ink server is running by going to http://localhost:3000/.
|
|
|
|
You should see a local server running, and now you can simply render the image using your local mermaid.ink server by specifying the URL when calling the`show()`or `draw()` method:
|
|
|
|
```python
|
|
my_pipeline.show(server_url="http://localhost:3000")
|
|
## or
|
|
my_pipeline.draw("my_pipeline.png", server_url="http://localhost:3000")
|
|
```
|
|
|
|
## Example
|
|
|
|
This is an example of what a pipeline graph may look like:
|
|
<ClickableImage src="/img/46a8989-Untitled.png" alt="RAG pipeline flowchart showing the data flow from query through retriever, prompt builder, language model, and answer builder components" size="large" />
|
|
|
|
<br />
|
|
|
|
## Importing a Pipeline to Haystack Enterprise Platform
|
|
|
|
You can import your Haystack pipeline into Haystack Enterprise Platform and continue visually building your pipeline
|
|
|
|
To do that, follow the steps described in Haystack Enterprise Platform [documentation](https://docs.cloud.deepset.ai/docs/import-a-pipeline#import-your-pipeline).
|