0:00 0:00
Article
OpenAI Privacy Filterで作るスケーラブルなPII検出Webアプリ:Hugging Faceがgradio.Server活用の実践例を公開
Hugging Faceは2026年4月27日、OpenAIがApache 2.0で公開した1.5BパラメータのPII検出モデル「Privacy Filter」を使い、ドキュメントPII可視化・画像匿名化・ペーストボックスの3種のWebアプリを構築する手順を公開しました。gradio.Serverのキュー付きAPIと静的エンドポイントを使い分けるパターンが軸です。
OpenAIのPrivacy FilterをWebアプリに組み込む実践記事
Hugging Face Blogは2026年4月27日、OpenAIが公開したPII(個人を特定しうる情報)検出モデル「Privacy Filter」を使ったスケーラブルなWebアプリの作り方を解説する記事を公開しました。
Privacy Filterは1.5Bパラメータ(active 50M)の検出モデルで、128kコンテキストを単一フォワードパスで処理しながらテキスト全体に対して8カテゴリのラベルを付けます。検出対象はprivate_person、private_address、private_email、private_phone、private_url、private_date、account_number、secretの8種類で、ライセンスはApache 2.0で公開されています。
ライセンスが寛容で、長文を一発でチャンク分割せずに扱えるため、社内ドキュメントの匿名化や、ユーザー入力のサニタイズといった用途に組み込みやすい性質を持っています。
紹介されている3つのWebアプリパターン
記事はgradio.Serverを土台に、Privacy Filterを使った3種類のWebアプリを順に構築していきます。
| アプリ | 入力 | 出力 |
|---|---|---|
| Document Privacy Explorer | PDF・DOCXなどのドキュメント | カテゴリ別にハイライトされたPIIスパン |
| Image Anonymizer | 画像 | 検出PIIに黒塗りバーを重ねた匿名化画像(編集可能) |
| SmartRedact Paste | 機微テキストの貼り付け | 黒塗り版の公開URLと、原文を見るための非公開リンク |
3つに共通するのは、「PIIを検出して見せる/隠す/共有する」という流れを、用途別のUIで使い分けている点です。同じモデルでもUIを変えるだけで、社内ナレッジ共有、画像投稿サイト、ペーストボックスサービスなど多様な用途に派生できることを示すサンプル群になっています。

画像引用元: Hugging Face Blog
@server.apiと@server.getの使い分けがキモ
技術面で記事が一番強調しているのは、gradio.Serverの2種類のエンドポイントを使い分ける設計パターンです。
@server.apiデコレーター:モデル推論など、キューで直列化したい計算系エンドポイントに使う@server.get/@server.post:HTMLページの返却、ファイル参照、軽量な参照系など、静的・低コストな処理に使う
PII検出のようにGPUを使う処理は、リクエストが集中したときにキューイングして並列度を制御しないとサーバーが落ちるため、@server.api側で扱います。一方、ドキュメント表示や匿名化済みファイルの取得などは静的扱いでよく、キューに乗せる必要がありません。
この使い分けを最初に決めておくと、同じエンドポイントをブラウザの@gradio/clientからもPython側のgradio_clientからも呼び出せるため、Webアプリと自動化スクリプトの両方で同じバックエンドを再利用できます。
単一128kパスとBIOESデコーディングの効き
実装上の注目ポイントが2つ紹介されています。
1つは、128kコンテキストを単一フォワードパスで処理することで、長文を分割して別々に判定したときに生じがちなスパンの取りこぼしや結合ミスを回避できる点です。チャンク分割方式では、チャンク境界をまたぐPII(例:氏名と住所が改行で分かれているケース)を取り逃しがちですが、その問題が起きにくくなります。
もう1つは、BIOES方式のデコーディングでスパン境界を綺麗に保つ点です。BIOESはB(Begin)、I(Inside)、O(Outside)、E(End)、S(Single)の5タグでスパンの始点・終点を明示する方式で、PII領域の「ここからここまで」を曖昧にしないために選ばれていると説明されています。
これら2点は、PII検出を「実用に耐えるサニタイザ」として組み込むうえで重要な要素です。社内ナレッジを匿名化したつもりが境界がずれて一部漏れていた、という事故を防ぐ実装上の工夫として参考になります。
Apache 2.0モデルとgradio.Serverの組み合わせは選択肢が広い
OpenAIがApache 2.0でPrivacy Filterを公開したこと自体が、企業の開発現場にとっては大きな話題です。プロプライエタリAPI経由でPIIを送る運用は、規制業界では採用しにくい場面が多いため、自社サーバーやVPC内に配置できるオープンウェイトのPII検出器は選択肢として強力です。
一方、Hugging Faceが今回の記事で取り上げたgradio.Serverは、PythonでWebアプリの土台と推論キューを同時に扱える点で、プロトタイプから本番運用までの距離を縮めるツールとして位置付けられます。両者を組み合わせることで、PII検出機能をAPI化し、ブラウザUIと外部ツールの両方から呼べる構成を比較的少ないコードで作れることが示されました。
社内文書の匿名化、ユーザー投稿のフィルタ、AIエージェントへの入力サニタイズなど、入口で個人情報を落とす用途は今後さらに増えると見られます。今回のチュートリアルは、その入口層を標準的でメンテしやすい構成で組むためのレファレンス実装として活用しやすそうです。
How to build scalable web apps with OpenAI's Privacy Filter
We’re on a journey to advance and democratize artificial intelligence through open source and open science.