JA ▾
API キーを取得

Open WebUI と n8n:チャットを無検閲 API に接続

Open WebUI はチャットウィンドウを提供し、n8n は自動化を提供し、どちらも同じ OpenAI 互換エンドポイントを使用できます。以下にそれぞれの設定方法と、n8n ワークフローからのチャット方法を説明します。

更新日:

1つのAPIサーバーにケーブルで接続されたチャットウィンドウとワークフローボード。Open WebUI と n8n がエンドポイントを共有している様子

主要ポイント

  1. Open WebUI では、管理者設定、接続にベース URL とキーを追加するか、Docker で2つの環境変数を設定します。
  2. n8n では、OpenAI 資格情報のベース URL を上書きするか、HTTP リクエストノードを使用します。
  3. 両方のツールでモデル ID は uncensored を使用します。
  4. n8nのループを8件の同時リクエスト未満に保ち、429応答に対して再試行を有効にします。

セットアップ内容

openwebui n8n でチャットする方法と入力してこのページに到達した場合は、おそらく2つの関連する作業を行っています:Open WebUIでモデルとチャットすること、およびn8nワークフローから同じモデルを呼び出すことです。両方のツールはOpenAIチャット完了形式に従う任意のサーバーを指すことができるため、1つのアカウントで両方をカバーできます。

Open WebUI は自己ホスト型のチャットインターフェースです。n8n はノードを接続するワークフロー自動化ツールです。背後の API はどちらも同じです:

  • ベース URL: https://api.nofilteraichat.com/v1
  • モデルID: uncensored
  • Auth: キーを保持するAuthorization: Bearerヘッダー

まずキーが必要です。APIキーページでは、登録とワンクリックの$0.50トライアルクレジットの手順を示しており、これは以下のすべてのテストに十分です。

パート1:Open WebUI

オプションA:管理パネル

Open WebUI がすでに実行中の場合、管理者としてログインし、管理者設定、次に接続を開きます。次の値で新しい OpenAI API 接続を追加します:

  1. URL: https://api.nofilteraichat.com/v1
  2. キー:API キー
  3. 保存し、バージョンに検証ボタンがある場合はそれを使用します。

メニュー名はリリースによって少し異なるため、OpenAI形式の接続を一覧表示するセクションを探してください。保存後、新しいチャットを開始し、モデルピッカーを開きます。Open WebUIはGET /v1/modelsからリストを取得するため、モデルuncensoredが表示されるはずです。

オプションB:Docker の環境変数

新規起動の場合は、コンテナ起動時に設定を渡します:

docker run -d --name open-webui -p 3000:8080 \
  -e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
  -e OPENAI_API_KEY="$NOFILTER_API_KEY" \
  -v open-webui:/app/backend/data \
  ghcr.io/open-webui/open-webui:main

http://localhost:3000を開き、最初のローカルアカウントを作成してください。そうすると、モデルがピッカーに待機状態として表示されます。Open WebUIは初回起動後に接続設定をデータベースに保存することに注意してください。後で変数を変更しても何も起こらない場合は、管理パネルで接続を編集してください。

チャットの調整

チャットコントロールでは、temperature、top_p、停止シーケンス、システムプロンプトを設定できます。これらはモデルに渡されます。フィクションとロールプレイには、temperature を 0.7 から 1.0 の間に設定すると、より生き生きした文章になります。事実に基づく質問には低く設定します。モデルがフレーズの繰り返しを始めたら、頻度ペナルティを少し上げます。

パート2:OpenAI ノード付きの n8n

n8n にはネイティブの OpenAI 資格情報があります。その設定には Base URL フィールドが含まれており、デフォルトは公式サーバーです。これを変更すると、ノードはエンドポイントに接続します:

  1. n8n で OpenAI タイプの新しい資格情報を作成します。
  2. API キーを貼り付けます。
  3. Base URL を https://api.nofilteraichat.com/v1 に設定します。
  4. 保存し、資格情報を OpenAI Chat Model ノードまたは AI Agent ワークフローにアタッチします。

注意点としてモデルフィールドがあります。一部のノードはモデルリストから埋められたドロップダウンを表示し、一部のノードは既知の名前への選択を制限します。uncensored を選択できない場合は、フィールドを式モードに切り替えて手動で ID を入力します。n8n のバージョンがそれでも拒否する場合は、次のセクションの HTTP リクエストアプローチを使用してください。これにはそのような制限がありません。

認証が動作すれば、チャットモデルをAI Agentノードに接続しツールを付与できます。APIはtools、tool_choice、role: "tool"形式の結果をサポートします。オープンウェイトモデルとして、実データでエージェントをテストし、ツール説明は簡潔にしてください。

パート3:HTTP リクエストノードからのチャット

最も予測可能なオプションはプレーンな HTTP リクエストノードです。送信される内容が明確に表示され、すべての n8n バージョンで動作します。ノードを次のように構成します:

  • メソッド:POST
  • URL: https://api.nofilteraichat.com/v1/chat/completions
  • 認証: ヘッダー認証。名前はAuthorization、値はBearer YOUR_KEYです(ノード内ではなく、資格情報として保存してください)。
  • 本文送信:オン、コンテンツタイプ JSON

