{"id":44,"date":"2024-09-21T06:15:55","date_gmt":"2024-09-21T06:15:55","guid":{"rendered":"https:\/\/open-webui.com\/?p=44"},"modified":"2024-09-21T06:15:55","modified_gmt":"2024-09-21T06:15:55","slug":"pipelines","status":"publish","type":"post","link":"https:\/\/open-webui.com\/pipelines\/","title":{"rendered":"Pipelines"},"content":{"rendered":"\n<p><strong>Open WebUI Pipelines<\/strong> offer flexible, modular workflows for any UI client that supports OpenAI API specs and beyond. With just a few lines of code, you can easily extend functionalities, integrate custom logic, and build dynamic workflows.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Choose Open WebUI Pipelines?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Endless Customization:<\/strong> Add your own logic and integrate Python libraries effortlessly, whether it\u2019s AI agents or home automation APIs.<\/li>\n\n\n\n<li><strong>Smooth Integration:<\/strong> Works seamlessly with any UI\/client that supports OpenAI API specs (only pipe-type pipelines are supported; filter types need clients with Pipelines support).<\/li>\n\n\n\n<li><strong>Custom Hooks:<\/strong> Create and integrate personalized pipelines.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What Can You Build?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Function Calling Pipeline:<\/strong> Streamline function calls and enhance your app with custom logic.<\/li>\n\n\n\n<li><strong>Custom RAG Pipeline:<\/strong> Develop advanced Retrieval-Augmented Generation workflows tailored to your needs.<\/li>\n\n\n\n<li><strong>Message Monitoring with Langfuse:<\/strong> Track and analyze message interactions in real-time.<\/li>\n\n\n\n<li><strong>Rate Limit Filter:<\/strong> Manage request flow to avoid exceeding rate limits.<\/li>\n\n\n\n<li><strong>Real-Time Translation with LibreTranslate:<\/strong> Enable seamless real-time translations in your LLM interactions.<\/li>\n\n\n\n<li><strong>Toxic Message Filter:<\/strong> Detect and handle toxic messages efficiently.<\/li>\n\n\n\n<li><strong>And So Much More:<\/strong> Explore limitless possibilities with Pipelines and Python. Use our scaffolds to kick-start your projects and optimize your development process!<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How It Works<\/h2>\n\n\n\n<p>Integrating Pipelines with any OpenAI API-compatible UI client is straightforward. Simply launch your Pipelines instance, then set the OpenAI URL in your client to the Pipelines URL. With that, you&#8217;re all set to utilize any Python library within your workflows!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quick Start with Docker<\/h2>\n\n\n\n<p>For a simplified setup using <a href=\"https:\/\/www.docker.com\">Docker<\/a>, follow these steps:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Run the Pipelines Container<\/h3>\n\n\n\n<p>To start the Pipelines container, run this command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>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<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Connect to Open WebUI<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Admin Panel<\/strong> > <strong>Settings<\/strong> > <strong>Connections<\/strong> in Open WebUI.<\/li>\n\n\n\n<li>Press the <strong>+<\/strong> button to add a new connection.<\/li>\n\n\n\n<li>Set the <strong>API URL<\/strong> to <code>http:\/\/localhost:9099<\/code> and the <strong>API key<\/strong> to <code>0p3n-w3bu!<\/code>.<\/li>\n\n\n\n<li>Once connected, an icon labeled <em>Pipelines<\/em> will appear in the <strong>API Base URL<\/strong> field. Your pipelines are now active!<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Note<\/strong>: If Open WebUI is running in a Docker container, replace <code>localhost<\/code> with <code>host.docker.internal<\/code> in the API URL.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Manage Configurations<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>Admin Panel<\/strong> > <strong>Settings<\/strong> > <strong>Pipelines<\/strong>.<\/li>\n\n\n\n<li>Select your pipeline and adjust valve values directly from the WebUI.<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Tip<\/strong>: If you encounter connection issues, it&#8217;s likely due to Docker networking. Please troubleshoot and share your solutions in the community forum.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Installing Custom Pipelines with Dependencies<\/h3>\n\n\n\n<p>To install a custom pipeline with additional dependencies, run this command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>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<\/code><\/pre>\n\n\n\n<p>Alternatively, you can install pipelines directly from the <strong>Admin Settings<\/strong> by pasting the pipeline URL, provided no extra dependencies are required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Installation and Setup<\/h3>\n\n\n\n<p>Follow these steps to get started with Pipelines:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ensure Python 3.11 is installed<\/strong> (the only officially supported version).<\/li>\n\n\n\n<li>Clone the Pipelines repository:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   git clone https:\/\/github.com\/open-webui\/pipelines.git\n   cd pipelines<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Install the required dependencies:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   pip install -r requirements.txt<\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Start the Pipelines server:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   sh .\/start.sh<\/code><\/pre>\n\n\n\n<p>Once the server is running, set the OpenAI URL in your client to the Pipelines URL to unlock full functionality, integrating Python libraries and creating custom workflows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Directory Structure and Examples<\/h3>\n\n\n\n<p>The <code>\/pipelines<\/code> directory is the heart of your setup. Customize modules, manage workflows, and add new pipelines here. All pipelines in this directory are loaded automatically when the server starts. You can change this default directory by setting the <code>PIPELINES_DIR<\/code> environment variable.<\/p>\n\n\n\n<p>For integration examples, visit <a href=\"https:\/\/github.com\/open-webui\/pipelines\/blob\/main\/examples\">https:\/\/github.com\/open-webui\/pipelines\/blob\/main\/examples<\/a>, which demonstrates how to build custom pipelines for various use cases.<\/p>\n\n\n\n<p>Enjoy building customizable AI integrations with Pipelines!<\/p>\n\n\n\n<p>Read related articles:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/open-webui.com\/docker-compose\/\">How to Install OpenWebUI using Docker Compose<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Open WebUI Pipelines offer flexible, modular workflows for any UI client that supports OpenAI API specs and beyond. With just a few lines of code, you can easily extend functionalities, integrate custom logic, and build dynamic workflows. Why Choose Open WebUI Pipelines? What Can You Build? How It Works Integrating Pipelines with any OpenAI API-compatible &#8230; <a title=\"Pipelines\" class=\"read-more\" href=\"https:\/\/open-webui.com\/pipelines\/\" aria-label=\"Read more about Pipelines\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":45,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[11,12],"class_list":["post-44","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogs","tag-open-webui","tag-pipelines"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pipelines - Open WebUI<\/title>\n<meta name=\"description\" content=\"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/open-webui.com\/pipelines\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pipelines - Open WebUI\" \/>\n<meta property=\"og:description\" content=\"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/open-webui.com\/pipelines\/\" \/>\n<meta property=\"og:site_name\" content=\"Open WebUI\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-21T06:15:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1720\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"community\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"community\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/open-webui.com\/pipelines\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/\"},\"author\":{\"name\":\"community\",\"@id\":\"https:\/\/open-webui.com\/#\/schema\/person\/5ce71ace6d6ed3faebdff30c34d38ea0\"},\"headline\":\"Pipelines\",\"datePublished\":\"2024-09-21T06:15:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/\"},\"wordCount\":547,\"publisher\":{\"@id\":\"https:\/\/open-webui.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png\",\"keywords\":[\"Open WebUI\",\"Pipelines\"],\"articleSection\":[\"blogs\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/open-webui.com\/pipelines\/\",\"url\":\"https:\/\/open-webui.com\/pipelines\/\",\"name\":\"Pipelines - Open WebUI\",\"isPartOf\":{\"@id\":\"https:\/\/open-webui.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png\",\"datePublished\":\"2024-09-21T06:15:55+00:00\",\"description\":\"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!\",\"breadcrumb\":{\"@id\":\"https:\/\/open-webui.com\/pipelines\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/open-webui.com\/pipelines\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/open-webui.com\/pipelines\/#primaryimage\",\"url\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png\",\"contentUrl\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png\",\"width\":1720,\"height\":450,\"caption\":\"Open WebUI Pipelines\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/open-webui.com\/pipelines\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/open-webui.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pipelines\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/open-webui.com\/#website\",\"url\":\"https:\/\/open-webui.com\/\",\"name\":\"Open WebUI\",\"description\":\"User-friendly UI for LLMs\",\"publisher\":{\"@id\":\"https:\/\/open-webui.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/open-webui.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/open-webui.com\/#organization\",\"name\":\"Open WebUI\",\"url\":\"https:\/\/open-webui.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/open-webui.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/cropped-Open-WebUI-icon-1.png\",\"contentUrl\":\"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/cropped-Open-WebUI-icon-1.png\",\"width\":512,\"height\":325,\"caption\":\"Open WebUI\"},\"image\":{\"@id\":\"https:\/\/open-webui.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/github.com\/open-webui\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/open-webui.com\/#\/schema\/person\/5ce71ace6d6ed3faebdff30c34d38ea0\",\"name\":\"community\",\"sameAs\":[\"https:\/\/open-webui.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pipelines - Open WebUI","description":"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/open-webui.com\/pipelines\/","og_locale":"en_US","og_type":"article","og_title":"Pipelines - Open WebUI","og_description":"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!","og_url":"https:\/\/open-webui.com\/pipelines\/","og_site_name":"Open WebUI","article_published_time":"2024-09-21T06:15:55+00:00","og_image":[{"width":1720,"height":450,"url":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png","type":"image\/png"}],"author":"community","twitter_card":"summary_large_image","twitter_misc":{"Written by":"community","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/open-webui.com\/pipelines\/#article","isPartOf":{"@id":"https:\/\/open-webui.com\/pipelines\/"},"author":{"name":"community","@id":"https:\/\/open-webui.com\/#\/schema\/person\/5ce71ace6d6ed3faebdff30c34d38ea0"},"headline":"Pipelines","datePublished":"2024-09-21T06:15:55+00:00","mainEntityOfPage":{"@id":"https:\/\/open-webui.com\/pipelines\/"},"wordCount":547,"publisher":{"@id":"https:\/\/open-webui.com\/#organization"},"image":{"@id":"https:\/\/open-webui.com\/pipelines\/#primaryimage"},"thumbnailUrl":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png","keywords":["Open WebUI","Pipelines"],"articleSection":["blogs"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/open-webui.com\/pipelines\/","url":"https:\/\/open-webui.com\/pipelines\/","name":"Pipelines - Open WebUI","isPartOf":{"@id":"https:\/\/open-webui.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/open-webui.com\/pipelines\/#primaryimage"},"image":{"@id":"https:\/\/open-webui.com\/pipelines\/#primaryimage"},"thumbnailUrl":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png","datePublished":"2024-09-21T06:15:55+00:00","description":"Open WebUI Pipelines bring modular, customizable workflows to any UI client supporting OpenAI API specs \u2013 and much more!","breadcrumb":{"@id":"https:\/\/open-webui.com\/pipelines\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/open-webui.com\/pipelines\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/open-webui.com\/pipelines\/#primaryimage","url":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png","contentUrl":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/Open-WebUI-Pipelines.png","width":1720,"height":450,"caption":"Open WebUI Pipelines"},{"@type":"BreadcrumbList","@id":"https:\/\/open-webui.com\/pipelines\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/open-webui.com\/"},{"@type":"ListItem","position":2,"name":"Pipelines"}]},{"@type":"WebSite","@id":"https:\/\/open-webui.com\/#website","url":"https:\/\/open-webui.com\/","name":"Open WebUI","description":"User-friendly UI for LLMs","publisher":{"@id":"https:\/\/open-webui.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/open-webui.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/open-webui.com\/#organization","name":"Open WebUI","url":"https:\/\/open-webui.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/open-webui.com\/#\/schema\/logo\/image\/","url":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/cropped-Open-WebUI-icon-1.png","contentUrl":"https:\/\/open-webui.com\/wp-content\/uploads\/2024\/09\/cropped-Open-WebUI-icon-1.png","width":512,"height":325,"caption":"Open WebUI"},"image":{"@id":"https:\/\/open-webui.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/github.com\/open-webui"]},{"@type":"Person","@id":"https:\/\/open-webui.com\/#\/schema\/person\/5ce71ace6d6ed3faebdff30c34d38ea0","name":"community","sameAs":["https:\/\/open-webui.com"]}]}},"_links":{"self":[{"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":1,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":46,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/posts\/44\/revisions\/46"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/media\/45"}],"wp:attachment":[{"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/media?parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/categories?post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/open-webui.com\/wp-json\/wp\/v2\/tags?post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}