Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот пакет содержит изоморфный SDK (работает как в Node.js, так и в браузерах) для анализа вредного контента, оценки политик спецификации управления агентами, обнаружения происхождения контента и управления текстовыми блокировками.
Ключевые ссылки:
Этот пакет пока не опубликован в npm. Страница пакета npm и размещённый API будут доступны после первого релиза.
Начало работы
Поддерживаемые в настоящее время среды
- Node.js LTS версии
- Последние версии Safari, Chrome, Edge и Firefox.
Чтобы получить дополнительные сведения, ознакомьтесь с нашей политикой поддержки.
Необходимые условия
Установите пакет @azure/ai-content-safety.
После первого бета-релиза установите клиентскую библиотеку Безопасность содержимого ИИ Azure для JavaScript с npmпомощью :
npm install @azure/ai-content-safety@next
Создавайте и аутентифицируйте клиентов
Для создания клиента вам потребуется endpoint ваш ресурс Безопасность содержимого ИИ Azure и учетная запись. Вы можете найти конечную точку в портал Azure.
Вы можете аутентифицироваться с помощью Microsoft Entra ID, используя учетные данные из библиотеки @azure/identity или имея существующий токен Microsoft Entra.
Чтобы использовать поставщик
npm install @azure/identity
Вам также нужно будет зарегистрировать новое приложение Microsoft Entra и предоставить доступ к Безопасность содержимого ИИ Azure, назначив соответствующую роль вашему руководителю сервиса (примечание: такие роли "Owner" не предоставляют необходимые права).
Для получения дополнительной информации о том, как создать приложение Microsoft Entra, ознакомьтесь с этим руководством.
Используя среды Node.js и node-like, можно использовать класс 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);
Для сред браузера используйте InteractiveBrowserCredential из пакета @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
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать пакет. Дополнительные сведения о том, как это сделать, см. в нашей документации по .
Ключевые понятия
ContentSafetyClient
ContentSafetyClient анализирует текст и изображения, выявляет защищённые материалы и ввод подсказок, а также оценивает содержимое в соответствии с политикой спецификации управления агентами.
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
ContentProvenanceClientзапускает и отслеживает долгосрочные операции обнаружения сигналов C2PA и водяных знаков, выданных 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;
Сериализованное состояние опросника можно восстановить другим способом:
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 создаёт, обновляет, перечисляет и удаляет текстовые блок-списки и их элементы.
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;
Используйте byPage({ maxPageSize }) для запроса максимального размера страницы при размещении элементов блок-листа:
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
Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL значение info. В альтернативном порядке, логирование можно включить во время выполнения, вызвав setLogLevel в @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Дополнительные инструкции по включению журналов см. в документации по пакету @azure/loger.
Contributing
Если вы хотите внести свой вклад в эту библиотеку, ознакомьтесь с руководством по вкладу, чтобы узнать больше о том, как создавать и тестировать код.
Связанные проекты
Azure SDK for JavaScript