Compartir a través de


Inicio rápido: Detección de materiales protegidos para código (versión preliminar)

La característica Material protegido para código proporciona una solución completa para identificar las salidas de IA que coinciden con el código de los repositorios de GitHub existentes. Esta característica le permite usar modelos de generación de código de forma segura, de forma que mejore la transparencia a los usuarios finales y promueva el cumplimiento de las directivas organizativas.

Precaución

El analizador o indexador de código del servicio Content Safety solo está actualizado hasta el 6 de abril de 2023. No se detectará el código que se agregó a GitHub después de esta fecha. Use su propia discreción al usar Material protegido para código para detectar cuerpos recientes de código.

Los objetivos clave de la característica Detección de materiales protegidos para código generado por IA son:

  • Para detectar y evitar la visualización del código protegido generado por los modelos de IA.
  • Para habilitar a las organizaciones a administrar los riesgos asociados con el código generado por IA.
  • Para asegurarse de que el código generado por IA cumple los estándares legales, éticos y de directivas de la organización.

Para obtener más información sobre la detección de material protegido, consulte la página Concepto de detección de material protegido. Para conocer los límites de entrada de API, consulte la sección Requisitos de entrada de la Información general.

Requisitos previos

  • Una cuenta de Azure. Si no tiene ninguna, puede crearla gratis.
  • Un recurso Azure AI.
  • Un proyecto o centro de Fundición de IA de Azure.

Configuración

Siga estos pasos para usar la página de prueba de seguridad del contenido:

  1. Vaya a Fundición de IA de Azure y vaya al proyecto o centro. A continuación, seleccione la pestaña Guardrails + controls (Límites de protección y controles ) en el panel de navegación izquierdo y seleccione la pestaña Pruébelo .
  2. En la página Pruébelo , puede experimentar con varias características de protección y controles, como el contenido de texto e imagen, usando umbrales ajustables para filtrar por contenido inapropiado o dañino.

Nota:

Las etiquetas y la navegación pueden variar en todas las actualizaciones del portal. Si no ve Límites de protección + controles, busque la opción Probar de Seguridad del contenido en su proyecto.

Recorte de pantalla de la página de prueba para los controles y barreras de protección.

Uso de la detección de materiales protegidos

Esta característica escanea el contenido generado por IA en busca de texto protegido conocido (por ejemplo, letras de canciones, artículos, recetas, contenido web seleccionado) o contenido de código protegido.

  1. Seleccione Detección de materiales protegidos para texto para examinar el texto, o seleccione Detección de materiales protegidos para código para examinar el código.
  2. Pegue texto o código para realizar pruebas. Para obtener los mejores resultados, haga una prueba de las finalizaciones de LLM en lugar de las instrucciones del usuario.
  3. Haga clic en Ejecutar prueba. El servicio devuelve el resultado del contenido protegido.

Para más información, consulte la guía conceptual sobre material protegido.

Requisitos previos

  • Una suscripción Azure: Crear una gratuita
  • Una vez que tenga la suscripción de Azure, crear un recurso de seguridad de contenido en el portal de Azure para obtener la clave y el punto de conexión. Escriba un nombre único para el recurso, seleccione la suscripción y, después, un grupo de recursos, una región admitida (consulte Región de disponibilidad) y el plan de tarifa admitido. Seleccione Crear.
    • El recurso tarda unos minutos en implementarse. Una vez finalizado, seleccione Ir al recurso. En el panel de la izquierda, en Administración de recursos, seleccione Clave y punto de conexión de la suscripción. El punto de conexión y cualquiera de las claves se usan para llamar a las API.
  • cURL instalado

Análisis de código para la detección de materiales protegidos

En la sección siguiente se muestra una solicitud de ejemplo con cURL. Pegue el comando siguiente en un editor de texto y realice los cambios siguientes.

  1. Reemplace por la dirección URL del punto de conexión asociada con el recurso.
  2. Reemplace por una de las claves que vienen con el recurso.
  3. Opcionalmente, reemplace el campo en el cuerpo por el código propio que desea analizar.

    Sugerencia

    Consulte Requisitos de entrada para conocer las limitaciones máximas de longitud de código. La detección de materiales protegidos está pensada para ejecutarse en finalizaciones de LLM, no en solicitudes de usuario.

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()"
}'

Los campos siguientes deben incluirse en la dirección URL:

Nombre ¿Necesario? Descripción Tipo
Versión de la API Obligatorio Esta es la versión de la API que se va a comprobar. La versión actual es: api-version=2024-09-15-preview. Ejemplo: Cuerda

Los parámetros del cuerpo de la solicitud se definen en esta tabla:

Nombre ¿Necesario? Descripción Tipo
código Obligatorio Este es el código sin procesar que se va a comprobar. Se pueden incluir caracteres que no sean ASCII. Cuerda

Consulte el siguiente valor de ejemplo para el campo :

{
    "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()"
}

Abra una ventana del símbolo del sistema y ejecute el comando cURL.

Interpretación de la respuesta de la API

Debería ver los resultados de detección de materiales protegidos como datos JSON en la salida de la consola. Por ejemplo:

{
    "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"
                ]
            }
        ]
    }
}

Los campos JSON de la salida se definen aquí:

Nombre Descripción Tipo
protectedMaterialAnalysis Resultados del análisis que contienen detalles sobre el código protegido detectado. Objeto
detectado Indica si se detectó material protegido de GitHub repositorios. Boolean
codeCitations Lista de citas en las que se encontró el código protegido. Array
codeCitations.license Tipo de licencia asociado al código detectado. Cuerda
codeCitations.sourceUrls Lista de direcciones URL de GitHub repositorios donde se detectó el código protegido. Matriz de cadenas

Solución de problemas

  • 401/403: confirme que usa una clave válida para el mismo recurso que el punto de conexión.
  • Característica no disponible: confirme que el recurso está en una región admitida para material protegido (código).
  • Longitud de entrada no válida: asegúrese de que la cadena cumple la longitud mínima y permanece bajo el máximo (consulte Requisitos de entrada).

Limpieza de recursos

Si desea limpiar y quitar una suscripción de Servicios de Azure AI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

  • Conceptos de detección de material protegido
  • Estudio de Seguridad de Contenidos