本文を以下に設定し、ユーザーテキストには式を使用します:

{
  "model": "uncensored",
  "messages": [
    { "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
    { "role": "user", "content": "{{ $json.prompt }}" }
  ],
  "temperature": 0.8,
  "max_tokens": 600
}

応答テキストはchoices[0].message.contentに格納されます。次のノードでは、{{ $json.choices[0].message.content }}という式で読み取ってください。同じ応答にはusageブロックも含まれているため、トークン数をシートやデータベースに記録できます。

典型的なワークフローは、Webhook トリガー、この HTTP ノード、テキストを返す返信ノードです。もう1つの一般的なものは、スプレッドシートから行を読み取り、各行に対してドラフトを生成し、結果を書き戻すものです。n8n の外で curl を使用してリクエストをテストすることもできます:

curl https://api.nofilteraichat.com/v1/chat/completions \
  -H "Authorization: Bearer $NOFILTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'

n8n での制限、再試行、バッチ処理

フルキーは同時に 8 リクエスト、1 分間に 300 リクエストを許可します。試用キーは同時に 2、1 分間に 60 を許可します。n8n はノードが入力アイテムをすべて処理し、それらを迅速に発行するため、これらの数字を簡単に超える可能性があります。

HTTP RequestノードでOptionsを開き、バッチサイズを4〜6、間隔を1〜2秒に設定します。ノード設定でRetry On Failを3回、待機を5000msにします。これはAPIの動作に合致します:一時的に過負荷になった場合、Retry-After: 5ヘッダー付きのHTTP 429を返します。他の429コードはどの制限に達したかを示します:rate_limitedは1分あたりのリクエスト過多、concurrencyは同時リクエスト過多を意味します。

ストリーミングについて注記します。ストリーミングリクエストはストリームが終了するまで同時実行スロットを保持します。n8n では、ワークフローが全体の応答を待機するため、HTTP ノードでストリーミングをオフにしてください。Open WebUI はデフォルトでストリーミングしますが、これはチャットウィンドウに適切です。

ワークフローのコスト

ワークフローが500行を処理し、各行で800入力トークンを送信し、250出力トークンを取得すると仮定します。入力: 500 × 800 = 400,000トークン、コストは 400,000 × $0.15 / 1,000,000 = $0.06。出力: 500 × 250 = 125,000トークン、コストは 125,000 × $0.50 / 1,000,000 = $0.0625。合計コストは$0.1225、約12セントです。チャージについては料金ページをご覧ください。

トラブルシューティング

症状考えられる原因修正方法
Open WebUI にモデルが表示されないURL またはキーが間違っている/v1 で終わるベース URL を使用します。curl で GET /v1/models をテストします
Docker 環境変数の変更が無視される設定はすでに保存されています管理者設定で接続を編集します
n8n から 401ヘッダー値に Bearer という単語が含まれていません値はBearer、半角スペース、キーの順で入力してください
Docker 内の Open WebUI がローカルプロキシに到達できないlocalhost がコンテナを指しているlocalhost ではなくホストアドレスを使用してください
ループの途中で 429 エラーが発生する同時実行アイテムが多すぎるHTTP ノードをバッチ処理し、リトライを有効にする
モデルが見つからない名前が誤って入力されている唯一の ID は uncensored です

フローを設計する際は製品制限を覚えておいてください: テキストチャットのみ、プロンプトと返信で共有される100,000トークンのコンテキストウィンドウ、8 MBのリクエストボディ。エンベディングエンドポイントはないため、ベクトル検索は別のサービスで維持してください。クイックスタートに完全なリクエストリファレンスがあり、統合ガイドではより多くのフロントエンドをカバーしています。APIを介して送信されたプロンプトはトレーニングには使用されません。

この厳格なルールはすべてのツールに適用されます:未成年者を含む性的コンテンツは禁止です。法的な成人利用の範囲内では、モデルはコンテンツ拒否なしで回答するようにチューニングされており、フィクション、ロールプレイ、成人向けコンパニオンアプリに適しています。

質問と回答

Open WebUI にカスタム OpenAI エンドポイントを追加するには?

管理者設定、接続に移動し、ベース URL と API キーを使用して OpenAI API 接続を追加します。または、Docker コンテナ起動時に OPENAI_API_BASE_URL と OPENAI_API_KEY を設定します。

n8n は OpenAI ノードに異なるベース URL を使用できますか?

はい。OpenAI資格情報にはBase URLフィールドがあります。モデルドロップダウンでuncensoredが拒否される場合は、式モードで入力するか、HTTP Requestノードを使用してください。

n8n のループで 429 エラーが発生するのはなぜですか?

フルキーで、8つの同時リクエスト以上または1分あたり300リクエスト以上を送信しています。HTTPノードにバッチ処理を追加し、失敗時のリトライを有効にしてください。

Open WebUI と n8n で同じキーを同時に使用できますか?

はい、ただし両方のツールは8件の同時リクエストという一つの制限を共有するため、チャット中はワークフローのバッチを小さく保ってください。

キーはフォームを1つ埋めるだけで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これでセットアップは完了です。

API キーを取得