Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Detta paket innehåller ett isomorft SDK (körs både i Node.js och i webbläsare) för att analysera skadligt innehåll, utvärdera Agent Control Spec-policyer, upptäcka innehållsursprung och hantera textblocklistor.
Nyckellänkar:
Detta paket har ännu inte publicerats på npm. NPM-paketsidan och den hostade API-referensen kommer att finnas tillgängliga efter den första releasen.
Komma igång
Miljöer som stöds för närvarande
- LTS-versioner av Node.js
- De senaste versionerna av Safari, Chrome, Edge och Firefox.
Mer information finns i vår supportprincip.
Förutsättningar
Installera @azure/ai-content-safety-paketet
Efter den första betaversionen, installera Azure AI Innehållsäkerhet-klientbiblioteket för JavaScript mednpm:
npm install @azure/ai-content-safety@next
Skapa och autentisera klienter
För att skapa en klient behöver endpoint du din Azure AI Innehållsäkerhet-resurs och en legitimation. Du kan hitta endpointen i Azure Portal.
Du kan autentisera dig med Microsoft Entra ID med en legitimation från @azure/identity-biblioteket eller en befintlig Microsoft Entra-token.
Installera -paketet om du vill använda @azure/identity som visas nedan eller andra leverantörer av autentiseringsuppgifter som tillhandahålls med Azure SDKs:
npm install @azure/identity
Du måste också registrera en ny Microsoft Entra-applikation och ge tillgång till Azure AI Innehållsäkerhet genom att tilldela en lämplig roll till din tjänsteansvarig (notera: roller som "Owner" inte ger nödvändiga behörigheter).
För mer information om hur du skapar en Microsoft Entra-applikation, kolla in denna guide.
Med hjälp av Node.js- och Node-liknande miljöer kan du använda klassen DefaultAzureCredential för att autentisera klienten.
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);
För webbläsarmiljöer använder du InteractiveBrowserCredential från @azure/identity-paketet för att autentisera.
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-paket
Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.
Viktiga begrepp
ContentSafetyClient
ContentSafetyClient analyserar text och bilder, upptäcker skyddat material och snabb injektion samt utvärderar innehåll mot en policy enligt Agent Control Specifikation.
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
ContentProvenanceClientstartar och övervakar långvariga detekteringsoperationer för Microsoft-utfärdade C2PA- och vattenstämpelssignaler.
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;
Serialiserat pollertillstånd kan återställas i en annan process:
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 skapar, uppdaterar, listar och raderar textblocklistor och deras objekt.
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;
Använd byPage({ maxPageSize }) för att begära en maximal sidstorlek när blocklistor listas:
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
Aktivering av loggning kan hjälpa dig att hitta användbar information om fel. Om du vill se en logg med HTTP-begäranden och svar anger du AZURE_LOG_LEVEL miljövariabeln till info. Du kan också aktivera loggning vid körning genom att anropa setLogLevel i @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Mer detaljerade anvisningar om hur du aktiverar loggar finns i dokument för @azure/logger-paket.
Contributing
Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.
Relaterade projekt
Azure SDK for JavaScript