メインコンテンツまでスキップ
Sponsored by Open WebUI
Open WebUI
The top banner spot is reserved for Emerald+ Enterprise sponsors

パイプラインロゴ

パイプライン: UI非依存のOpenAI APIプラグインフレームワーク

警告

以下の場合はパイプラインを使用しないでください!

追加のプロバイダー(Anthropicなど)のサポートを追加したり、基本的なフィルターを使用したりすることが目的である場合、パイプラインは必要ない可能性があります。その場合、Open WebUI Functionsの方が適しており、組み込みで非常に便利で、簡単に設定できます。しかし、パイプラインは、大規模なモデルや複雑なロジックを実行するなどの計算負荷の高いタスクを扱う場合に登場し、主要なOpen WebUIインスタンスの性能とスケーラビリティを向上させるためにオフロードする必要があります。

パイプラインへようこそ!これはOpen WebUI の取り組みであり、OpenAI API仕様をサポートする任意のUIクライアントにモジュール型のカスタマイズ可能なワークフローを提供します – さらに多くのことができます!少しのコードを追加するだけで、機能を簡単に拡張し、独自のロジックを統合し、動的なワークフローを作成できます。

🚀 パイプラインを選ぶ理由

  • 可能性は無限: AIエージェントから家庭の自動化APIまで、Pythonライブラリを簡単に統合し、独自のロジックを追加できます。
  • シームレスな統合: OpenAI API仕様をサポートする任意のUI/クライアントと互換性があります。(パイプタイプのパイプラインのみサポートされ、フィルタータイプはパイプラインをサポートするクライアントが必要です。)
  • カスタムフック: カスタムパイプラインを作成して統合。

達成できる例:

🔧 仕組み

パイプラインのワークフロー

OpenAI API互換の任意のUIクライアントとパイプラインを統合するのは簡単です。パイプラインインスタンスを起動し、クライアントのOpenAI URLをパイプラインのURLに設定するだけです。それで完了です!任意のPythonライブラリをニーズに合わせて活用できます。

⚡ Dockerを使ったクイックスタート

警告

パイプラインは任意のコードを実行できるプラグインシステムです — 信頼できないソースからランダムなパイプラインを取得しないでください

Dockerを使った簡便なセットアップの場合:

  1. パイプラインコンテナを実行:

    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ベースURLフィールド内にアイコンが表示されます。アイコンにマウスを乗せると、ラベルに Pipelines と表示されます。これでパイプラインが有効になります。
備考

Open WebUIがDockerコンテナ内で実行されている場合、API URL内のlocalhosthost.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をコピー&ペーストして直接インストールすることもできます。

それでは以上です!これで簡単にカスタマイズ可能なAI統合をPipelinesで構築できます。お楽しみください!

📦 インストールとセットアップ

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に設定してください。これにより、Pythonライブラリを統合し、必要に応じてカスタムワークフローを作成するPipelinesのフル機能が解放されます。

📂 ディレクトリ構造と例

/pipelinesディレクトリは設定のコアです。新しいモジュールを追加したり、既存のものをカスタマイズしたりして、ここでワークフローを管理できます。サーバーが起動するときに、/pipelinesディレクトリ内のすべてのパイプラインが自動的にロードされます

PIPELINES_DIR環境変数を使用して、このディレクトリを/pipelines以外の場所に変更することができます。

統合例

https://github.com/open-webui/pipelines/blob/main/examplesディレクトリにさまざまな統合例があります。これらの例は、さまざまな機能を統合する方法を示しており、独自のカスタムパイプラインを構築するための基盤を提供します。

🎉 作業中の進展

私たちは継続的に進化しています!ぜひあなたのフィードバックをお聞かせください。どのフックや機能があなたのユースケースに適しているかを理解したいと思っています。お気軽に連絡を取り、Open WebUIコミュニティの一員になりましょう!

私たちのビジョンは、PipelinesをAIインターフェースの究極のプラグインフレームワークに進化させることです。Open WebUIをAIインターフェースのWordPressと見立てて、Pipelinesをその多様なプラグイン群と考えています。このエキサイティングな旅にぜひご参加ください! 🌍