Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo pacchetto contiene un SDK isomorfo (che funziona sia in Node.js che nei browser) per analizzare contenuti dannosi, valutare le politiche di Specifica di Controllo degli Agenti, rilevare la provenienza dei contenuti e gestire le blocklist di testo.
Collegamenti chiave:
Questo pacchetto non è ancora stato pubblicato su npm. La pagina del pacchetto npm e il riferimento API ospitato saranno disponibili dopo la prima versione.
Come iniziare
Ambienti attualmente supportati
- Versioni LTS di Node.js
- Versioni più recenti di Safari, Chrome, Edge e Firefox.
Per altri dettagli, vedere i criteri di supporto .
Prerequisiti
Installare il pacchetto @azure/ai-content-safety
Dopo la prima versione beta, installa la libreria client Sicurezza dei contenuti di Azure AI per JavaScript con npm:
npm install @azure/ai-content-safety@next
Creare e autenticare i clienti
Per creare un cliente, avrai bisogno della endpoint tua risorsa Sicurezza dei contenuti di Azure AI e di una credenziale. Puoi trovare il punto finale nell'portale di Azure.
Puoi autenticarti con Microsoft Entra ID usando una credenziale dalla libreria @azure/identity o da un token Microsoft Entra esistente.
Per usare il provider DefaultAzureCredential
npm install @azure/identity
Dovrai inoltre registrare una nuova applicazione Microsoft Entra e concedere l'accesso a Sicurezza dei contenuti di Azure AI assegnando un ruolo adeguato al tuo responsabile di servizio (nota: ruoli come "Owner" non concederanno i permessi necessari).
Per maggiori informazioni su come creare un'applicazione Microsoft Entra, consulta questa guida.
Usando Node.js e ambienti simili a Node, è possibile usare la classe DefaultAzureCredential per autenticare il client.
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);
Per gli ambienti del browser, usare il InteractiveBrowserCredential dal pacchetto di @azure/identity per l'autenticazione.
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);
Pacchetto JavaScript
Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle .
Concetti chiave
ContenutoSicurezzaClient
ContentSafetyClient analizza testi e immagini, rileva materiale protetto e inserisce prompt, e valuta i contenuti secondo una policy di Specific di Controllo Agente.
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
ContentProvenanceClientavvia e monitora operazioni di rilevamento di lunga durata per i segnali C2PA e filigrana forniti da 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;
Lo stato serializzato del poller può essere ripristinato in un altro processo:
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 Crea, aggiorna, elenca ed elimina le blocklist di testo e i loro elementi.
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;
Usare byPage({ maxPageSize }) per richiedere una dimensione massima della pagina quando si elencano gli elementi della blocklist:
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;
Risoluzione dei problemi
Logging
L'abilitazione della registrazione può aiutare a individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel nel @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Per istruzioni più dettagliate su come abilitare i log, è possibile esaminare la documentazione del pacchetto @azure/logger.
Contributing
Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.
Progetti correlati
Azure SDK for JavaScript