Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten pakiet zawiera izomorficzne SDK (działające zarówno w Node.js, jak i przeglądarkach) do analizy szkodliwych treści, oceny polityk Agent Control Specification, wykrywania pochodzenia treści oraz zarządzania listami bloków tekstowych.
Kluczowe linki:
Ten pakiet nie został jeszcze opublikowany do npm. Strona pakietu npm oraz odniesienie do hostowanego API będą dostępne po pierwszej wersji.
Rozpoczęcie pracy
Obecnie obsługiwane środowiska
- Wersje LTS systemu Node.js
- Najnowsze wersje przeglądarek Safari, Chrome, Edge i Firefox.
Aby uzyskać więcej informacji, zobacz nasze zasad pomocy technicznej.
Wymagania wstępne
Instalowanie pakietu @azure/ai-content-safety
Po pierwszej wersji beta zainstaluj bibliotekę klienta Bezpieczeństwo zawartości platformy Azure AI dla JavaScript za pomocą npm:
npm install @azure/ai-content-safety@next
Tworzenie i uwierzytelnianie klientów
Aby stworzyć klienta, będziesz potrzebować endpoint swojego zasobu Bezpieczeństwo zawartości platformy Azure AI oraz posiadania danych uwierzytelniających. Punkt końcowy znajdziesz w Azure Portal.
Możesz uwierzytelnić się za pomocą Microsoft Entra ID, używając poświadczenia z biblioteki @azure/identity lub istniejącego tokena Microsoft Entra.
Aby użyć dostawcy DefaultAzureCredential pokazanego poniżej lub innych dostawców poświadczeń dostarczonych z zestawem Azure SDK, zainstaluj pakiet @azure/identity:
npm install @azure/identity
Będziesz także musiał zarejestrować nową aplikację Microsoft Entra i przyznać dostęp do Bezpieczeństwo zawartości platformy Azure AI, przypisując odpowiednią rolę swojemu podmiotowi usługowym (uwaga: role takie jak nie "Owner" przyznają niezbędnych uprawnień).
Aby dowiedzieć się więcej o tym, jak stworzyć aplikację Microsoft Entra, sprawdź ten przewodnik.
Korzystając ze środowisk Node.js i środowisk podobnych do węzłów, możesz użyć klasy DefaultAzureCredential do uwierzytelniania klienta.
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);
W przypadku środowisk przeglądarki użyj InteractiveBrowserCredential z pakietu @azure/identity do uwierzytelniania.
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);
Pakiet JavaScript
Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć pakietu. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów .
Podstawowe pojęcia
ContentSafetyClient
ContentSafetyClient analizuje tekst i obrazy, wykrywa chronione materiały i szybkie wstrzykiwanie oraz ocenia treść zgodnie z polityką Specyfikacji Kontroli Agentów.
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
ContentProvenanceClienturuchamia i monitoruje długotrwałe operacje wykrywania sygnałów C2PA i znaków wodnych wydawanych przez Microsoft.
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;
Seryalizowany stan pylenia można przywrócić w innym procesie:
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 tworzy, aktualizuje, wykazuje i usuwa tekstowe listy bloków oraz ich elementy.
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;
Użyj byPage({ maxPageSize }) do żądania maksymalnego rozmiaru strony podczas wymieniania elementów z listy bloków:
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
Włączenie rejestrowania może pomóc odkryć przydatne informacje o błędach. Aby wyświetlić dziennik żądań i odpowiedzi HTTP, ustaw zmienną środowiskową AZURE_LOG_LEVEL na info. Alternatywnie rejestrowanie można włączyć w czasie wykonywania, wywołując setLogLevel w @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Aby uzyskać bardziej szczegółowe instrukcje dotyczące włączania dzienników, zapoznaj się z dokumentacją pakietu @azure/logger.
Contributing
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik dotyczący współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.
Powiązane projekty
- zestaw SDK platformy Microsoft Azure dla języka JavaScript
Azure SDK for JavaScript