다음을 통해 공유


Windows AI API를 사용하여 콘텐츠 안전 조정

Phi SilicaImaging과 같은 Windows AI API는 콘텐츠 조정을 사용하여 사용자 프롬프트 또는 생성 모델에서 반환된 응답에서 잠재적으로 유해한 콘텐츠를 분류하고 필터링합니다. 기본적으로 이러한 API는 잠재적으로 유해한 것으로 분류된 콘텐츠를 필터링하지만 민감도 수준을 구성할 수 있습니다.

API 세부 정보는콘텐츠 안전 조정에 대한 API 참조를 참조하세요.

필수 구성 요소

Windows AI API를 사용하여 앱 빌드 시작의 단계를 완료합니다.

콘텐츠 안전 조정

입력 프롬프트의 콘텐츠 조정을 생성 모델 및 AI 생성 출력으로 조정할 수 있습니다. Windows AI API 콘텐츠 조정은 Azure AI Content Safety에서 제공하는 것과 유사하게 설계 및 구현됩니다.

피해 범주

Windows AI API에서 지원하는 피해 범주는 Azure AI Content Safety에서 정의한 범주와 일치합니다. 피해 범주에는 증오와 공정성, 성적, 폭력자해 가 포함됩니다(여러 범주를 동일한 콘텐츠에 할당할 수 있습니다).

범주 묘사 API 이름
미워하다 이러한 그룹의 특정 구분 특성에 기반하여 개인 또는 정체성 그룹을 참조하여 차별적 언어를 공격하거나 사용하는 콘텐츠입니다. HateContentSeverity
성적인 해부학적 장기 및 생식기와 관련된 콘텐츠, 그리고 로맨틱한 관계 및 성적 행위는 에로틱하거나 애정 어린 표현으로 묘사된 것을 포함해, 폭행이나 자신의 의지에 반하는 강제적인 성적 폭력 행위를 다룰 수 있습니다. SexualContentSeverity
폭력 누군가 또는 무언가를 다치게 하거나, 다치거나, 손상시키거나, 죽이려는 물리적 행위와 관련된 콘텐츠; 는 무기, 총 및 관련 엔터티를 설명합니다. ViolentContentSeverity
자해 의도적으로 상처를 입히거나, 부상을 입히거나, 몸을 손상시키거나, 자신을 죽이기 위한 물리적 행동과 관련된 콘텐츠입니다. SelfHarmContentSeverity

심각도 수준

기본적으로 생성 Windows AI API에 대한 모든 호출은 콘텐츠 조정을 사용하지만 심각도 수준을 조정할 수 있습니다.

  • high: 사용할 수 없습니다. 심각도 수준 3 이상(잠재적 피해에 대한 위험 높음)으로 분류된 콘텐츠는 현재 생성 AI 모델에 의해 반환되지 않도록 차단됩니다.

  • medium: 기본 심각도 수준이 medium. 심각도 수준 0 - 3으로 분류된 콘텐츠가 반환됩니다.

  • low: 잠재적으로 유해한 콘텐츠를 반환할 위험을 더 낮춥니다. 심각도 수준 0 - 1로 분류된 콘텐츠만 반환됩니다.

심각도 수준에 대한 자세한 내용은 Azure AI 콘텐츠 안전 피해 범주 참조하세요.

텍스트 콘텐츠 조정 코드 샘플

텍스트 콘텐츠 조정 심각도 필터를 구성하려면 응답 생성에 사용되는 API(예: Phi Silica API)에 매개 변수로 ContentFilterOptions 구조체를 전달해야 합니다.

다음 코드 샘플에서는 Microsoft Windows 생성 AI LanguageModel에 텍스트 콘텐츠 조정 심각도 필터를 추가하는 방법을 보여 줍니다.

LanguageModelOptions options = new LanguageModelOptions();
ContentFilterOptions filterOptions = new ContentFilterOptions();

// prompt
filterOptions.PromptMaxAllowedSeverityLevel.Violent = SeverityLevel.Minimum;
filterOptions.PromptMaxAllowedSeverityLevel.Hate = SeverityLevel.Low;
filterOptions.PromptMaxAllowedSeverityLevel.SelfHarm = SeverityLevel.Medium;
filterOptions.PromptMaxAllowedSeverityLevel.Sexual = SeverityLevel.High;

//response
filterOptions.ResponseMaxAllowedSeverityLevel.Violent = SeverityLevel.Medium;

//image
filterOptions.ImageMaxAllowedSeverityLevel.AdultContentLevel = SeverityLevel.Medium;
filterOptions.ImageMaxAllowedSeverityLevel.RacyContentLevel = SeverityLevel.Medium;

options.ContentFilterOptions = filterOptions;

var result = await languageModel.GenerateResponseAsync(prompt, options);

Console.WriteLine(result.Text);

참고하십시오