Partilhar via


Guia de início rápido: categorias personalizadas (modo padrão) (visualização)

Siga este guia para usar a API REST de categorias personalizadas de segurança de conteúdo do Azure AI (padrão) 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 detetá-las em novo conteúdo de texto.

Para obter mais informações sobre categorias personalizadas, consulte a página de conceito de categorias personalizadas. Para limites de entrada da API, consulte a seção Requisitos de entrada da Visão geral.

Importante

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

Importante

Dê tempo suficiente para o treinamento do modelo

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

Pré-requisitos

  • Uma assinatura do Azure - Crie uma gratuitamente
  • Depois de ter sua assinatura do Azure, crie um recurso de Segurança de Conteúdo no portal do Azure para obter sua chave e ponto de extremidade. Introduza um nome exclusivo para o seu recurso, selecione a sua subscrição e selecione um grupo de recursos, uma região suportada e um escalão de preços suportado. Depois, selecione Criar.
    • O recurso leva alguns minutos para ser implantado. Depois que terminar, selecione ir para recurso. No painel esquerdo, em Gerenciamento de Recursos, selecione Chave de Assinatura e Ponto de Extremidade. Copie o ponto de extremidade e qualquer um dos valores-chave para um local temporário para uso posterior.
  • Crie também um contêiner de armazenamento de blob 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 detetar. Neste guia, você pode usar dados de exemplo. O ficheiro de anotação fornecido contém instruções de texto sobre conselhos de sobrevivência em situações de campismo/natureza selvagem. O modelo treinado aprenderá a detetar esse tipo de conteúdo em novos dados de texto.

Gorjeta

Para obter dicas sobre como criar seu próprio conjunto de dados, consulte 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 blob da conta do Armazenamento do Azure. Em seguida, copie o 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. Em vez disso, tente usar uma conta de armazenamento regular. Por exemplo, seu URL de blob não pode ser dividido em duas camadas, como exemplo/exemplo1/, e deve ter apenas uma camada. Para obter mais detalhes, consulte a documentação: Namespace hierárquico do Armazenamento do Azure Data Lake - Armazenamento do Azure.

Conceder acesso ao armazenamento

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

Importante

Somente o Contribuidor de Dados de Blob de Armazenamento ou o Proprietário de Dados de Blob de Armazenamento são funções válidas a serem prosseguidas.

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

    Captura de ecrã do portal do Azure que permite a identidade gerida.

  2. Atribua a função de Contribuidor/Proprietário de Dados de Blob de Armazenamento à identidade Gerenciada. Quaisquer funções destacadas abaixo devem funcionar.

    Captura de ecrã do ecrã Adicionar atribuição de função no portal do Azure.

    Captura de ecrã das funções atribuídas no portal do Azure.

    Captura de ecrã da função de identidade gerida.

Criar e treinar uma categoria personalizada

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

Criar nova versão de 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\"
        }"

Gorjeta

Sempre que alterar o nome, a definição ou as amostras da sua categoria, será criada uma nova versão. Você pode usar o número da versão para rastrear versões anteriores. Lembre-se deste número de versão, pois ele será exigido no URL para a próxima etapa - categorias personalizadas de treinamento.

Pedido à API

Campo Descrição Valor de Exemplo
categoryName O nome da categoria ou tópico ao qual a solicitação se refere. Aconselhamento em matéria de sobrevivência
definition Uma breve descrição do tipo de conteúdo para a categoria. avisos de texto sobre conselhos de sobrevivência em situações de acampamento/natureza selvagem
sampleBlobUrl URL para acessar um arquivo JSONL de exemplo contendo exemplos de dados para a categoria. Ligação

Resposta da API

Campo Descrição Valor de Exemplo
categoryName O nome da categoria ou tópico ao qual a resposta se refere. Aconselhamento em matéria de sobrevivência
definition Uma breve descrição do tipo de conteúdo para a categoria. avisos de texto sobre conselhos de sobrevivência em situações de acampamento/natureza selvagem
sampleBlobUrl URL para acessar um arquivo JSONL de exemplo contendo exemplos de dados para a categoria. Ligação
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 da versão dos dados da categoria. 1
createdTime Carimbo de data/hora quando os dados da categoria foram criados. 2024-10-28T22:06:59.4626988Z
status Situação atual da categoria de processamento de dados. Com êxito

Inicie o processo de construção da categoria:

Substitua <your_api_key> e <your_endpoint> por seus próprios valores e também acrescente o número da versão na url obtida na última etapa. Permita tempo suficiente para o treinamento do modelo: a execução de ponta a ponta do treinamento de categoria personalizada pode levar de cerca de cinco horas a dez horas. Planeje seu pipeline de moderação de acordo. Depois de receber a resposta, armazene o ID da operação (referido como id) em um local temporário. Esse ID será necessário para recuperar o status da compilação usando a API Get 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 da compilação b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Situação atual do pedido Com êxito

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 da compilação b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Situação atual do pedido Com êxito

Analisar texto com uma categoria personalizada

Execute o seguinte comando para analisar o texto com sua categoria personalizada. Substitua <your_api_key> e <your_endpoint> com os 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
        }"

Pedido à API

Campo Descrição
text O conteúdo de texto ou mensagem destinado à deteção de categoria
categoryName O nome da categoria em que o texto pretende ser detetado
version Número da 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 detetada. false

Outras operações de categorias personalizadas

Lembre-se de substituir os espaços reservados abaixo por seus valores reais para a chave da API, o ponto de extremidade e o conteúdo específico (nome da categoria, definição e assim por diante). Estes exemplos ajudam-no a gerir as categorias personalizadas na sua conta.

Obter uma categoria personalizada ou uma versão específica da mesma

Substitua os espaços reservados por seus próprios valores e execute o seguinte comando em uma janela do 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 do 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 do 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"