Azure AI Tartalombiztonság client library for JavaScript - version 1.0.0-beta.1

Ez a csomag egy izomorf SDK-t tartalmaz (amely Node.js-ben és böngészőben is fut) a káros tartalmak elemzésére, az Ügynök Vezérlő Specifikáció szabályzatok értékelésére, a tartalom eredetének felismerésére és a szöveges blokkollisták kezelésére.

Főbb hivatkozások:

Ez a csomag még nem jelent meg az npm-nek. Az npm csomagoldal és a hódolt API referencia az első kiadás után lesz elérhető.

Kezdő lépések

Jelenleg támogatott környezetek

További részletekért tekintse meg támogatási szabályzatunkat.

Prerequisites

Telepítse a(z) @azure/ai-content-safety csomagot

Az első béta kiadás után telepítse az Azure AI Tartalombiztonság klienskönyvtárát JavaScripthez a következőképpen npma következőkkel:

npm install @azure/ai-content-safety@next

Ügyfelek létrehozása és hitelesítése

Az ügyfél létrehozásához szükséged lesz endpoint az Azure AI Tartalombiztonság erőforrásra és egy hitelesítő képeslésre. A végpontot az Azure Portal-ban találhatod.

Hitelesítést a Microsoft Entra ID-vel lehet a @azure/identity könyvtár vagy egy meglévő Microsoft Entra token hitelesítésével.

Az alább látható DefaultAzureCredential szolgáltató vagy az Azure SDK-hoz biztosított egyéb hitelesítő adatok szolgáltatójának használatához telepítse a @azure/identity csomagot:

npm install @azure/identity

Emellett regisztrálnod kell egy új Microsoft Entra alkalmazást is, és hozzáférést kell adni az Azure AI Tartalombiztonság-hez, megfelelő szerepkört rendelve a szolgáltatási főnevednek (megjegyzés: az ilyen "Owner" szerepek nem adják meg a szükséges jogosultságokat).

További információért a Microsoft Entra alkalmazás létrehozásáról nézd meg ezt az útmutatót.

A Node.js és a csomópontszerű környezetek használatával a DefaultAzureCredential osztály használatával hitelesítheti az ügyfelet.

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);

Böngészőkörnyezetek esetén a hitelesítéshez használja a InteractiveBrowserCredential csomagból származó @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);

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek módjáról további információt a csomagküldő dokumentációbantalál.

Alapfogalmak

ContentSafetyClient

ContentSafetyClient elemzi a szöveget és képeket, azonosítja a védett anyagot és a becskendezést, valamint értékeli a tartalmat az ügynök vezérlési specifikáció szabályzata alapján.

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

ContentProvenanceClientelindítja és figyeli a Microsoft által kiadott C2PA és vízjelek hosszú ideig futó észlelési műveleteit.

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;

A soros pollerállapot más folyamatban is visszaállítható:

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 létrehozza, frissíti, listázza és törli a szöveges blokklistákat és azok elemeit.

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;

Használd byPage({ maxPageSize }) a maximális oldalméret kérésére a blokkolista elemek listázásakor:

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;

Hibaelhárítás

Logging

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a környezeti változót a AZURE_LOG_LEVEL következőre info: . Alternatívaként a naplózás futásidőben is engedélyezhető a setLogLevel hívásával a @azure/logger.

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

A naplók engedélyezésére vonatkozó részletesebb útmutatásért tekintse meg a @azure/logger csomag dokumentációit.

Közreműködés

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót, amelyből többet is megtudhat a kód összeállításáról és teszteléséről.