Edit a Pipeline
Improve your pipeline to make your search faster and more accurate. You can edit pipelines in Pipeline Builder or through REST API.
About This Task
You can edit a development pipeline while it remains deployed. You can make the following changes:
- Update components.
- Update the index a pipeline is using.
- Update the pipeline's name.
Any changes you make create a new, undeployed version of the pipeline.
You can't edit production pipelines. You must change the pipeline's service level first.
One Editor at a Time
Only one person can edit a pipeline at a time. When someone saves changes, the pipeline is locked for 60 seconds so others cannot overwrite the same version.
- If you try to edit while the pipeline is locked: You see a message like "[User A] edited this pipeline 30 seconds ago. You can edit in 30 seconds."
- After 60 seconds: The lock expires. Click Try again to start editing.
- Why 60 seconds? The lock prevents situations where people rapidly overwrite each other's changes, while still allowing sequential collaboration.
The lock is based on time (60 seconds after the last save), not on whether the other person has the editor open. If someone leaves their browser open without saving, you can edit after 60 seconds from their last save.
If you often need multiple people to edit a pipeline at once, share your use case with us. We're tracking this to inform future collaboration features.
Prerequisites
- You must be an Admin to perform this task.
- If the changes you want to make require undeploying the pipeline, go to Pipelines, click the more actions button next to the pipeline name, and select Undeploy.
- If you're updating the index the pipeline uses, make sure the index is enabled. For instructions, see Enable an Index.
- To edit pipelines using API endpoints, generate an API Key first.
Edit a Pipeline in Builder
This is the default way of editing pipelines. It opens the pipeline in the visual editor. You can use it to replace one component with another or update the parameters quickly.
-
Log in to Haystack Enterprise Platform and go to Pipelines.
-
Click the pipeline you want to edit. It opens in Builder.
Renaming a PipelineIf you just want to rename a pipeline, you can do it from the More Actions menu without opening the Builder. Click More Actions next to a pipeline on the Pipelines page and choose Rename.
-
Modify the pipeline and save it.
Updating the IndexTo update the index a pipeline is using, find the document store that uses the index you want to change and choose a different index.
-
Deploy the pipeline to use it for search.
Duplicate a Pipeline
Duplicating creates a copy of a pipeline with its YAML configuration and runtime settings. Use this when you want to create a variant of an existing pipeline without changing the original.
- Log in to Haystack Enterprise Platform and go to Pipelines.
- Find the pipeline you want to copy, click the More Actions menu next to it, and choose Duplicate.
- In the New pipeline name field, enter a name for the copy. The default name is
{source-name}-copy. - Click Duplicate.
You're taken to Pipeline Builder where you can edit the new pipeline. If a pipeline with the name you entered already exists, an inline error appears — enter a different name and try again.
The duplicate includes the source pipeline's runtime settings (such as replica count, GPU acceleration, and idle timeout). If the settings can't be copied, you'll see a warning and can update them in the pipeline settings.
Edit a Pipeline with REST API
Update Pipeline Settings
Use the Update Pipeline endpoint to change pipeline settings, such as name or service level, without changing the YAML configuration.
Example
Copy this code and modify it as needed:
--request PATCH \
--url https://api.cloud.deepset.ai/api/v1/<YOUR_WORKSPACE>/pipelines/<YOUR_PIPELINE_NAME> \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"name": "new_pipeline_name",
"service_level": "DEVELOPMENT",
"status": 1
}
'
Update Pipeline YAML Configuration
For updating pipeline YAML configuration, use the pipeline versions API:
- Fetch the latest version using Get Query Pipeline Version.
- Create a new draft version with Create Query Pipeline Version. If a draft already exists, it is automatically finalized and a new draft is created. If the existing draft is currently locked by another user, the request returns a 409 Conflict error — wait for the lock to expire and try again.
- Update the pipeline configuration using Patch Query Pipeline Version.
Related Information
Was this page helpful?