この機能はPython SDKからのみアクセス可能です。
一部の組織では、大規模言語モデル(LLM)ワークフローで名前、電話番号、メールアドレスなどの個人を特定できる情報(PII)を処理しています。このデータをWeights & Biases(W&B)Weaveに保存すると、コンプライアンスとセキュリティのリスクが生じます。 この機密データ保護機能を使用すると、個人を特定できる情報(PII)をtraceからWeaveサーバーに送信される前に自動的に編集できます。この機能はMicrosoft PresidioをWeave Python SDKに統合しており、SDK レベルで編集設定を制御できます。 機密データ保護機能は、Python SDKに以下の機能を導入します:
  • PII編集を有効にするためのredact_pii設定。これはweave.init呼び出しでオンまたはオフに切り替えることができます。
  • 以下の場合の一般的なエンティティの自動編集:redact_pii = True
  • 設定可能なredact_pii_fields設定を使用したカスタマイズ可能な編集フィールド。

PII編集を有効にする

WeaveでPII保護機能を使い始めるには、以下の手順を完了してください:
  1. 必要な依存関係をインストールします:
    pip install presidio-analyzer presidio-anonymizer
    
  2. 編集を有効にするためにweave.init呼び出しを変更します。redact_pii=Trueの場合、一般的なエンティティはデフォルトで編集されます:
    import weave
    
    weave.init("my-project", settings={"redact_pii": True})
    
  3. (オプション) 以下を使用して編集フィールドをカスタマイズ redact_pii_fields parameter:
    weave.init("my-project", settings={"redact_pii": True, "redact_pii_fields":["CREDIT_CARD", "US_SSN"]})
    
    検出および編集できるエンティティの完全なリストについては、以下を参照してください PresidioでサポートされているPIIエンティティ.

デフォルトで編集されるエンティティ

PII編集が有効になっている場合、以下のエンティティは自動的に編集されます:
  • CREDIT_CARD
  • CRYPTO
  • EMAIL_ADDRESS
  • ES_NIF
  • FI_PERSONAL_IDENTITY_CODE
  • IBAN_CODE
  • IN_AADHAAR
  • IN_PAN
  • IP_ADDRESS
  • LOCATION
  • PERSON
  • PHONE_NUMBER
  • UK_NHS
  • UK_NINO
  • US_BANK_NUMBER
  • US_DRIVER_LICENSE
  • US_PASSPORT
  • US_SSN

以下を使用した機密キーの編集 REDACT_KEYS

PII編集に加えて、Weave SDKは REDACT_KEYS を使用したカスタムキーの編集もサポートしています。これは、PIIカテゴリには該当しないが、プライベートに保持する必要がある追加の機密データを保護したい場合に役立ちます。例えば:
  • APIキー
  • 認証ヘッダー
  • トークン
  • 内部ID
  • 設定値

事前定義された REDACT_KEYS

Weaveは、デフォルトで以下の機密キーを自動的に編集します:
[
  "api_key",
  "auth_headers",
  "authorization"
]

独自のキーを追加する

トレースから編集したい独自のカスタムキーでこのリストを拡張できます:
import weave

client = weave.init("my-project")

# Add custom keys to redact
weave.trace.sanitize.REDACT_KEYS.add("client_id")
weave.trace.sanitize.REDACT_KEYS.add("whatever_else")

client_id = "123"
whatever_else = "456"

@weave.op()
def test():
    a = client_id
    b = whatever_else
    return 1
Weave UIで表示すると、client_idwhatever_else の値は "REDACTED"
client_id = "REDACTED"
whatever_else = "REDACTED"

使用情報

  • この機能はPython SDKでのみ利用可能です。
  • 編集を有効にすると、Presidioの依存関係により処理時間が増加します。