Compartilhar via


Início Rápido: Categorias personalizadas (modo padrão) (visualização)

Siga este guia para usar a API REST de categorias personalizadas (padrão) da Segurança de Conteúdo de IA do Azure para criar suas próprias categorias de conteúdo para seu caso de uso e treinar a Segurança de Conteúdo de IA do Azure para detectá-las em novos conteúdos de texto.

Para obter mais informações sobre categorias Personalizadas, confira a página Conceito de categorias personalizadas. Para obter os limites de entrada de dados de APIs, confira a seção Requisitos de entrada de dados em Visão Geral.

Importante

Esse recurso só está disponível em determinadas regiões do Azure. Confira a Disponibilidade de região.

Importante

Reserve tempo suficiente para o treinamento do modelo

A execução de ponta a ponta do treinamento de categoria personalizada pode levar cerca de cinco a dez horas. Planeje o pipeline de moderação de acordo.

Pré-requisitos

  • Uma assinatura do Azure – crie 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, região com suporte e 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 à esquerda, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Extremidade. Copie o ponto de extremidade e qualquer um dos valores de chave para um local temporário para uso posterior.
  • Além disso, crie um contêiner de armazenamento de blobs do Azure onde você manterá seu arquivo de anotação de treinamento.
  • Um dos seguintes instalados:

Prepare seus dados de treinamento

Para treinar uma categoria personalizada, você precisa de dados de texto de exemplo que representem a categoria que você deseja detectar. Neste guia, você pode usar dados de exemplo. O arquivo de anotação fornecido contém avisos de texto sobre recomendações de sobrevivência em situações de acampamento/selva. O modelo treinado aprenderá a detectar esse tipo de conteúdo em novos dados de texto.

Dica

Para obter dicas sobre como criar seu conjunto de dados, confira o Guia de instruções.

  1. Baixe o arquivo de dados de texto de exemplo do repositório GitHub.
  2. Carregue o arquivo .jsonl no contêiner de blobs da conta do Armazenamento do Azure. Em seguida, copie a URL do blob para um local temporário para uso posterior.

Importante

A conta de armazenamento do usuário é configurada como uma conta de namespace hierárquica, que não pode ser suportada por Categorias Personalizadas. Tente usar uma conta de armazenamento regular. Por exemplo, a URL do blob não pode ser dividida em duas camadas, como exemplo/exemplo1/, e deve ter apenas uma camada. Para obter mais detalhes, consulte a documentação: Namespace hierárquico do Azure Data Lake Storage – Armazenamento do Azure.

Conceder acesso ao armazenamento

Em seguida, você precisa fornecer acesso ao recurso de Content Security para ler do recurso de Armazenamento do Azure. Habilite a identidade gerenciada atribuída pelo sistema para a instância de Segurança de Conteúdo de IA do Azure e atribua a função de Colaborador/Proprietário de Dados de Blobs de Armazenamento à identidade:

Importante

Somente o Colaborador de Dados de Blobs de Armazenamento ou o Proprietário de Dados de Blobs de Armazenamento são funções válidas para continuar.

  1. Habilite a identidade gerenciada para a instância de Segurança de Conteúdo de IA do Azure.

    Captura de tela de como habilitar a identidade gerenciada.

  2. Atribua a função de Colaborador/Proprietário de Dados do Blob de Armazenamento à identidade gerenciada. Todas as funções realçadas abaixo devem funcionar.

    Captura de tela da página “Adicionar atribuição de função” no portal do Azure.

    Captura de tela mostrando as funções atribuídas no portal do Azure.

    Captura de tela da função de identidade gerenciada.

Criar e treinar uma categoria personalizada

No comando abaixo, substitua <your_api_key>, <your_endpoint> e outros parâmetros necessários por valores próprios. Em seguida, insira cada comando em uma janela do terminal e execute-o.

Criar nova versão da categoria

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\"
        }"

Dica

