Udostępnij za pośrednictwem


Moderowanie bezpieczeństwa treści za pomocą środowiska uruchomieniowego Windows Copilot

Ważny

Dostępne w najnowszej wersji eksperymentalnego kanału zestawu SDK aplikacji systemu Windows.

Eksperymentalny kanał zestawu SDK aplikacji systemu Windows obejmuje interfejsy API i funkcje we wczesnych etapach programowania. Wszystkie interfejsy API w kanale eksperymentalnym podlegają rozbudowanym poprawkom i zmianom powodujących niezgodność i mogą zostać usunięte z kolejnych wersji w dowolnym momencie. Funkcje eksperymentalne nie są obsługiwane w środowiskach produkcyjnych i aplikacjach, które ich używają, nie mogą być publikowane w sklepie Microsoft Store.

Interfejsy API środowiska uruchomieniowego Copilot systemu Windows, takie jak Phi Silica API lub Imaging API, zaimplementują moderowanie zawartości tekstu w celu klasyfikowania i filtrowania potencjalnie szkodliwej zawartości, zapobiegając przedstawianiu jej lub zwracaniu przez te modele generowania. Interfejs API filtruje zawartość sklasyfikowaną jako potencjalnie szkodliwą domyślnie, jednak deweloperzy mogą skonfigurować różne poziomy poufności.

Warunki wstępne

Moderowanie zawartości tekstowej

Moderowanie zawartości można dostosować w wierszu polecenia wejściowego do modelu generowania i wygenerowanych danych wyjściowych sztucznej inteligencji. Interfejsy API środowiska uruchomieniowego copilot systemu Windows są zaprojektowane i zaimplementowane podobnie jak moderacja treści zapewniana przez Azure AI Content Safety.

Kategorie szkód i krzywd

Kategorie szkód są zgodne z definicjami używanymi w Azure AI Content Safety i można je znaleźć w Wskazówkach dotyczących Bezpieczeństwa Zawartości Azure AI . Kategorie szkód obejmują: Nienawiść i niesprawiedliwość, treści seksualne, przemoc lub samookaleczenie, i mogą obejmować wiele etykiet na tej samej treści.

Te cztery kategorie klasyfikowania potencjalnie szkodliwej zawartości umożliwiają dostosowanie filtrów poufności.

Kategoria Opis Nazwa interfejsu API
Nienawiść Nienawiść i krzywda dotyczą wszelkich treści, które atakują lub używają dyskryminującego języka wobec osoby lub grupy identyfikacyjnej, bazując na pewnych wyróżniających cechach tych grup. HateContentSeverity
Seksualny Seksualny opisuje język związany z anatomicznymi narządami i genitaliami, romantycznymi relacjami i aktami seksualnymi, aktami przedstawionymi w erotyczny lub pieszczotliwy sposób, w tym które są przedstawiane jako napaść lub wymuszony akt przemocy seksualnej. SexualContentSeverity
Przemoc Przemoc opisuje język związany z działaniami fizycznymi mającymi na celu zranienie, uszkodzenie, naruszenie lub zabicie kogoś lub czegoś; obejmuje także opisy broni, broni palnej i powiązanych elementów. ViolentContentSeverity
Samouszkodzenia Samookaleczenie opisuje język związany z działaniami fizycznymi, które mają na celu celowo zaszkodzić, zranić, uszkodzić swoje ciało lub popełnić samobójstwo. SelfHarmContentSeverity

Poziomy ważności

Domyślnie wszystkie wywołania generatywnych interfejsów API środowiska wykonawczego Windows Copilot używają moderacji treści, ale poziom surowości można dostosować.

  • high: niedostępne. Zawartość sklasyfikowana jako poziom zagrożenia 3+ (wysokie ryzyko potencjalnej szkody) jest obecnie blokowana przez model sztucznej inteligencji.

  • medium: domyślny poziom ważności jest ustawiony na medium. Zawartość sklasyfikowana jako poziom ważności 0– 3 zostanie zwrócona.

  • low: powoduje zmniejszenie ryzyka dalszego zwracania potencjalnie szkodliwej zawartości. Zostanie zwrócona tylko zawartość sklasyfikowana jako poziom ważności 0–1.

Aby dowiedzieć się więcej na temat poziomów surowości, zobacz Kategorie szkód zabezpieczeń zawartości usługi Azure AI.

Przykładowy kod moderowania zawartości tekstowej

Aby skonfigurować filtry surowości moderowania zawartości tekstowej osadzone w środowisku uruchomieniowym Copilot systemu Windows, należy przekazać strukturę ContentFilterOptions jako parametr do interfejsu API używanego na potrzeby generowania odpowiedzi, takich jak interfejs API Phi Silica .

Poniższy przykładowy kod demonstruje dodawanie filtrów surowości do moderowania treści tekstowej do sztucznej inteligencji Microsoft Windows LanguageModel:

var languageModelOptions = new LanguageModelOptions {
    Temp =  0.9f,
    Top_p = 0.9f, 
    Top_k = 40
};

var promptMinSeverityLevelToBlock = new TextContentFilterSeverity {
    HateContentSeverity = SeverityLevel.Low,
    SexualContentSeverity = SeverityLevel.Low,
    ViolentContentSeverity = SeverityLevel.Medium,
    SelfHarmContentSeverity = SeverityLevel.Low
};

var responseMinSeverityLevelToBlock = new TextContentFilterSeverity {
    HateContentSeverity = SeverityLevel.Low,
    SexualContentSeverity = SeverityLevel.Low,
    ViolentContentSeverity = SeverityLevel.Low,
    SelfHarmContentSeverity = SeverityLevel.Medium
};

var contentFilterOptions = new ContentFilterOptions {
    PromptMinSeverityLevelToBlock = promptMinSeverityLevelToBlock,
    ResponseMinSeverityLevelToBlock = responseMinSeverityLevelToBlock
};

IProgress<string> progress;
var languageModelResponseWithProgress = model.GenerateResponseWithProgressAsync(languageModelOptions, prompt, contentFilterOptions);
languageModelRepsonseWithProgress.Progress = (_, generationProgress) =>
{
    progress.Report(generationProgress);
};
string response = (await languageModelResponseWithProgress).Response;