OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Open WebUI Pipelines — 为本地大模型工作流提供可扩展管道能力

Open WebUI Pipelines — 为本地大模型工作流提供可扩展管道能力

 
  kubernetes ·  2026-03-20 11:00:21 · 4 次点击  · 0 条评论  

Pipelines Logo

Pipelines:与 UI 无关的 OpenAI API 插件框架

[!TIP]
请勿使用 Pipelines!

如果你的目标只是添加对 Anthropic 等额外提供商的支持或实现基础过滤器,那么你可能并不需要 Pipelines。对于这些情况,Open WebUI 内置的 Functions 功能是更合适的选择——它更便捷,配置也更简单。然而,当你需要处理计算密集型任务(例如运行大型模型或复杂逻辑),并希望将其从主 Open WebUI 实例中分离出来以获得更好的性能和可扩展性时,Pipelines 就能派上用场了。

欢迎来到 Pipelines,这是一个 Open WebUI 项目。Pipelines 为任何支持 OpenAI API 规范的 UI 客户端带来了模块化、可定制的工作流——功能远不止于此!只需几行代码,即可轻松扩展功能、集成独特逻辑并创建动态工作流。

🚀 为什么选择 Pipelines?

  • 无限可能: 轻松添加自定义逻辑并集成 Python 库,从 AI 智能体到家庭自动化 API 皆可。
  • 无缝集成: 兼容任何支持 OpenAI API 规范的 UI/客户端。(仅支持管道类型(pipe-type)的流水线;过滤器类型(filter-type)需要客户端支持 Pipelines。)
  • 自定义钩子: 构建并集成自定义流水线。

可实现的功能示例:

🔧 工作原理

Pipelines Workflow

将 Pipelines 与任何兼容 OpenAI API 的 UI 客户端集成非常简单。启动你的 Pipelines 实例,并将客户端上的 OpenAI URL 设置为 Pipelines 的 URL。就这样!你现在可以随时利用任何 Python 库来满足你的需求。

⚡ 使用 Docker 快速开始

[!WARNING]
Pipelines 是一个支持任意代码执行的插件系统——请勿从你不信任的来源获取随机的流水线

Docker

使用 Docker 进行简化设置:

  1. 运行 Pipelines 容器:

    sh docker run -d -p 9099:9099 --add-host=host.docker.internal:host-gateway -v pipelines:/app/pipelines --name pipelines --restart always ghcr.io/open-webui/pipelines:main

  2. 连接到 Open WebUI:

    • 在 Open WebUI 中,导航至 设置 > 连接 > OpenAI API 部分。
    • 将 API URL 设置为 http://localhost:9099,API 密钥设置为 0p3n-w3bu!。你的流水线现在应该已经激活。

[!NOTE]
如果你的 Open WebUI 运行在 Docker 容器中,请将 API URL 中的 localhost 替换为 host.docker.internal

  1. 管理配置:

    • 在管理面板中,进入 管理员设置 > Pipelines 选项卡
    • 选择你想要的流水线,并直接从 WebUI 修改阀门值。

[!TIP]
如果无法连接,很可能是 Docker 网络问题。我们鼓励你自行排查,并在讨论区分享你的方法和解决方案。

如果需要安装具有额外依赖项的自定义流水线:

  • 运行以下命令:

sh docker run -d -p 9099:9099 --add-host=host.docker.internal:host-gateway -e PIPELINES_URLS="https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py" -v pipelines:/app/pipelines --name pipelines --restart always ghcr.io/open-webui/pipelines:main

或者,如果没有额外的依赖项,你也可以通过复制粘贴流水线 URL,直接在管理员设置中安装流水线。

就是这样!你现在可以轻松使用 Pipelines 构建可定制的 AI 集成。享受吧!

与 Open WebUI 一起使用 Docker Compose

使用 Docker Compose 可以简化多容器 Docker 应用的管理。

以下是一个使用 Docker Compose 设置 Open WebUI 和 Pipelines 的示例配置文件 docker-compose.yaml

services:
  openwebui:
      image: ghcr.io/open-webui/open-webui:main
      ports:
        - "3000:8080"
      volumes:
        - open-webui:/app/backend/data

  pipelines:
      image: ghcr.io/open-webui/pipelines:main
      volumes:
        - pipelines:/app/pipelines
      restart: always
      environment:
        - PIPELINES_API_KEY=0p3n-w3bu!

volumes:
  open-webui: {}
  pipelines: {}

要启动你的服务,请运行以下命令:

docker compose up -d

然后,你可以使用 http://pipelines:9099(名称与 docker-compose.yaml 中定义的服务名称相同)作为 API URL 连接到 Open WebUI。

[!NOTE]
pipelines 服务仅能被 openwebui Docker 服务访问,从而提供了额外的安全层。

📦 安装与设置

通过几个简单的步骤开始使用 Pipelines:

  1. 确保已安装 Python 3.11。
  2. 克隆 Pipelines 仓库:

    sh git clone https://github.com/open-webui/pipelines.git cd pipelines

  3. 安装所需的依赖项:

    sh pip install -r requirements.txt

  4. 启动 Pipelines 服务器:

    sh sh ./start.sh

服务器运行后,将客户端上的 OpenAI URL 设置为 Pipelines 的 URL。这将解锁 Pipelines 的全部功能,集成任何 Python 库,并创建满足你需求的自定义工作流。

高级 Docker 构建

如果你创建了自己的流水线,可以在构建 Docker 镜像时安装它们。例如,创建一个包含以下代码片段的 bash 脚本,以从某个路径收集文件,将它们添加为安装 URL,并自动安装新流水线来构建 Docker 镜像。

注意:流水线模块在启动时仍会尝试安装在你的文件头部找到的任何包依赖项,但它们不会被重复下载。

# 构建特定的流水线
PIPELINE_DIR="pipelines-custom"
# 假设上述目录在你的源代码仓库中,并且没有被 `.dockerignore` 忽略,它将被复制到镜像中
PIPELINE_PREFIX="file:///app"

# 检索所有子文件
export PIPELINES_URLS=
for file in "$PIPELINE_DIR"/*; do
    if [[ -f "$file" ]]; then
        if [[ "$file" == *.py ]]; then
            if [ -z "$PIPELINES_URLS" ]; then
                PIPELINES_URLS="$PIPELINE_PREFIX/$file"
            else
                PIPELINES_URLS="$PIPELINES_URLS;$PIPELINE_PREFIX/$file"
            fi
        fi
    fi
done
echo "新的自定义安装管道:$PIPELINES_URLS"

docker build --build-arg PIPELINES_URLS=$PIPELINES_URLS --build-arg MINIMUM_BUILD=true -f Dockerfile .

📂 目录结构与示例

/pipelines 目录是你设置的核心。在此处添加新模块、自定义现有模块并管理工作流。服务器启动时,/pipelines 目录中的所有流水线将自动加载

你可以使用 PIPELINES_DIR 环境变量将此目录从 /pipelines 更改为其他位置。

集成示例

/examples 目录中可以找到各种集成示例。这些示例展示了如何集成不同的功能,为构建你自己的自定义流水线提供了基础。

🎉 进行中的工作

我们正在持续发展!我们很乐意听取你的反馈,并了解哪些钩子和功能最适合你的用例。随时联系我们,成为 Open WebUI 社区的一员!

我们的愿景是推动 Pipelines 成为我们 AI 界面 Open WebUI 的终极插件框架。想象一下,Open WebUI 是 AI 界面的 WordPress,而 Pipelines 则是其多样化的插件系列。加入我们,一起踏上这段激动人心的旅程吧!🌍

4 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 38 ms
Developed with Cursor