Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este paquete contiene un SDK isomorfo (que se ejecuta tanto en Node.js como en navegadores) para analizar contenido dañino, evaluar políticas de Especificación de Control de Agentes, detectar el origen del contenido y gestionar listas de bloqueo de texto.
Vínculos clave:
Este paquete aún no ha sido publicado en npm. La página del paquete npm y la referencia de la API alojada estarán disponibles después de la primera versión.
Cómo empezar
Entornos admitidos actualmente
- Versiones LTS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
Consulte nuestra de directiva de soporte técnico de
Prerequisites
- Una suscripción de Azure.
Instalación del paquete @azure/ai-content-safety
Tras la primera versión beta, instala la biblioteca cliente Seguridad del contenido de Azure AI para JavaScript con:npm
npm install @azure/ai-content-safety@next
Crear y autenticar clientes
Para crear un cliente, necesitarás el endpoint acceso de tu recurso Seguridad del contenido de Azure AI y una credencial. Puedes encontrar el endpoint en el Azure Portal.
Puedes autenticarte con Microsoft Entra ID usando una credencial de la biblioteca @azure/identity o un token Microsoft Entra existente.
Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el @azure/identity paquete:
npm install @azure/identity
También tendrás que registrar una nueva aplicación Microsoft Entra y conceder acceso a Seguridad del contenido de Azure AI asignando un rol adecuado a tu principal de servicio (nota: roles como no "Owner" conceden los permisos necesarios).
Para más información sobre cómo crear una aplicación Microsoft Entra, consulta esta guía.
Con Node.js y entornos similares a nodos, puede usar la clase DefaultAzureCredential para autenticar al cliente.
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);
En el caso de los entornos del explorador, use el InteractiveBrowserCredential del paquete de @azure/identity para autenticarse.
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);
Paquete de JavaScript
Para usar esta biblioteca cliente en el explorador, primero debe usar un agrupador. Para obtener más información sobre cómo hacerlo, consulte nuestra documentación de agrupación de .
Conceptos clave
ContenidoSeguridadCliente
ContentSafetyClient analiza texto e imágenes, detecta material protegido e inyección rápida, y evalúa el contenido según una política de Especificación de Control de Agentes.
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
ContentProvenanceClientinicia y monitoriza las operaciones de detección de larga duración para señales C2PA emitidas por Microsoft y marca de agua.
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;
El estado del sondeador serializado puede restaurarse en otro proceso:
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, actualiza, lista y elimina listas de bloqueo de texto y sus elementos.
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;
Úsalo byPage({ maxPageSize }) para solicitar un tamaño máximo de página al listar elementos de la lista de bloqueo:
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
Habilitar el registro puede ayudar a descubrir información útil sobre errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en el @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Para obtener instrucciones más detalladas sobre cómo habilitar los registros, puede consultar los documentos del paquete de @azure/registrador.
Contributing
Si desea contribuir a esta biblioteca, lea la guía de contribución de para obtener más información sobre cómo compilar y probar el código.
Proyectos relacionados
Azure SDK for JavaScript