Skip to main content
Sponsored by Warp
Warp
The intelligent terminal for developers

Pipelines Logo

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

warning

如果有以下情况,请不要使用管道!

如果您的目标只是添加对其他提供商(如 Anthropic)或基本过滤器的支持,您可能不需要管道。对于这些情况,Open WebUI 功能是更好的选择——它是内置的,更方便,也更容易配置。但是,当您处理计算密集型任务(例如,运行大型模型或复杂逻辑)时,管道就会发挥作用,您希望从主 Open WebUI 实例中卸载这些任务以获得更好的性能和可扩展性。

欢迎来到 管道,这是一个 Open WebUI 倡议。管道为支持 OpenAI API 规范的任何 UI 客户端带来模块化、可定制的工作流程——还有更多!轻松扩展功能,集成独特逻辑,只需几行代码即可创建动态工作流程。

🚀 为什么选择管道?

  • 无限可能性: 轻松添加自定义逻辑并集成 Python 库,从 AI 代理到家庭自动化 API。
  • 无缝集成: 与支持 OpenAI API 规范的任何 UI/客户端兼容。(仅支持管道类型的管道;过滤器类型需要支持管道的客户端。)
  • 自定义钩子: 构建和集成自定义管道。

您可以实现的示例:

🔧 工作原理

Pipelines Workflow

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

⚡ 使用 Docker 快速开始

warning

管道是一个具有任意代码执行的插件系统——不要从您不信任的来源获取随机管道

使用 Docker 进行简化设置:

  1. 运行管道容器:

    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 中的 管理面板 > 设置 > 连接 部分。
    • 在此页面上,您可以按 + 按钮添加另一个连接。
    • 将 API URL 设置为 http://localhost:9099,API 密钥设置为 0p3n-w3bu!
    • 添加管道连接并验证后,您将看到一个图标出现在添加连接的 API Base URL 字段中。悬停时,图标本身将标记为 Pipelines。您的管道现在应该处于活动状态。
info

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

  1. 管理配置:

    • 在管理面板中,转到 管理面板 > 设置 > 管道 选项卡。
    • 选择您所需的管道并直接从 WebUI 修改阀值。
tip

如果您无法连接,这很可能是 Docker 网络问题。我们鼓励您自己进行故障排除,并在讨论论坛中分享您的方法和解决方案。

如果您需要安装带有额外依赖项的自定义管道:

  • 运行以下命令:

    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 直接从管理设置安装管道,前提是它没有额外的依赖项。

就是这样!您现在可以轻松构建可定制的 AI 集成了。享受吧!

📦 安装和设置

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

  1. 确保安装了 Python 3.11。 这是唯一官方支持的 Python 版本。

  2. 克隆管道存储库:

    git clone https://github.com/open-webui/pipelines.git
    cd pipelines
  3. 安装所需的依赖项:

    pip install -r requirements.txt
  4. 启动管道服务器:

    sh ./start.sh

服务器运行后,将客户端上的 OpenAI URL 设置为管道 URL。这将解锁管道的全部功能,集成任何 Python 库并创建根据您需求定制的自定义工作流程。

📂 目录结构和示例

/pipelines 目录是您设置的核心。在这里添加新模块,自定义现有模块,并管理您的工作流程。当服务器启动时,/pipelines 目录中的所有管道都将自动加载

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

集成示例

https://github.com/open-webui/pipelines/blob/main/examples 目录中找到各种集成示例。这些示例展示了如何集成不同的功能,为构建您自己的自定义管道提供了基础。

🎉 正在进行中

我们在不断发展!我们很乐意听到您的反馈,并了解哪些钩子和功能最适合您的用例。请随时联系并成为我们 Open WebUI 社区的一部分!

我们的愿景是推动 管道 成为我们 AI 界面 Open WebUI 的终极插件框架。想象一下 Open WebUI 作为 AI 界面的 WordPress,管道 是其多样化的插件范围。加入我们这个激动人心的旅程!🌍