Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Paket enthält ein isomorphes SDK (läuft sowohl in Node.js als auch in Browsern) zur Analyse schädlicher Inhalte, zur Bewertung von Agent Control Specification Policies, zur Erkennung der Herkunft von Inhalten und zur Verwaltung von Textblocklisten.
Wichtige Links:
Dieses Paket wurde bisher noch nicht bei npm veröffentlicht. Die npm-Paketseite und die gehostete API-Referenz werden nach der ersten Version verfügbar sein.
Erste Schritte
Derzeit unterstützte Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Weitere Informationen finden Sie in unserer Supportrichtlinie.
Voraussetzungen
- Ein Azure-Abonnement.
Installieren Sie das @azure/ai-content-safety-Paket
Nach der ersten Beta-Version installieren Sie die Azure KI Inhaltssicherheit-Client-Bibliothek für JavaScript mitnpm:
npm install @azure/ai-content-safety@next
Erstellen und authentifizieren Sie Clients
Um einen Client zu erstellen, benötigen endpoint Sie Ihre Azure KI Inhaltssicherheit-Ressource und eine Berechtigung. Den Endpunkt findest du im Azure-Portal.
Sie können sich mit der Microsoft Entra ID authentifizieren, indem Sie eine Zugangsdaten aus der @azure/identity-Bibliothek oder ein bestehendes Microsoft Entra-Token verwenden.
Um den unten gezeigten DefaultAzureCredential Anbieter oder andere Anmeldeinformationsanbieter zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie bitte das @azure/identity Paket:
npm install @azure/identity
Sie müssen außerdem eine neue Microsoft Entra-Anwendung registrieren und Zugang zu Azure KI Inhaltssicherheit gewähren, indem Sie Ihrem Service Principal eine geeignete Rolle zuweisen (Hinweis: Rollen wie "Owner" diese gewähren nicht die erforderlichen Berechtigungen).
Weitere Informationen darüber, wie man eine Microsoft Entra-Anwendung erstellt, finden Sie in diesem Leitfaden.
Mithilfe von Node.js- und Node-ähnlichen Umgebungen können Sie die DefaultAzureCredential Klasse verwenden, um den Client zu authentifizieren.
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);
Verwenden Sie für Browserumgebungen die InteractiveBrowserCredential aus dem @azure/identity Paket, um sich zu authentifizieren.
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-Bündel
Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zuerst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.
Schlüsselkonzepte
ContentSafetyClient
ContentSafetyClient Analysiert Text und Bilder, erkennt geschütztes Material und prompte Injektionen und bewertet Inhalte anhand einer Agent Control Specification Policy.
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
ContentProvenanceClientstartet und überwacht langlaufende Erkennungsoperationen für von Microsoft ausgegebene C2PA- und Wasserzeichensignale.
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;
Der serialisierte Poller-Zustand kann in einem anderen Prozess wiederhergestellt werden:
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 erstellt, aktualisiert, listet und löscht Textblocklisten und deren Elemente.
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;
Verwenden byPage({ maxPageSize }) Sie, um eine maximale Seitengröße beim Auflisten von Blocklisten-Einträgen anzufordern:
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;
Problembehandlung
Protokollierung
Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL Umgebungsvariable auf infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert werden:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in den @azure/Logger-Paketdokumenten.
Contributing
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.
Verwandte Projekte
Azure SDK for JavaScript