跳到主要内容

Pipelines Logo

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

提示

如果你的目标只是为Anthropic等其他提供商或基本过滤器添加支持,那么你可能不需要使用Pipelines。对于这些情况,Open WebUI Functions会是更好的选择——它内置、更加便捷且易于配置。然而,当你需要处理计算密集型任务(例如运行大型模型或复杂逻辑)并希望将其从主Open WebUI实例中卸载以提高性能和可扩展性时,Pipelines就派上用场了。

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

🚀 为什么选择Pipelines?

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

示例展示:

🔧 工作原理

Pipelines Workflow

将Pipelines与任何兼容OpenAI API的UI客户端集成非常简单。启动你的Pipelines实例,并将客户端上的OpenAI URL设置为Pipelines URL。就是这样!你已经准备好利用任何Python库来满足你的需求了。

⚡ 使用Docker快速开始

注意

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

使用Docker进行简化设置:

  1. 运行Pipelines容器:

    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。现在你的管道应该已激活。
信息

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

  1. 管理配置:

    • 在管理面板中,进入管理面板 > 设置 > 管道选项卡。
    • 选择所需的管道并直接从WebUI修改阀门值。
提示

如果你无法连接,很可能是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来安装管道,前提是该管道没有额外的依赖项。

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

📦 安装与设置

只需几步即可开始使用Pipelines:

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

  2. 克隆Pipelines仓库:

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

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

    sh ./start.sh

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

📂 目录结构与示例

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

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

集成示例

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

🎉 正在进行中的工作

我们正在不断进化!我们非常乐意听取你的反馈,了解哪些钩子和功能最适合你的应用场景。随时联系我们,加入我们的Open WebUI社区吧!

我们的愿景是将Pipelines打造成为我们AI界面——Open WebUI的终极插件框架。想象一下,Open WebUI就像AI界面领域的WordPress,而Pipelines则是其丰富的插件集。加入我们,一起踏上这段激动人心的旅程吧! 🌍