パイプライン: UI非依存のOpenAI APIプラグインフレームワーク
以下の場合はパイプラインを使用しないでください!
追加のプロバイダー(Anthropicなど)のサポートを追加したり、基本的なフィルターを使用したりすることが目的である場合、パイプラインは必要ない可能性があります。その場合、Open WebUI Functionsの方が適しており、組み込みで非常に便利で、簡単に設定できます。しかし、パイプラインは、大規模なモデルや複雑なロジックを実行するなどの計算負荷の高いタスクを扱う場合に登場し、主要なOpen WebUIインスタンスの性能とスケーラビリティを向上させるためにオフロードする必要があります。
パイプラインへようこそ!これはOpen WebUI の取り組みであり、OpenAI API仕様をサポートする任意のUIクライアントにモ ジュール型のカスタマイズ可能なワークフローを提供します – さらに多くのことができます!少しのコードを追加するだけで、機能を簡単に拡張し、独自のロジックを統合し、動的なワークフローを作成できます。
🚀 パイプラインを選ぶ理由
- 可能性は無限: AIエージェントから家庭の自動化APIまで、Pythonライブラリを簡単に統合し、独自のロジックを追加できます。
- シームレスな統合: OpenAI API仕様をサポートする任意のUI/クライアントと互換性があります。(パイプタイプのパイプラインのみサポートされ、フィルタータイプはパイプラインをサポートするクライアントが必要です。)
- カスタムフック: カスタムパイプラインを作成して統合。
達成できる例:
- 関数呼び出しパイプライン: 関数呼び出しを容易にし、独自のロジックを使用してアプリケーションを強化。
- カスタムRAGパイ プライン: 必要に合わせた洗練された情報検索生成(RAG)パイプラインを実装。
- Langfuseを使用したメッセージ監視: Langfuseを使用してリアルタイムでメッセージのやり取りを監視・分析。
- レート制限フィルター: リクエストの流れを制御し、レート制限を超えるのを防止。
- LibreTranslateによるリアルタイム翻訳フィルター: LLMインタラクションにリアルタイム翻訳をシームレスに統合。
- 有害メッセージフィルター: 有害メッセージを効果的に検出し対処するフィルターを実装。
- さらに多く!: パイプラインとPythonで可能性は無限。あなたのプロジェクトを迅速に開始し、開発プロセスを簡素化する方法を見るために スキャフォールドをチェック してください!
🔧 仕組み
OpenAI API互換の任意のUIクライアントとパイプラインを統合するのは簡単です。パイプラインインスタンスを起動し、クライアントのOpenAI URLをパイプラインのURLに設定するだけです。それで完了です!任意のPythonライブラリをニーズに合わせて活用できます。
⚡ Dockerを使ったクイックスタート
パイプラインは任意のコードを実行できるプラグインシステムです — 信頼できないソースからランダムなパイプラインを取得しないでください。
Dockerを使った簡便なセットアップの場合:
-
パイプラインコンテナを実行:
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ベース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をコピー&ペーストして直接インストールすることもできます。
それでは以上です!これで簡単にカスタマイズ可能なAI統合をPipelinesで構築できます。お楽しみください!
📦 インストールとセットアップ
Pipelinesを簡単な手順で始めましょう:
-
Python 3.11がインストールされていることを確認してください。 公式にサポートされている唯一のPythonバージョンです。
-
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に設定してください。これにより、Pythonライブラリを統合し、必要に応じてカスタムワークフローを作成するPipelinesのフル機能が解放されます。