Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция защищенного материала для кода предоставляет комплексное решение для идентификации выходных данных ИИ, соответствующих коду из существующих репозиториев GitHub. Эта функция позволяет уверенно использовать модели создания кода таким образом, чтобы повысить прозрачность конечных пользователей и повысить соответствие политикам организации.
Внимание
Сканер и индексатор кода службы безопасности содержимого актуальны только до 6 апреля 2023 г. Код, добавленный в GitHub после этой даты, не будет обнаружен. Используйте собственное усмотрение при использовании защищённого материала кода для обнаружения последних фрагментов кода.
Основными целями функции обнаружения защищенного материала в коде, созданного ИИ, являются:
- Обнаружение и предотвращение отображения защищенного кода, созданного моделями ИИ.
- Чтобы организации могли управлять рисками, связанными с созданным ИИ кодом.
- Чтобы обеспечить, чтобы код, созданный ИИ, соответствовал юридическим, этическим и организационным политическим стандартам.
Дополнительные сведения о защищенном обнаружении материалов см. на странице концепции обнаружения защищенных материалов. Сведения о ограничениях ввода API см. в разделе "Требования к входным данным" в разделе "Обзор".
Предварительные условия
- Учетная запись Azure. Если у вас нет учетной записи, вы можете создать ее бесплатно.
- Ресурс ИИ Azure.
- Проект или концентратор Azure AI Foundry.
Настройка
Чтобы воспользоваться страницей Попробуйте Безопасность содержимого, выполните следующие действия:
- Перейдите к Azure AI Foundry и перейдите к проекту или концентратору. Затем выберите вкладку "Guardrails + элементы управления" на левой панели навигации и выберите вкладку "Попробовать".
- На странице "Попробовать" можно поэкспериментировать с различными функциями Guardrails и возможностями управления, например, текстом и изображениями, используя настраиваемые пороговые значения для фильтрации неуместного или вредного содержимого.
Замечание
Метки и навигация могут отличаться в разных обновлениях портала. Если вы не видите Guardrails + controls, найдите в своем проекте интерфейс "Безопасность содержимого" и попробуйте его в Попробуйте прямо сейчас.
Использование обнаружения защищённых материалов
Эта функция сканирует созданные ИИ выходные данные для известного защищенного текста (например, текст песни, статьи, рецепты, выбранное веб-содержимое) или защищенного содержимого кода.
- Выберите "Защищенное обнаружение материалов" для сканирования текста или выберите "Защищенное обнаружение материалов" длясканирования кода .
- Вставьте текст или код для тестирования. Для получения наилучших результатов проверьте результаты работы LLM, а не запросы пользователей.
- Выберите Запустить тест. Сервис возвращает результат защищенного содержимого.
Дополнительные сведения см. в концептуальном руководстве по защищенным материалам.
Предварительные условия
- Подписка Azure — Создать бесплатно
- Получив подписку Azure,
создайте ресурс безопасности содержимого на портале Azure, чтобы получить ключ и конечную точку. Введите уникальное имя ресурса, выберите подписку и выберите группу ресурсов, поддерживаемый регион (см . доступность региона) и поддерживаемую ценовую категорию. Затем выберите Создать.- Развертывание ресурса занимает несколько минут. После завершения нажмите кнопку "Перейти к ресурсу". В области слева в разделе "Управление ресурсами" выберите "Ключ подписки" и "Конечная точка". Конечная точка и любой из ключей используются для вызова API.
- Установлен cURL.
Анализ кода для обнаружения защищенных материалов
В следующем разделе описывается пример запроса с cURL. Вставьте приведенную ниже команду в текстовый редактор и внесите следующие изменения.
- Замените
<endpoint>на URL-адрес конечной точки, которая связана с вашим ресурсом. - Замените
<your_subscription_key>одним из ключей, которые поставляются с вашим ресурсом. - При необходимости замените
"code"поле в тексте собственным кодом, который вы хотите проанализировать.Совет
Сведения о требованиях к входным данным см. в разделе "Требования к максимальной длине кода". Защищенное обнаружение материалов предназначено для выполнения в завершениях LLM, а не в запросах пользователей.
curl --location --request POST '<endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "python import pygame pygame.init() win = pygame.display.set_mode((500, 500)) pygame.display.set_caption(My Game) x = 50 y = 50 width = 40 height = 60 vel = 5 run = True while run: pygame.time.delay(100) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and x > vel: x -= vel if keys[pygame.K_RIGHT] and x < 500 - width - vel: x += vel if keys[pygame.K_UP] and y > vel: y -= vel if keys[pygame.K_DOWN] and y < 500 - height - vel: y += vel win.fill((0, 0, 0)) pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) pygame.display.update() pygame.quit()"
}'
Следующие поля должны быть включены в URL-адрес:
| Имя. | Обязательное? | Описание | Тип |
|---|---|---|---|
| Версия API | Обязательное поле | Это проверяемая версия API. Текущая версия: api-version=2024-09-15-preview. Пример: <endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview |
Строка |
Параметры в тексте запроса определяются в этой таблице:
| Имя. | Обязательное? | Описание | Тип |
|---|---|---|---|
| код | Обязательное поле | Это необработанный код для проверки. Другие символы, отличные от ascii, могут быть включены. | Строка |
См. следующий пример значения для "code" поля:
{
"code": "python import pygame pygame.init() win = pygame.display.set_mode((500, 500)) pygame.display.set_caption(My Game) x = 50 y = 50 width = 40 height = 60 vel = 5 run = True while run: pygame.time.delay(100) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and x > vel: x -= vel if keys[pygame.K_RIGHT] and x < 500 - width - vel: x += vel if keys[pygame.K_UP] and y > vel: y -= vel if keys[pygame.K_DOWN] and y < 500 - height - vel: y += vel win.fill((0, 0, 0)) pygame.draw.rect(win, (255, 0, 0), (x, y, width, height)) pygame.display.update() pygame.quit()"
}
Откройте окно командной строки и выполните команду cURL.
Интерпретация ответа API
Результаты обнаружения защищенных материалов отображаются в виде данных JSON в выходных данных консоли. Например:
{
"protectedMaterialAnalysis": {
"detected": true,
"codeCitations": [
{
"license": "NOASSERTION",
"sourceUrls": [
"https://github.com/kolejny-projekt-z-kck/game-/tree/f134099ce970da951bac9baac83c7885e991c676/ganeee.py",
"https://github.com/Felipe-Velasco/Modulo-Pygame/tree/11490c44a951812dc0c6424b68b1e14fc5cc4c0b/pygame%20basics.py",
"https://github.com/bwootton/firstgame/tree/70d722a6b1ccb79bfa56d9cc69932051848c44bf/jump.py",
"https://github.com/Jason017/Pygame-Learning-Module/tree/17cd69f169d3759e00816ed4a3795dd6db7e157f/pygameModule02.py",
"https://github.com/Coders-Brothers/pygame-tutorial/tree/1b481f5687cdda7c0765089780ef451af6e175cd/lesson-2.py"
]
}
]
}
}
Поля JSON в выходных данных определяются здесь:
| Имя. | Описание | Тип |
|---|---|---|
| анализ защищенных материалов | Результаты анализа, содержащие сведения об обнаружении защищенного кода. | Объект |
| Обнаружены | Указывает, обнаружен ли защищенный материал из GitHub репозиториев. | Логический |
| codeCitations | Список ссылок, в которых найден защищенный код. | Массив |
| codeCitations.license | Тип лицензии, связанный с обнаруженным кодом. | Строка |
| codeCitations.sourceUrls | Список URL-адресов из GitHub репозиториев, в которых обнаружен защищенный код. | Массив строк |
Устранение неполадок
- 401/403. Убедитесь, что вы используете допустимый ключ для того же ресурса, что и конечная точка.
- Функция недоступна: убедитесь, что ресурс находится в поддерживаемом регионе для защищенного материала (code).
-
Недопустимая длина входных данных: убедитесь, что
codeстрока соответствует минимальной длине и остается в максимальном значении (см. требования к входным данным).
Очистка ресурсов
Если вы хотите очистить и удалить подписку Azure AI services, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.