OpenAIのPrivacy FilterでスケーラブルなWebアプリを構築する方法
この記事では、OpenAIが新たにリリースしたオープンソースのPrivacy Filterを使用して、3つのスケーラブルなWebアプリケーション(ドキュメントプライバシーエクスプローラー、画像匿名化ツール、スマートリダクトペースト)を構築する方法を紹介します。各アプリはモデルの異なる機能を示し、gradio.Serverを活用して効率的なバックエンド処理とカスタムフロントエンドを実現しています。
記事インテリジェンス
要点
- OpenAIがPrivacy Filterをリリース。128kコンテキストと8カテゴリをサポートするオープンソースのPII検出器。
- 3つのサンプルアプリ:ドキュメントプライバシーエクスプローラー、画像匿名化ツール、スマートリダクトペースト。
- すべてのアプリはgradio.Server上に構築され、カスタムHTML/JSフロントエンドとGradioのキューイング、ZeroGPU割り当てを組み合わせている。
- モデルパラメータ:1.5B(アクティブは50M)、PII-Masking-300kベンチマークで最先端の性能。
重要な理由
このニュースが重要なのは、OpenAIがPrivacy Filterをリリース。128kコンテキストと8カテゴリをサポートするオープンソースのPII検出器ためです。
技術的影響
モデル選定、推論コスト、プロダクト能力、評価基準に影響する可能性があります。
OpenAIは今週、Hugging Face HubでPrivacy Filterを公開しました。これは、128kコンテキスト内のテキストを1回のフォワードパスでラベル付けし、8つのカテゴリにわたる個人識別情報(PII)を検出するオープンソースモデルです。本記事では、このモデルを使用して3つのWebアプリケーションを構築し、それぞれがモデルの異なる側面を示しています。
モデルの概要
Privacy Filterは1.5Bパラメータのモデルで、アクティブパラメータは50M、ライセンスはApache 2.0です。PIIカテゴリには、個人、住所、メール、電話、URL、日付、アカウント番号、秘密が含まれます。コンテキスト長は128,000トークンで、PII-Masking-300kベンチマークで最先端の性能を達成しています。
アプリ1: ドキュメントプライバシーエクスプローラー
このアプリは、PDFやDOCXファイルをアップロードすると、検出されたPIIがカテゴリ別にハイライト表示され、サイドバーでフィルタリング、上部にサマリーダッシュボードが表示されます。Privacy Filterの128kコンテキストにより、チャンキングやステッチングが不要で、スパンオフセットがレンダリングテキストと直接一致します。gradio.Serverはカスタムリーダービューとキューイングされたエンドポイントを提供し、同時アップロードを直列化し、ZeroGPUと互換性を持たせます。
アプリ2: 画像匿名化ツール
ユーザーが画像(スクリーンショットなど)をアップロードすると、OCRでテキストを抽出し、Privacy FilterでPIIを検出、画像上に黒い矩形で覆います。キャンバス上で矩形の表示切り替え、ドラッグ、手動追加が可能で、エクスポートも行えます。gradio.Serverはモデル呼び出しを処理し、ピクセル座標を返します。すべてのインタラクションはブラウザ側で行われ、サーバーとの往復は発生しません。
アプリ3: スマートリダクトペースト
ユーザーが機密テキストを貼り付けると、2つのURLが生成されます。公開URLはPIIをプレースホルダーに置き換えた編集版を表示し、非公開URLはトークン認証により元のテキストをハイライト表示します。モデルが検出と置換を行い、gradio.ServerはFastAPIベースのカスタムルーティングを利用して、公開およびトークン制御のビューを提供します。サービス全体(ストレージを含む)は約200行のコードで実現されています。
gradio.Serverの役割
3つのアプリは同一のアーキテクチャを共有しています。モデル関連の計算は@server.apiデコレータでGradioキューに送られ、静的なページや軽量ルートは通常の@server.getや@server.postを使用します。この分離により、キューイング、ZeroGPU、クライアントSDKの一貫した体験が保証され、柔軟なフロントエンド実装が可能になります。
試してみる
読者は各アプリのプロトタイプリンクから実際に試すことができ、Privacy Filterが実際のテキストでどのように機能するかを観察できます。推奨読書として、OpenAIの公式リリースブログ、モデルカード、および関連する編集例があります。