Tartalombiztonsági moderálás a Windows Copilot Futtatókörnyezettel
Fontos
Elérhető a Windows App SDK legújabb kísérleti csatornáján kiadásában.
A Windows App SDK kísérleti csatornája api-kat és funkciókat tartalmaz a fejlesztés korai szakaszában. A kísérleti csatornán található összes API-ra kiterjedt változatok és kompatibilitástörő változások vonatkoznak, és bármikor eltávolíthatók a későbbi kiadásokból. A kísérleti funkciók nem használhatók éles környezetben, és az őket használó alkalmazások nem tehetők közzé a Microsoft Store-ban.
A Windows Copilot Runtime API-k, például a Phi Silica API vagy Imaging API, a szöveges tartalommoderálást implementálva osztályozzák és kiszűrik a potenciálisan káros tartalmakat, amelyeket ezek a generatív modellek kérnek vagy adnak vissza. Az API alapértelmezés szerint kiszűri a potenciálisan károsnak minősített tartalmakat, a fejlesztők azonban különböző bizalmassági szinteket konfigurálhatnak.
Előfeltételek
- A Windows Copilot Runtime API-khoz Qualcomm-chipet tartalmazó Copilot+ pc szükséges.
- Az Arm64EC (Emulation Compatible) jelenleg nem támogatott.
- Windows 11 Insider Preview Build 26120.3073 -at (fejlesztői és bétacsatornák) vagy újabb verziót kell telepíteni az eszközre.
Szöveges tartalommoderálás
A bemeneti kérdés tartalommoderálását módosíthatja a generatív modellre és az AI által generált kimenetre. A Windows Copilot Runtime API-k tartalommoderálását az Azure AI Content Safety által biztosítotthoz hasonlóan tervezték és implementálták.
Kárkategóriák
A kárkategóriák összhangban vannak az Azure AI Content Safetyben használt definíciókkal, és az Azure AI Content Safety útmutatójábantalálhatók. A kárkategóriák a következők: gyűlölet és méltányosság, szexuális tartalom, erőszak vagy önkárosítás, és több címkét is tartalmazhatnak ugyanazon a tartalomon.
Ez a négy, potenciálisan káros tartalmat osztályozó kategória lehetővé teszi a bizalmassági szűrők módosítását.
Kategória | Leírás | API név |
---|---|---|
Gyűlölet | A gyűlölet és a méltányosság sérelmei minden olyan tartalomra vonatkoznak, amely a csoportok bizonyos megkülönböztető tulajdonságain alapuló személyre vagy identitáscsoportra való hivatkozással támad vagy használ diszkriminatív nyelvet. | HateContentSeverity |
Szexuális | A szexuális leírások az anatómiai szervekhez és nemi szervekhez, romantikus kapcsolatokhoz és szexuális aktusokhoz, erotikus vagy szeretetteljes kifejezésekben ábrázolt cselekedetekhez kapcsolódnak, beleértve azokat is, amelyeket testi sértésként vagy akarata elleni erőszakos erőszakos cselekedetként ábrázolnak. | SexualContentSeverity |
Erőszak | Az erőszak azt a nyelvet írja le, amely olyan fizikai műveletekhez kapcsolódik, amelyek célja, hogy fájdalmat, sérülést, kárt okoznak vagy megöljenek valakit vagy valamit; fegyvereket, fegyvereket és kapcsolódó entitásokat ír le. | ViolentContentSeverity |
Önkárosítás | Az önkárosítás olyan kifejezéseket ír le, amelyek fizikai cselekedetekre utalnak, amelyek célja, hogy valaki szándékosan kárt tegyen saját testében vagy megölje magát. | SelfHarmContentSeverity |
Súlyossági szintek
Alapértelmezés szerint a Windows Copilot Runtime generative API-kba irányuló összes hívás tartalommoderálást használ, de a súlyossági szint módosítható.
high
: Nem érhető el. A generatív AI-modell jelenleg letiltja a 3+ súlyossági szintnek (magas kockázatú potenciális károsodás) besorolt tartalmakat.medium
: Az alapértelmezett súlyossági szintmedium
. A 0–3. súlyosságúként besorolt tartalmakat a rendszer visszaadja.low
: Csökkenti a potenciálisan káros tartalom további visszaadásának kockázatát. Csak a 0–1. súlyosságúként besorolt tartalmak lesznek visszaadva.
A súlyossági szintekről további információt Azure AI Tartalombiztonsági ártalmak kategóriáicímű témakörben talál.
Szöveges tartalommoderálási kódminta
A Windows Copilot Runtime-ba beágyazott szöveges tartalommoderálás súlyossági szűrőinek konfigurálásához paraméterként át kell adnia a ContentFilterOptions
szerkezetet a válaszgeneráláshoz használt API-nak, például a Phi Silica API.
Az alábbi kódminta bemutatja, hogyan lehet a szöveges tartalom moderálási súlyossági szűrőket hozzáadni a Microsoft Windows Generative AI LanguageModel
-hoz.
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;