open-webui / pipelines

Pipelines: Versatile, UI-Agnostic OpenAI-Compatible Plugin Framework
MIT License
956 stars 300 forks source link

Dependencies not being pulled #151

Closed DarkIceXD closed 4 months ago

DarkIceXD commented 4 months ago

I can't find a way to upload a pipeline with dependencies. I created this test pipeline: test.py:

"""
title: Test pipline
requirements: llama-index-vector-stores-qdrant
"""

from typing import List, Union, Generator, Iterator

class Pipeline:
    def __init__(self):
        pass

    def pipe(
        self, user_message: str, model_id: str, messages: List[dict], body: dict
    ) -> Union[str, Generator, Iterator]:
        return "hello world"

Notice the llama-index requirement. I then added the pipeline through the UI and checked the installed modules by doing docker exec pipelines pip list | grep llama-index-vector-stores-qdrant and it would't find it. I am not sure if its an issue with Pipelines or WebUI.

I also can't use PIPELINES_URLS because i would have to upload the pipeline publicly which isn't an option.

Marenz commented 4 months ago

From what I can tell the PIPELINE_URLS is the only way to do this currently. But you don't have to upload something publicly for that:

DarkIceXD commented 4 months ago

its kind of hacky. i might look into implementing it myself and opening a PR. as far as i can see its just implementing this in python.