Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Пользовательские категории (стандартные) выходят на пенсию 1 сентября 2026 года. Миграция на API пользовательского текста в Классификации пользовательских текстов в Foundry Custom text — Средства Foundry | Microsoft Learn.
Следуйте этому руководству, чтобы использовать REST API стандартных пользовательских категорий Безопасность содержимого ИИ Azure для создания собственных категорий контента в соответствии с вашим вариантом использования и обучить Безопасность содержимого ИИ Azure обнаруживать их в новом текстовом содержимом.
Дополнительные сведения о пользовательских категориях см. на странице концепции пользовательских категорий. Сведения о ограничениях ввода API см. в разделе "Требования к входным данным" в разделе "Обзор".
Внимание
Эта функция доступна только в определенных регионах Azure. См. доступность региона.
Внимание
Разрешить достаточно времени для обучения модели
Полный процесс обучения пользовательских категорий может занять от пяти часов до десяти часов. Запланируйте конвейер модерации соответствующим образом.
Предварительные условия
- Учетная запись Azure. Если у вас нет учетной записи, вы можете создать ее бесплатно.
- Ресурс ИИ Azure.
Настройка
Чтобы воспользоваться страницей Попробуйте Безопасность содержимого, выполните следующие действия:
- Перейдите к Azure AI Foundry и перейдите к проекту или концентратору. Затем выберите вкладку "Guardrails + элементы управления" на левой панели навигации и выберите вкладку "Попробовать".
- На странице "Попробовать" можно поэкспериментировать с различными функциями Guardrails и возможностями управления, например, текстом и изображениями, используя настраиваемые пороговые значения для фильтрации неуместного или вредного содержимого.
Использование пользовательских категорий
Эта функция позволяет создавать и настраивать пользовательские категории контента, обучать их, а также сканировать текст для совпадений.
- Выберите панель настраиваемых категорий .
- Нажмите кнопку "Добавить новую категорию", чтобы открыть диалоговое окно. Введите имя категории и текстовое описание и подключите контейнер блоб-хранилища с текстовыми данными для обучения. Выберите Создать и обучить.
- Выберите категорию и введите пример входного текста и нажмите кнопку "Выполнить тест". Служба возвращает результат пользовательской категории.
Дополнительные сведения см. в концептуальном руководстве по пользовательским категориям.
Предварительные условия
- Подписка Azure — Создать бесплатно
- После получения подписки Azure создайте ресурс безопасности содержимого на портале Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион и поддерживаемую ценовую категорию. Затем выберите Создать.
- Развертывание ресурса занимает несколько минут. После завершения выберите перейти к ресурсу. В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Скопируйте конечную точку и любой из ключевых значений в временное расположение для последующего использования.
- Также создайте контейнер хранилища BLOB-объектов Azure, где вы будете хранить файл аннотаций для обучения.
- Установлена одна из следующих программ:
- cURL для вызовов REST API.
- Python 3.x установлен
Подготовьте свои обучающие данные
Чтобы обучить пользовательскую категорию, вам потребуются примеры текстовых данных, представляющих ту категорию, которую вы хотите обнаружить. В этом руководстве можно использовать примеры данных. Предоставленный аннотационный файл содержит тексты с подсказками о выживании в условиях кемпинга и дикой природы. Обученная модель научится обнаруживать этот тип содержимого в новых текстовых данных.
Подсказка
Советы по созданию собственного набора данных см. в руководстве по созданию собственного набора данных.
- Скачайте пример текстового файла данных из репозитория GitHub.
- Загрузите файл .jsonl в контейнер BLOB-объектов вашей учетной записи служба хранилища Azure. Затем скопируйте URL-адрес блоба в временное расположение для последующего использования.
Внимание
Учетная запись хранения пользователя настраивается как иерархическая учетная запись пространства имен, которая не может поддерживаться пользовательскими категориями. Попробуйте использовать обычную учетную запись хранения. Например, Blob URL-адрес не может быть разделен на два уровня, например example/example1/, и должен иметь только один слой. Дополнительные сведения см. в документации: Azure Data Lake Storage иерархическое пространство имен — служба хранилища Azure.
Предоставление доступа к хранилищу
Затем необходимо предоставить ресурсу безопасности содержимого доступ для чтения из ресурса служба хранилища Azure. Включите системно назначаемое управляемое удостоверение для экземпляра Безопасность содержимого ИИ Azure и назначьте этому удостоверению роль Участник данных хранилища BLOB-объектов/Владелец:
Внимание
Только роли Вкладчик данных BLOB-хранилища или Владелец данных BLOB-хранилища являются допустимыми для продолжения.
Активируйте управляемую идентификацию для экземпляра Безопасность содержимого ИИ Azure.
Назначьте роль вкладчика данных BLOB-объектов хранилища/владельца управляемому удостоверению. Все роли, выделенные ниже, должны работать.
Создание и обучение пользовательской категории
В приведенной ниже команде замените <your_api_key>и <your_endpoint>другие необходимые параметры собственными значениями. Затем введите каждую команду в окне терминала и запустите ее.
Создание новой версии категории
curl -X PUT "<your_endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"categoryName\": \"survival-advice\",
\"definition\": \"text prompts about survival advice in camping/wilderness situations\",
\"sampleBlobUrl\": \"https://<your-azure-storage-url>/example-container/survival-advice.jsonl\"
}"
Подсказка
Каждый раз, когда вы изменяете имя категории, определение или примеры, будет создана новая версия. Номер версии можно использовать для трассировки до предыдущих версий. Запомните этот номер версии, так как он будет необходим в URL-адресе для следующего этапа настройки пользовательских категорий.
API-запрос
| Поле | Описание | Пример значения |
|---|---|---|
categoryName |
Имя категории или раздела, к к который относится запрос. | советы по выживанию |
definition |
Краткое описание типа контента для категории. | текст запрашивает советы по выживанию в ситуациях кемпинга и дикой природы |
sampleBlobUrl |
URL-адрес для доступа к образцу JSONL-файла, содержащего примеры данных для категории. | Ссылка |
Ответ API
| Поле | Описание | Пример значения |
|---|---|---|
categoryName |
Имя категории или раздела, к который относится ответ. | советы по выживанию |
definition |
Краткое описание типа контента для категории. | текст запрашивает советы по выживанию в ситуациях кемпинга и дикой природы |
sampleBlobUrl |
URL-адрес для доступа к образцу JSONL-файла, содержащего примеры данных для категории. | Ссылка |
sampleBlobSnapshotUrl |
URL-адрес снимка образца файла JSONL, предоставляющий доступ к определенной версии данных. | URL-адрес снимка |
version |
Номер версии данных категории. | 1 |
createdTime |
Временная метка в момент создания данных категории. | 2024-10-28T22:06:59.462698Z |
status |
Текущее состояние обработки данных категории. | Удалось |
Запустите процесс строительства категории
Замените <your_api_key и >your_endpoint<> собственными значениями, а также добавьте номер версии в URL-адрес, полученный на последнем шаге. Разрешить достаточно времени для обучения модели: сквозное выполнение обучения пользовательских категорий может занять от пяти часов до десяти часов. Запланируйте конвейер модерации соответствующим образом. После получения ответа сохраните идентификатор операции (который называется id) во временном расположении. Этот идентификатор будет необходим для получения состояния сборки с помощью API получения состояния в следующем разделе.
curl -X POST "<your_endpoint>/contentsafety/text/categories/survival-advice:build?api-version=2024-09-15-preview&version={version}" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Ответ API
| Поле | Описание | Пример значения |
|---|---|---|
operation id |
Уникальный идентификатор для получения состояния сборки | b6c69dc1-2338-484e-85a5b-xxxx |
status |
Текущее состояние запроса | Удалось |
Получить статус сборки категории
Чтобы получить состояние, используйте id, полученный из предыдущего ответа API, и вставьте его в путь запроса API ниже.
curl -X GET "<your_endpoint>/contentsafety/text/categories/operations/<id>?api-version=2024-09-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Ответ API
| Поле | Описание | Пример значения |
|---|---|---|
operation id |
Уникальный идентификатор для получения состояния сборки | b6c69dc1-2338-484e-855b-xxxxxxxxxxxx |
status |
Текущее состояние запроса | Удалось |
Анализ текста с помощью настраиваемой категории
Выполните следующую команду, чтобы проанализировать текст с помощью настраиваемой категории. Замените <your_api_key> и <your_endpoint> собственными значениями.
curl -X POST "<your_endpoint>/contentsafety/text:analyzeCustomCategory?api-version=2024-09-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json" \
-d "{
\"text\": \"<Example text to analyze>\",
\"categoryName\": \"survival-advice\",
\"version\": 1
}"
API-запрос
| Поле | Описание |
|---|---|
text |
Текстовое содержимое или сообщение, предназначенное для обнаружения категорий |
categoryName |
Имя категории, в которой должен быть обнаружен текст |
version |
Номер версии категории |
Ответ API
| Поле | Описание | Пример значения |
|---|---|---|
customCategoryAnalysis |
Объект, содержащий результат анализа для категории. | — |
detected |
Указывает, обнаружена ли указанная категория. | неправда |
Операции с другими пользовательскими категориями
Не забудьте заменить заполнители ниже фактическими значениями ключа API, конечной точки и определенного содержимого (имя категории, определение и т. д.). Эти примеры помогают управлять настраиваемыми категориями в вашей учетной записи.
Внимание
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. Если вы используете ключ API, сохраните его безопасно в Azure Key Vault. Дополнительные сведения о безопасном использовании ключей API в приложениях см. в разделе Ключи API с Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.
Получите настраиваемую категорию или ее конкретную версию.
Замените заполнители собственными значениями и выполните следующую команду в окне терминала:
curl -X GET "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Список категорий их последних версий
Замените заполнители собственными значениями и выполните следующую команду в окне терминала:
curl -X GET "<endpoint>/contentsafety/text/categories?api-version=2024-09-15-preview" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"
Удаление настраиваемой категории или определенной версии ее
Замените заполнители собственными значениями и выполните следующую команду в окне терминала:
curl -X DELETE "<endpoint>/contentsafety/text/categories/<your_category_name>?api-version=2024-09-15-preview&version=1" \
-H "Ocp-Apim-Subscription-Key: <your_api_key>" \
-H "Content-Type: application/json"