Pipelines:与界面无关的OpenAI API插件框架
欢迎来到Pipelines,这是一个Open WebUI倡议。Pipelines为任何支持OpenAI API规范的UI客户端带来模块化、可定制的工作流程,而且还不止于此!只需几行代码,就能轻松扩展功能、集成独特逻辑和创建动态工作流程。
🚀 为什么选择Pipelines?
- **无限可能:**轻松添加自定义逻辑并集成Python库,从AI代理到家庭自动化API。
- **无缝集成:**与任何支持OpenAI API规范的UI/客户端兼容。(仅支持管道型pipelines;过滤器类型需要支持Pipelines的客户端。)
- **自定义钩子:**构建和集成自定义pipelines。
您可以实现的示例:
- 函数调用Pipeline:轻松处理函数调用并用自定义逻辑增强您的应用程序。
- 自定义RAG Pipeline:实现根据您需求定制的复杂检索增强生成pipelines。
- 使用Langfuse监控消息:使用Langfuse实时监控和分析消息交互。
- 速率限制过滤器:控制请求流量以防止超过速率限制。
- 使用LibreTranslate的实时翻译过滤器:将实时翻译无缝集成到您的LLM交互中。
- 有毒消息过滤器:实现过滤器以有效检测和处理有毒消息。
- 还有更多!:Pipelines和Python能实现的可能性无穷无尽。查看我们的脚手架,快速启动您的项目,看看如何简化您的开发过程!
🔧 工作原理
将Pipelines与任何兼容OpenAI API的UI客户端集成非常简单。启动您的Pipelines实例,并将客户端上的OpenAI URL设置为Pipelines URL。就是这么简单!您现在可以利用任何Python库满足您的需求。
⚡ 使用Docker快速开始
[!警告] Pipelines是一个可执行任意代码的插件系统——不要从不信任的来源获取随机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中导航到设置 > 连接 > OpenAI API部分。
- 将API URL设置为
http://localhost:9099
,API密钥设置为0p3n-w3bu!
。您的pipelines现在应该已经激活。
[!注意] 如果您的Open WebUI运行在Docker容器中,请将API URL中的
localhost
替换为host.docker.internal
。
-
管理配置:
- 在管理面板中,转到管理设置 > Pipelines选项卡。
- 选择您想要的pipeline,并直接从WebUI修改阀值。
[!提示] 如果无法连接,很可能是Docker网络问题。我们鼓励您自行解决问题,并在讨论论坛中分享您的方法和解决方案。
如果您需要安装带有额外依赖项的自定义pipeline:
-
运行以下命令:
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
或者,如果pipeline没有额外的依赖项,您可以直接从管理设置中复制并粘贴pipeline URL来安装pipelines。
就是这样!您现在可以使用Pipelines轻松构建可自定义的AI集成。享受吧!
📦 安装和设置
通过几个简单的步骤开始使用Pipelines:
-
确保已安装Python 3.11。
-
克隆Pipelines仓库:
git clone https://github.com/open-webui/pipelines.git cd pipelines
-
安装所需的依赖项:
pip install -r requirements.txt
-
启动Pipelines服务器:
sh ./start.sh
服务器运行后,将客户端上的OpenAI URL设置为Pipelines URL。这将解锁Pipelines的全部功能,集成任何Python库并创建满足您需求的自定义工作流程。
📂 目录结构和示例
/pipelines
目录是您设置的核心。在这里添加新模块、自定义现有模块并管理您的工作流程。当服务器启动时,/pipelines
目录中的所有pipelines将自动加载。
您可以使用PIPELINES_DIR
环境变量将此目录从/pipelines
更改为其他位置。
集成示例
在/examples
目录中查找各种集成示例。这些示例展示了如何集成不同的功能,为构建您自己的自定义pipelines提供基础。
🎉 正在进行中
我们在不断发展!我们很乐意听到您的反馈,并了解哪些钩子和功能最适合您的使用场景。欢迎随时联系我们,成为Open WebUI社区的一员!
我们的愿景是将Pipelines推进成为我们AI界面Open WebUI的终极插件框架。想象Open WebUI是AI界面的WordPress,而Pipelines则是其多样化的插件范围。加入我们这个激动人心的旅程吧!🌍