Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento balíček obsahuje izomorfní SDK (běží jak v Node.js, tak v prohlížečích) pro analýzu škodlivého obsahu, vyhodnocování politik Agent Control Specification, detekci původu obsahu a správu textových blokových seznamů.
Klíčové odkazy:
Tento balíček dosud nebyl zveřejněn na NPM. Stránka balíčku npm a odkaz hostovaného API budou dostupné po prvním vydání.
Začínáme
Aktuálně podporovaná prostředí
- LTS verze Node.js
- Nejnovější verze Safari, Chrome, Edge a Firefox.
Další podrobnosti najdete v zásadách podpory.
Předpoklady
- Předplatné služby Azure.
Nainstalujte balíček @azure/ai-content-safety.
Po první beta verzi nainstalujte klientskou knihovnu Bezpečnost obsahu Azure AI pro JavaScript s npm:
npm install @azure/ai-content-safety@next
Vytvářejte a autentizujte klienty
Pro vytvoření klienta budete potřebovat endpoint svůj zdroj Bezpečnost obsahu Azure AI a přihlašovací údaje. Endpoint najdete v Azure Portal.
Můžete se autentizovat pomocí Microsoft Entra ID pomocí přihlašovacích údajů z knihovny @azure/identity nebo existujícího Microsoft Entra tokenu.
Pokud chcete použít poskytovatele DefaultAzureCredential zobrazené níže nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté sadou Azure SDK, nainstalujte balíček @azure/identity:
npm install @azure/identity
Budete také muset zaregistrovat novou aplikaci Microsoft Entra a udělit přístup k Bezpečnost obsahu Azure AI přiřazením vhodné role vašemu zástupci služby (poznámka: role jako například neudělí "Owner" potřebná oprávnění).
Pro více informací o tom, jak vytvořit aplikaci Microsoft Entra, si přečtěte tento průvodce.
Pomocí Node.js a prostředí podobných uzlům můžete k ověření klienta použít třídu DefaultAzureCredential.
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);
Pro prostředí prohlížeče použijte k ověření InteractiveBrowserCredential z balíčku @azure/identity.
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);
JavaScriptový balíček
Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.
Klíčové koncepty
ContentSafetyClient
ContentSafetyClient analyzuje text a obrázky, detekuje chráněný materiál a promptní vstřikování a hodnotí obsah podle politiky Agent Control Specification.
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
ContentProvenanceClientspouští a monitoruje dlouhodobé detekční operace pro C2PA a vodoznakové signály vydané 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;
Serializovaný stav polleru lze obnovit jiným procesem:
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 Vytváří, aktualizuje, seznamuje a maže textové blokové seznamy a jejich položky.
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;
Použijte byPage({ maxPageSize }) pro požadavek na maximální velikost stránky při vypisování položek blokového seznamu:
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;
Řešení problémů
Logging
Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.
Contributing
Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.
Související projekty
Azure SDK for JavaScript