ホームへ戻る

LLMOps、代理介面與安全

Open WebUI 0.11.2、モデルリクエストごとのフィルターを追加し、インスタンス間の停止処理とストリーミングのボトルネックを修正

Open WebUIの新バージョンでは、ツール実行後の後続リクエストを含め、拡張機能がモデル呼び出しの直前に毎回payloadを変更できるようになった。また、Redisを使用するマルチworker構成の負荷も軽減されたが、同時に行われたセキュリティおよびアクセス制御の修正内容は完全には公開されていない。

Benlisquare · Apache License 2.0 · Image source
zh-Hant

Open WebUI 0.11.2では、フィルターのライフサイクルに新たな`request`ステージが追加された。既存の`inlet`、`stream`、`outlet`とは異なり、モデルが呼び出されるたびに、その直前の最終的なpayloadを受け取る。エージェントがツール呼び出しを完了した後に送信する後続の推論リクエストも、再びこのステージを通過する。これにより、企業環境ではモデルゲートウェイにより近い位置でテナント情報を注入したり、機密フィールドを削除したり、モデルルーティングポリシーを適用したりできる。一方、カスタムフィルターにはプロンプトやツールコンテキストを変更するための、より大きな権限が与えられるため、アップグレード時には拡張機能を再レビューすべきだ。

分散実行も重要な改善点だ。これまでは、複数のOpen WebUIインスタンスとRedisクラスターを使用している場合、ユーザーが停止ボタンを押しても、リクエストを処理している別のインスタンスを中断できないことがあった。0.11.2では、キャンセルシグナルがインスタンスをまたいで機能するようになった。WebSocket経路では、古いセッションのクリーンアップ、自身の状態をRedisから繰り返し読み戻す処理、各出力に対して存在しない添付ファイルを確認する処理も削減された。モデル一覧に変更がない場合、各workerが共有キャッシュを書き直すこともなくなった。

エージェントストリーミングについては、Anthropic互換クライアントが大きなツール引数を送信する際、データが完全にそろった可能性が高くなるまで解析を遅らせるようになった。これにより、小さな断片を受信するたびにコストの高い検証をやり直すことを回避する。また、推論モデルが処理途中でフリーズする問題、ツール使用後の思考テキストが通常の回答に漏れる問題、拒否された`ask_user`によって応答全体が終了する問題も修正された。これらの変更は単なるインターフェース更新ではなく、長時間のツール呼び出しや複数ステップのエージェント処理の実用性に直接影響する。

メンテナーは、このリリースにセキュリティおよびアクセス制御の修正も含まれると述べているが、一部の詳細は一時的に非公開としており、本番環境では早急なアップグレードを推奨している。完全な脆弱性一覧はまだ公開されていないため、管理者はまずデータベースをバックアップし、テスト環境でSSO、ツールサーバー、カスタムfilterを検証したうえで、今後の告知を監視すべきだ。PyPIパッケージにはTrusted PublishingとSigstore provenanceが提供されており、公開ハッシュを使ってデプロイ成果物を固定できるが、これはアプリケーション層のセキュリティ検証と同等ではない。

出典

  1. Open WebUI v0.11.2 release notes
  2. open-webui 0.11.2 package and provenance
  3. Open WebUI v0.11.2 release mirror