Sempre que você alterar o nome da categoria, a definição ou os exemplos, uma nova versão será criada. Você pode usar o número de versão para rastrear de volta para versões anteriores. Lembre-se desse número de versão, pois ele será necessário na URL para as próximas categorias personalizadas de treinamento.

Solicitação API

Campo Descrição Valor de Exemplo
categoryName O nome da categoria ou tópico ao qual a solicitação está relacionada. dicas de sobrevivência
definition Uma breve descrição do tipo de conteúdo para a categoria. prompts de texto sobre dicas de sobrevivência em situações de acampamento/na natureza
sampleBlobUrl URL para acessar um arquivo JSONL de exemplo que contém exemplos de dados para a categoria. Link

Resposta da API

Campo Descrição Valor de Exemplo
categoryName O nome da categoria ou tópico ao qual a resposta está relacionada. dicas de sobrevivência
definition Uma breve descrição do tipo de conteúdo para a categoria. prompts de texto sobre dicas de sobrevivência em situações de acampamento/na natureza
sampleBlobUrl URL para acessar um arquivo JSONL de exemplo que contém exemplos de dados para a categoria. Link
sampleBlobSnapshotUrl URL de instantâneo do arquivo JSONL de exemplo, que fornece acesso a uma versão específica dos dados. URL do instantâneo
version O número de versão dos dados da categoria. 1
createdTime Carimbo de data/hora de quando os dados da categoria foram criados. 2024-10-28T22:06:59.4626988Z
status Status atual do processamento de dados da categoria. Com sucesso

Inicie o processo de criação da categoria:

Substitua <your_api_key> e <your_endpoint> por seus próprios valores e também acrescente o número de versão na URL obtido da última etapa. Permita tempo suficiente para o treinamento de modelo: a execução de ponta a ponta do treinamento de categoria personalizada pode levar cerca de cinco a dez horas. Planeje o pipeline de moderação de acordo. Depois de receber a resposta, armazene a ID da operação (conhecida como id) em um local temporário. Essa ID será necessária para recuperar o status de criação usando a API Obter status na próxima seção.

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"

Resposta da API

Campo Descrição Valor de Exemplo
operation id Identificador exclusivo para recuperar o status de compilação b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Status atual da solicitação Com sucesso

Obtenha o status de compilação da categoria:

Para recuperar o status, utilize o id obtido da resposta anterior da API e coloque-o no caminho da API abaixo.

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"

Resposta da API

Campo Descrição Valor de Exemplo
operation id Identificador exclusivo para recuperar o status de compilação b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Status atual da solicitação Com sucesso

Analisar texto com uma categoria personalizada

Execute o comando a seguir para analisar o texto com a categoria personalizada. Substitua <your_api_key> e <your_endpoint> pelos seus próprios valores.

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

Solicitação API

Campo Descrição
text O conteúdo de texto ou a mensagem destinada à detecção de categoria
categoryName O nome da categoria pelo qual o texto pretende ser detectado
version Número de versão da categoria

Resposta da API

Campo Descrição Valor de Exemplo
customCategoryAnalysis Objeto que contém o resultado da análise para a categoria.
detected Indica se a categoria especificada foi detectada. false

Outras operações de categorias personalizadas

Lembre-se de substituir os espaços reservados abaixo pelos valores reais da chave de API, do endpoint e do conteúdo específico (nome da categoria, definição e assim por diante). Esses exemplos ajudam você a gerenciar as categorias personalizadas em sua conta.

Obtenha uma categoria personalizada ou uma versão específica dela

Substitua os espaços reservados por seus próprios valores e execute o seguinte comando em uma janela de terminal:

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"

Listar categorias de suas versões mais recentes

Substitua os espaços reservados por seus próprios valores e execute o seguinte comando em uma janela de terminal:

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"

Excluir uma categoria personalizada ou uma versão específica dela

Substitua os espaços reservados por seus próprios valores e execute o seguinte comando em uma janela de terminal:

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"