Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit pakket bevat een isomorfe SDK (draait zowel in Node.js als in browsers) voor het analyseren van schadelijke inhoud, het evalueren van Agent Control Specificatiebeleid, het detecteren van contentherkomst en het beheren van tekstblokkenlijsten.
Sleutelkoppelingen:
Dit pakket is nog niet gepubliceerd aan npm. De npm-pakketpagina en de gehoste API-referentie zullen beschikbaar zijn na de eerste release.
Aan de slag
Momenteel ondersteunde omgevingen
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Zie ons ondersteuningsbeleid voor meer informatie.
Prerequisites
- Een Azure-abonnement.
Het @azure/ai-content-safety-pakket installeren
Na de eerste bètaversie installeer je de Azure AI Content Veiligheid-clientbibliotheek voor JavaScript metnpm:
npm install @azure/ai-content-safety@next
Maak en authenticeer clients
Om een klant aan te maken, heb je je Azure AI Content Veiligheid-bron en een legitimatie nodigendpoint. Je kunt het eindpunt vinden in de Azure Portal.
Je kunt authenticeren met Microsoft Entra ID met een inloggegevens uit de @azure/identity-bibliotheek of een bestaand Microsoft Entra-token.
Als u de DefaultAzureCredential- provider wilt gebruiken die hieronder wordt weergegeven, of andere referentieproviders die zijn opgegeven bij de Azure SDK, installeert u het @azure/identity-pakket:
npm install @azure/identity
Je moet ook een nieuwe Microsoft Entra-applicatie registreren en toegang verlenen tot Azure AI Content Veiligheid door een geschikte rol toe te wijzen aan je serviceprincipe (opmerking: rollen zoals "Owner" geven niet de benodigde rechten).
Voor meer informatie over hoe je een Microsoft Entra-applicatie maakt, bekijk deze gids.
Met Node.js- en Node-achtige omgevingen kunt u de DefaultAzureCredential-klasse gebruiken om de client te verifiëren.
import { DefaultAzureCredential } from "@azure/identity";
import {
ContentSafetyClient,
ContentProvenanceClient,
BlocklistClient,
} from "@azure/ai-content-safety";
const credential = new DefaultAzureCredential();
const contentSafetyClient = new ContentSafetyClient("<endpoint>", credential);
const contentProvenanceClient = new ContentProvenanceClient("<endpoint>", credential);
const blocklistClient = new BlocklistClient("<endpoint>", credential);
Gebruik voor browseromgevingen de InteractiveBrowserCredential uit het @azure/identity-pakket om te verifiëren.
import { InteractiveBrowserCredential } from "@azure/identity";
import { ContentSafetyClient } from "@azure/ai-content-safety";
const credential = new InteractiveBrowserCredential({
tenantId: "<YOUR_TENANT_ID>",
clientId: "<YOUR_CLIENT_ID>",
});
const client = new ContentSafetyClient("<endpoint>", credential);
JavaScript-bundel
Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze bundeldocumentatievoor meer informatie over hoe u dit doet.
Belangrijke concepten
ContentSafetyClient
ContentSafetyClient analyseert tekst en afbeeldingen, detecteert beschermd materiaal en directe injectie, en beoordeelt inhoud aan de hand van een Agent Control Specificatiebeleid.
import { ContentSafetyClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentSafetyClient("<endpoint>", new DefaultAzureCredential());
async function moderateInput(): Promise<void> {
const result = await client.unifiedModerate({
policyId: "<policy-id>",
source: "input",
content: "Text to evaluate",
});
console.log(result.verdict);
}
void moderateInput;
ContentProvenanceClient
ContentProvenanceClientstart en monitort langdurige detectieoperaties voor door Microsoft uitgegeven C2PA- en watermerksignalen.
import { ContentProvenanceClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentProvenanceClient("<endpoint>", new DefaultAzureCredential());
async function detectProvenance(): Promise<void> {
const poller = client.detect({ content: { uri: "<media-blob-uri>" } });
const result = await poller.pollUntilDone();
console.log(result.outcome);
}
void detectProvenance;
De status van geserialiseerde poller kan in een ander proces worden hersteld:
import { ContentProvenanceClient, restorePoller } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentProvenanceClient("<endpoint>", new DefaultAzureCredential());
async function resumeDetection(serializedState: string): Promise<void> {
const poller = restorePoller(client, serializedState, client.detect.bind(client));
const result = await poller.pollUntilDone();
console.log(result.outcome);
}
void resumeDetection;
BlocklistClient
BlocklistClient maakt tekstblokken en hun items aan, werkt bij, lijst en verwijdert ze.
import { BlocklistClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new BlocklistClient("<endpoint>", new DefaultAzureCredential());
async function updateBlocklist(): Promise<void> {
const result = await client.createOrUpdateTextBlocklist("<blocklist-name>", {
description: "Blocklist description",
});
console.log(result.blocklistName);
}
void updateBlocklist;
Gebruik byPage({ maxPageSize }) om een maximale paginagrootte aan te vragen bij het vermelden van blocklist-items:
import { BlocklistClient } from "@azure/ai-content-safety";
import { DefaultAzureCredential } from "@azure/identity";
const client = new BlocklistClient("<endpoint>", new DefaultAzureCredential());
async function listBlocklistItemPages(): Promise<void> {
const pages = client.listTextBlocklistItems("<blocklist-name>").byPage({ maxPageSize: 20 });
for await (const page of pages) {
for (const item of page) {
console.log(item.blocklistItemId, item.text);
}
}
}
void listBlocklistItemPages;
Troubleshooting
Logging
Het inschakelen van logboekregistratie kan helpen nuttige informatie over fouten te ontdekken. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de omgevingsvariabele AZURE_LOG_LEVEL in op info. U kunt logboekregistratie ook tijdens runtime inschakelen door setLogLevel aan te roepen in de @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Voor meer gedetailleerde instructies over het inschakelen van logboeken, kunt u de @azure/logger pakketdocumentenbekijken.
Contributing
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de gids voor bijdragen voor meer informatie over het bouwen en testen van de code.
Verwante projecten
Azure SDK for JavaScript