メインコンテンツまでスキップ

🔗 Open WebUI統合

概要

Open WebUI v0.6+はOpenAPIサーバーを介して外部ツールとのシームレスな統合をサポートしており、カスタムまたはコミュニティ提供のツールサーバーを使用してLLMワークフローを簡単に拡張することが可能です🧰。

このガイドでは、OpenAPI互換のツールサーバーを起動し、直感的なユーザーインターフェースを通じてOpen WebUIに接続する方法を学びます。それでは始めましょう!🚀


ステップ1: OpenAPIツールサーバーを起動する

まず、openapi-serversリポジトリで利用可能な参考ツールサーバーのいずれかを起動する必要があります。簡単なテストのために、今回はタイムツールサーバーを例として使用します。

🛠️ 例: ローカルでtimeサーバーを起動する

git clone https://github.com/open-webui/openapi-servers
cd openapi-servers

# タイムサーバーに移動
cd servers/time

# 必要な依存関係をインストール
pip install -r requirements.txt

# サーバーを起動
uvicorn main:app --host 0.0.0.0 --reload

これを実行すると、ローカルOpenAPIサーバーがhttp://localhost:8000でホストされ、Open WebUIを指すことができます。

タイムサーバー


ステップ2: Open WebUIでツールサーバーを接続する

次に、起動中のツールサーバーをOpen WebUIに接続します:

  1. ブラウザでOpen WebUIを開きます。
  2. ⚙️ 設定 を開きます。
  3. ツール をクリックして新しいツールサーバーを追加します。
  4. OpenAPIツールサーバーが実行されているURLを入力します (例: http://localhost:8000)。
  5. 「保存」をクリックします。

設定ページ

🧑‍💻 ユーザーツールサーバー vs. 🛠️ グローバルツールサーバー

Open WebUIでは、ツールサーバーを登録する方法が2種類あります:

1. ユーザーツールサーバー (通常の設定を介して追加)

  • 登録したユーザーのみがツールサーバーにアクセスできます。
  • 接続はユーザーによってブラウザ (クライアント側) から直接行われます。
  • 個人のワークフローやカスタム/ローカルツールのテストに最適です。

2. グローバルツールサーバー (管理者設定を介して追加)

管理者は、全体の展開にわたってすべてのユーザーまたは選択したユーザーが利用可能な共有ツールサーバーを管理できます:

  • 🛠️ 管理者設定 > ツール に移動します。
  • ユーザー設定と同様にツールサーバーURLを追加します。
  • これらのツールは、Open WebUIの組み込みツールと同様に扱われます。

👉 オプション: mcpoで構成ファイルを使用する場合

mcpoで構成ファイルを使用して複数のツールを実行している場合は、次の点に注意してください:

🧩 各ツールは独自のユニークなパスにマウントされています!

例えば、mcpoを使用してメモリとタイムツールを同時に使用している場合、それぞれ個別のルートで利用可能になります:

つまり:

  • Open WebUIでツールを接続する際には、その特定のツールへの完全なルートを入力する必要があります — ルートURL (http://localhost:8000) のみを入力しないでください。
  • 各ツールをOpen WebUI設定で個別に追加し、それぞれのサブパスURLを使用してください。

MCPO構成ツール設定

✅ 正しい例:

http://localhost:8000/time http://localhost:8000/memory

🚫 無効な例:

http://localhost:8000

これにより、Open WebUIが各ツールサーバーを正しく認識し、通信できるようになります。


ステップ3: ツールサーバーが接続されていることを確認する ✅

ツールサーバーが正常に接続されると、Open WebUIはメッセージ入力エリアに👇ツールサーバーインジケータを表示します:

📍 入力ボックスの下部に次のアイコンが表示されるようになります:

ツールサーバーインジケータ

このアイコンをクリックするとポップアップが開き、以下が可能です:

  • 接続されたツールサーバーの情報を表示
  • 利用可能なツールとそれを提供しているサーバーを確認
  • 必要に応じてツールのデバッグや切断

🔍 ツール情報モーダルは以下のようになります:

ツール情報モーダル展開

🛠️ グローバルツールサーバーは異なります — デフォルトで非表示になっています!

グローバルツールサーバー (管理者設定済み) を接続している場合、ユーザーツールサーバーのように入力エリアに自動的に表示されません。

代わりに:

  • グローバルツールはデフォルトで非表示であり、ユーザーごとに個別にアクティブ化する必要があります。
  • それらを有効にするには、メッセージ入力エリア (チャットボックスの左下) にある➕ボタンをクリックして、使用したい特定のグローバルツールを手動でオンにします。

次のように表示されます:

グローバルツールサーバーメッセージ入力

⚠️ グローバルツールサーバーに関する重要な注意点:

  • ➕メニューから有効化されるまでツールインジケータポップアップには表示されません。
  • 各グローバルツールは現在のチャット内でアクティブになるために個別にオンにする必要があります。
  • 一度オンにすると、ユーザーツールと同じように機能します。
  • 管理者は役割ベースの権限を介してグローバルツールへのアクセスを制御できます。

これは、一般的に使用されるツール(例: ドキュメント検索、メモリ、ウェブ検索)を複数のユーザーによって中央で利用可能にする、チーム設定や共有環境に理想的です。


(オプション)ステップ4:「ネイティブ」機能呼び出し(ReACTスタイル)ツール使用 🧠

備考

これを効果的に機能させるには、選択したモデルがネイティブツール呼び出しをサポートしている必要があります。一部のローカルモデルはサポートを主張していますが、しばしば結果が良くありません。最良の体験を得るには、GPT-4oまたはネイティブ機能呼び出しをサポートする他のOpenAIモデルを強くお勧めします。

会話の中で直接ReACTスタイル(推論+行動)のネイティブ機能呼び出しを有効にしたいですか?Open WebUIをネイティブ機能呼び出しに切り替えることができます。

✳️ ネイティブ機能呼び出しを有効にする方法:

  1. チャットウィンドウを開きます。
  2. ⚙️ Chat Controls > Advanced Paramsに移動します。
  3. Function CallingパラメータをDefaultからNativeに変更します。

ネイティブツール呼び出し


もっとツールが必要ですか?探索して拡張しましょう! 🧱

openapi-serversリポジトリには、役立つ参考サーバーが多数含まれています:

  • 📂 ファイルシステムアクセス
  • 🧠 メモリと知識グラフ
  • 🗃️ Gitリポジトリブラウズ
  • 🌎 ウェブ検索(進行中)
  • 🛢️ データベースクエリ(進行中)

これらを同じ方法で実行し、上記の手順を繰り返すことでOpen WebUIに接続できます。


トラブルシューティングとヒント 🧩

  • ❌ 接続できませんか?URLが正しく、Open WebUIを実行するブラウザからアクセス可能であることを確認してください。
  • 🔒 リモートサーバーを使用している場合は、ファイアウォールとHTTPS構成を確認してください!
  • 📝 サーバーを永続化するために、Dockerやシステムサービスでデプロイすることを検討してください。

助けが必要ですか?👉 ディスカッションページを訪れるか、問題を開くことができます。