[PR #342] Let the pipeline know the valves have been updated after loading #387

Open
opened 2026-02-15 20:15:22 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/pipelines/pull/342
Author: @HansKeppie
Created: 11/20/2024
Status: 🔄 Open

Base: mainHead: call_pipeline_on_valves_updated_after_loading


📝 Commits (1)

  • 2af3c15 Let the pipeline know the valves have been updated after loading

📊 Changes

1 file changed (+2 additions, -0 deletions)

View changed files

📝 main.py (+2 -0)

📄 Description

Some pipelines use dummy/default valves in the constructor. After a restart of the pipelines server, wrong header information is used until an update of the valves is done via open-webui or the API.

So, after a (re)start of the pipelines server, it is wise to let the pipeline know that the valves might have changed.
This small fix does exactly that: call the on_valves_updated method in the load_modules_from_directory, similar to what is already present in the code after an update of the valves via the /{pipeline_id}/valves/update api.

Example pipeline (anthropic_manifold_pipeline):

class Pipeline:
    class Valves(BaseModel):
        ANTHROPIC_API_KEY: str = ""

    def __init__(self):
        ...
        self.valves = self.Valves(
            **{"ANTHROPIC_API_KEY": os.getenv("ANTHROPIC_API_KEY", "your-api-key-here")}
        )
        ...
        self.update_headers()

    def update_headers(self):
        self.headers = {
            'anthropic-version': '2023-06-01',
            'content-type': 'application/json',
            'x-api-key': self.valves.ANTHROPIC_API_KEY
        }

    async def on_valves_updated(self):
        self.update_headers()

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/pipelines/pull/342 **Author:** [@HansKeppie](https://github.com/HansKeppie) **Created:** 11/20/2024 **Status:** 🔄 Open **Base:** `main` ← **Head:** `call_pipeline_on_valves_updated_after_loading` --- ### 📝 Commits (1) - [`2af3c15`](https://github.com/open-webui/pipelines/commit/2af3c15267981a361a3c1927eef48c32eeeaf9fb) Let the pipeline know the valves have been updated after loading ### 📊 Changes **1 file changed** (+2 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `main.py` (+2 -0) </details> ### 📄 Description Some pipelines use dummy/default valves in the constructor. After a restart of the pipelines server, wrong header information is used until an update of the valves is done via open-webui or the API. So, after a (re)start of the pipelines server, it is wise to let the pipeline know that the valves might have changed. This small fix does exactly that: call the on_valves_updated method in the load_modules_from_directory, similar to what is already present in the code after an update of the valves via the /{pipeline_id}/valves/update api. Example pipeline (anthropic_manifold_pipeline): ``` class Pipeline: class Valves(BaseModel): ANTHROPIC_API_KEY: str = "" def __init__(self): ... self.valves = self.Valves( **{"ANTHROPIC_API_KEY": os.getenv("ANTHROPIC_API_KEY", "your-api-key-here")} ) ... self.update_headers() def update_headers(self): self.headers = { 'anthropic-version': '2023-06-01', 'content-type': 'application/json', 'x-api-key': self.valves.ANTHROPIC_API_KEY } async def on_valves_updated(self): self.update_headers() ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-15 20:15:22 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/pipelines#387