Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O recurso Material Protegido para Código fornece uma solução abrangente para identificar saídas de IA que correspondem ao código de repositórios GitHub existentes. Esse recurso permite que você use modelos de geração de código com confiança, de forma que aprimore a transparência para os usuários finais e promova a conformidade com as políticas organizacionais.
Cuidado
O verificador/indexador de código do serviço de Segurança de Conteúdo só é atual até 6 de abril de 2023. O código que foi adicionado ao GitHub após essa data não será detectado. Use seu próprio critério ao usar o Material Protegido para Código para detectar corpos de código recentes.
Os principais objetivos do recurso Detecção de Material Protegido para Código para código gerado por IA são:
- Para detectar e impedir a exibição de código protegido gerado por modelos de IA.
- Para permitir que as organizações gerenciem riscos associados ao código gerado por IA.
- Para garantir que o código gerado por IA esteja em conformidade com os padrões legais, éticos e de política organizacional.
Para obter mais informações sobre a detecção de material protegido, confira a Página de conceito de detecção de material protegido. Para obter limites de entrada da API, consulte a seção Requisitos de entrada da visão geral.
Pré-requisitos
- Uma conta Azure. Se você não tiver uma conta, é possível criar uma gratuitamente.
- Um recurso de IA Azure.
- Um projeto ou hub Azure AI Foundry.
Configuração
Siga estas etapas para usar a página Experimentar a Segurança do Conteúdo:
- Acesse Azure AI Foundry e navegue até seu projeto/hub. Em seguida, selecione a guia Guardrails + controles na navegação esquerda e selecione a guia Experimentar .
- Na página Experimentar , você pode experimentar vários recursos do Guardrails &controls, como conteúdo de texto e imagem, usando limites ajustáveis para filtrar conteúdo inadequado ou prejudicial.
Observação
Os rótulos e a navegação podem variar entre as atualizações do portal. Se você não vir Guardrails + controles, procure a experiência de Segurança de Conteúdo Experimentar em seu projeto.
Use detecção de material protegido
Esse recurso verifica as saídas geradas por IA para texto protegido conhecido (por exemplo, letras de música, artigos, receitas, conteúdo da Web selecionado) ou conteúdo de código protegido.
- Selecione Detecção de material protegido para texto para escanear texto, ou selecione Detecção de material protegido para código para escanear código.
- Cole texto ou código para teste. Para obter melhores resultados, teste as conclusões do LLM em vez de prompts do usuário.
- Selecione Executar teste. O serviço retorna o resultado do conteúdo protegido.
Para obter mais informações, consulte o Guia conceitual de material protegido.
Pré-requisitos
- Uma assinatura Azure – Criar uma gratuitamente
- Depois de ter uma assinatura do Azure, crie um recurso de Segurança do Conteúdo no portal do Azure para obter uma chave e um ponto de extremidade. Insira um nome exclusivo para o recurso, selecione sua assinatura e selecione um grupo de recursos, uma região com suporte (consulte a disponibilidade da região) e o tipo de preço com suporte. Em seguida, selecione Criar.
- O recurso demora alguns minutos para implantar. Após a conclusão, selecione Ir para o recurso. No painel do lado esquerdo, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Acesso. O endpoint e qualquer uma das chaves são usados para acessar as APIs.
- cURL instalado
Analisar o código para detecção de material protegido
A seção a seguir percorre uma solicitação de exemplo com cURL. Cole o comando abaixo em um editor de texto e faça as seguintes alterações.
- Substitua
<endpoint>pelo URL do ponto de extremidade associado ao seu recurso. - substitua
<your_subscription_key>por uma das chaves que vêm com o recurso. - Opcionalmente, substitua o
"code"campo no corpo pelo seu próprio código que você gostaria de analisar.Dica
Consulte os requisitos de entrada para obter limitações máximas de comprimento de código. A detecção de material protegido deve ser executada em conclusões de LLM, não em prompts de usuário.
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()"
}'
Os seguintes campos precisam ser incluídos na URL:
| Nome | Necessário? | Descrição | Tipo |
|---|---|---|---|
| Versão da API | Obrigatório | esta é a versão da API a ser verificada. A versão atual é: api-version=2024-09-15-preview. Exemplo: <endpoint>/contentsafety/text:detectProtectedMaterialForCode?api-version=2024-09-15-preview |
Cadeia de caracteres |
Os parâmetros no corpo da solicitação são definidos nesta tabela:
| Nome | Necessário? | Descrição | Tipo |
|---|---|---|---|
| código | Obrigatório | Esse é o código bruto a ser verificado. Outros caracteres não ascii podem ser incluídos. | Cadeia de caracteres |
Confira o seguinte valor de exemplo para o campo "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()"
}
abra uma janela do prompt de comando e execute o comando cURL.
Interpretar a resposta da API
Você deve ver os resultados da detecção de material protegido exibidos como dados JSON na saída do console. Por exemplo:
{
"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"
]
}
]
}
}
Os campos JSON na saída são definidos aqui:
| Nome | Descrição | Tipo |
|---|---|---|
| protectedMaterialAnalysis | Resultados da análise que contêm detalhes sobre o código protegido detectado. | Objeto |
| detectado | Indica se foi detectado material protegido dos repositórios do GitHub. | booleano |
| codeCitations | Lista de citações onde o código protegido foi encontrado. | Array |
| codeCitations.license | O tipo de licença associado ao código detectado. | Cadeia de caracteres |
| codeCitations.sourceUrls | Uma lista de URLs de repositórios do GitHub onde o código protegido foi detectado. | Matriz de cadeias de caracteres |
Resolução de problemas
- 401/403: confirme se você está usando uma chave válida para o mesmo recurso que o ponto de extremidade.
- Recurso não disponível: confirme se o recurso está em uma região com suporte para material protegido (Código).
-
Comprimento de entrada inválido: verifique se a
codecadeia de caracteres atende ao comprimento mínimo e permanece abaixo do máximo (consulte os requisitos de entrada).
Limpar os recursos
Se você quiser limpar e remover uma assinatura Azure AI services, poderá excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.