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:
- cURL para chamadas de API REST.
- Python 3.x instalado
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.
- Baixe o arquivo de dados de texto de exemplo do repositório GitHub.
- 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.
Habilite a identidade gerenciada para a instância de Segurança de Conteúdo do Azure AI.
Atribua a função de Contribuidor/Proprietário de Dados de Blob de Armazenamento à identidade Gerenciada. Quaisquer funções destacadas abaixo devem funcionar.
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"