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支持的客户端。)
- 自定义钩子:构建和集成自定义管道。
示例展示:
- 函数调用管道:轻松处理函数调用,并通过自定义逻辑增强你的应用程序。
- 自定义RAG管道:根据需求实现复杂的检索增强生成(RAG)管道。
- 使用Langfuse进行消息监控:使用Langfuse实时监控和分析消息交互。
- 速率限制过滤器:控制请求流以防止超过速率限制。
- LibreTranslate实时翻译过滤器:在LLM交互中无缝集成实时翻译。
- 有毒消息过滤器:有效检测和处理有毒消息。
- 还有更多!:使用Pipelines和Python可以实现的潜力无穷无尽。查看我们的脚手架,为你的项目打下基础,看看如何简化开发流程吧!
🔧 工作原理
将Pipelines与任何兼容OpenAI API的UI客户端集成非常简单。启动你的Pipelines实例,并将客户端上的OpenAI URL设置为Pipelines URL。就是这样!你已经准备好利用任何Python库来满足你的需求了。
⚡ 使用Docker快速开始
注意
Pipelines是一个带有任意代码执行的插件系统——不要从不可信来源获取随机管道。
使用Docker进行简化设置:
-
运行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
-
连接到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
。
-
管理配置:
- 在管理面板中,进入管理面板 > 设置 > 管道选项卡。
- 选择所需的管道并直接从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集成。尽情享受吧!