이 기능은 Python SDK를 통해서만 접근할 수 있습니다.
일부 조직은 대규모 언어 모델(LLM) 워크플로우에서 이름, 전화번호, 이메일 주소와 같은 개인 식별 정보(PII)를 처리합니다. 이 데이터를 Weights & Biases(W&B) Weave에 저장하면 규정 준수 및 보안 위험이 발생할 수 있습니다. 민감한 데이터 보호 기능을 사용하면 trace에서 개인 식별 정보(PII)를 Weave 서버로 보내기 전에 자동으로 수정할 수 있습니다. 이 기능은 Microsoft Presidio를 Weave Python SDK에 통합하므로 SDK 수준에서 수정 설정을 제어할 수 있습니다. 민감한 데이터 보호 기능은 Python SDK에 다음과 같은 기능을 도입합니다:
  • PII 수정을 활성화하기 위해 redact_pii 설정을 weave.init 호출에서 켜거나 끌 수 있습니다.
  • 다음의 자동 수정 일반적인 엔티티redact_pii = True.
  • 구성 가능한 redact_pii_fields 설정을 사용하여 사용자 정의 수정 필드.

PII 수정 활성화

Weave에서 민감한 데이터 보호 기능을 시작하려면 다음 단계를 완료하세요:
  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 종속성으로 인해 수정을 활성화하면 처리 시간이 증가합니다.