Condividi tramite


Avvio rapido: Categorie personalizzate (modalità standard) (anteprima)

Seguire questa guida per usare l'API REST (standard) per le categorie personalizzate di Sicurezza dei contenuti di Azure AI per creare categorie di contenuto personalizzate per il caso d'uso ed eseguire il training di Sicurezza dei contenuti di Azure AI per rilevarle nel nuovo contenuto di testo.

Per altre informazioni sulle categorie personalizzate, vedere la Pagina di concetto di categorie personalizzate. Per i limiti di input dell'API, vedere la sezione Requisiti di input della panoramica.

Importante

Questa funzionalità è disponibile solo in determinate aree di Azure. Vedere Disponibilità a livello di area.

Importante

Lasciare tempo sufficiente per il training del modello

L'esecuzione end-to-end del training delle categorie personalizzate può richiedere da circa cinque ore a dieci ore. Pianificare di conseguenza la pipeline di moderazione.

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente
  • Dopo aver creato la sottoscrizione di Azure, Creare una risorsa di Sicurezza dei contenuti nel portale di Azure per ottenere la chiave e l'endpoint. Immettere un nome univoco per la risorsa, selezionare la sottoscrizione, quindi selezionare un gruppo di risorse, un'area supportata e un piano tariffario supportato. Selezionare Crea.
    • La distribuzione della risorsa richiede alcuni minuti. Al termine, selezionare Vai alla risorsa. Nel riquadro a sinistra, in Gestione risorse selezionare Chiave di sottoscrizione ed endpoint. Copiare l'endpoint e uno dei valori della chiave in un percorso temporaneo per poterlo usare in seguito.
  • Creare anche un contenitore di archiviazione BLOB di Azure in cui conservare il file delle annotazioni sul training.
  • Una delle seguenti installazioni:

Preparare i dati di training

Per eseguire il training di una categoria personalizzata, sono necessari dati di testo di esempio che rappresentino la categoria da rilevare. In questa guida è possibile usare dati di esempio. Il file delle annotazioni fornito contiene messaggi di testo su consigli su come sopravvivere in campeggio/nel deserto. Il modello sottoposto a training imparerà a rilevare questo tipo di contenuto nei nuovi dati di testo.

Suggerimento

Per suggerimenti sulla creazione di un set di dati personalizzato, vedere la guida pratica.

  1. Scaricare il file di dati di testo di esempio dal repository di GitHub.
  2. Caricare il file con estensione .jsonl nel contenitore BLOB dell'account di archiviazione di Azure. Copiare l'URL del BLOB in un percorso temporaneo per usarlo in un secondo momento.

Importante

L'account di archiviazione dell'utente viene configurato come account dello spazio dei nomi gerarchico, che non può essere supportato da Categorie personalizzate. Provare invece a usare un account di archiviazione normale. Ad esempio, l'URL del BLOB non può essere suddiviso in due livelli, ad esempio example/example1/, e deve avere un solo livello. Per altri dettagli, vedere la documentazione: Spazio dei nomi gerarchico di Azure Data Lake Storage - Archiviazione di Azure.

Concedere l'accesso alle risorse di archiviazione

Successivamente, è necessario concedere alla risorsa Sicurezza dei contenuti l'accesso per la lettura dalla risorsa di Archiviazione di Azure. Abilitare l'identità gestita assegnata dal sistema per l'istanza di Sicurezza del contenuto di Intelligenza artificiale di Azure e assegnare il ruolo collaboratore/proprietario dei dati dei BLOB di archiviazione all'identità:

Importante

Solo i ruoli di collaboratore ai dati dei BLOB di archiviazione o proprietario dei dati dei BLOB di archiviazione sono ruoli validi per continuare.

  1. Abilitare l'identità gestita per l'istanza di Sicurezza dei contenuti di Azure AI.

    Screenshot che mostra l’abilitazione dell'identità gestita nel portale di Azure.

  2. Assegnare il ruolo di collaboratore/proprietario/lettore dei dati dei BLOB di archiviazione all'identità gestita. Tutti i ruoli evidenziati di seguito dovrebbero funzionare.

    Screenshot della schermata Aggiungi assegnazione di ruolo nel portale di Azure.

    Screenshot che mostra i ruoli assegnati nel portale di Azure.

    Screenshot che mostra il ruolo dell’identità gestita.

Creare ed eseguire il training di una categoria personalizzata

Nei comandi seguenti sostituire <your_api_key>, <your_endpoint> e gli altri parametri necessari con valori personalizzati. Immettere quindi ogni comando in una finestra del terminale ed eseguirlo.

Creare una nuova versione della 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\"
        }"

Suggerimento

Ogni volta che si modifica il nome della categoria, la definizione o gli esempi, verrà creata una nuova versione. È possibile usare il numero di versione per risalire alle versioni precedenti. Tenere presente questo numero di versione, perché sarà necessario nell'URL per le categorie personalizzate di training del passaggio successivo.

Richiesta API

Campo Descrizione Valore di esempio
categoryName Nome della categoria o dell'argomento a cui si riferisce la richiesta. consigli di sopravvivenza
definition Breve descrizione del tipo di contenuto per la categoria. sms prompt su consigli di sopravvivenza in situazioni campeggio/deserto
sampleBlobUrl URL per accedere a un file JSONL di esempio contenente esempi di dati per la categoria. Collega

Risposta API

Campo Descrizione Valore di esempio
categoryName Nome della categoria o dell'argomento a cui si riferisce la risposta. consigli di sopravvivenza
definition Breve descrizione del tipo di contenuto per la categoria. sms prompt su consigli di sopravvivenza in situazioni campeggio/deserto
sampleBlobUrl URL per accedere a un file JSONL di esempio contenente esempi di dati per la categoria. Collega
sampleBlobSnapshotUrl URL dello snapshot del file JSONL di esempio, che consente l'accesso a una versione specifica dei dati. Snapshot URL
version Numero di versione dei dati della categoria. 1
createdTime Timestamp al momento della creazione dei dati della categoria. 2024-10-28T22:06:59.4626988Z
status Stato corrente dell'elaborazione dati della categoria. Completato

Avviare il processo di compilazione della categoria:

Sostituire <your_api_key> e <your_endpoint> con i propri valori e aggiungere anche il numero di versione nell'URL ottenuto dall'ultimo passaggio. Tempo sufficiente per il training del modello: l'esecuzione end-to-end del training di categorie personalizzate può richiedere da circa cinque ore a dieci ore. Pianificare di conseguenza la pipeline di moderazione. Dopo aver ricevuto la risposta, archiviare l'ID operazione (denominato id) in una posizione temporanea. Questo ID sarà necessario per recuperare lo stato di compilazione con l'API Ottieni stato nella sezione successiva.

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"

Risposta API

Campo Descrizione Valore di esempio
operation id Identificatore univoco per il recupero dello stato di compilazione b6c69dc1-2338-484e-85a5b-xxxxxxxxxxxx
status Stato corrente della richiesta Completato

Ottenere lo stato di compilazione della categoria:

Per recuperare lo stato, usare l'oggetto id ottenuto dalla risposta dell’API precedente e inserirlo nel percorso dell'API seguente.

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"

Risposta API

Campo Descrizione Valore di esempio
operation id Identificatore univoco per il recupero dello stato di compilazione b6c69dc1-2338-484e-855b-xxxxxxxxxxxx
status Stato corrente della richiesta Completato

Analizzare il testo con una categoria personalizzata

Eseguire il comando seguente per analizzare il testo con la categoria personalizzata. Sostituire <your_api_key> e <your_endpoint> con valori personalizzati.

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

Richiesta API

Campo Descrizione
text Contenuto di testo o messaggio destinato al rilevamento delle categorie
categoryName Il nome della categoria in cui si intende rilevare il testo
version Numero di versione della categoria

Risposta API

Campo Descrizione Valore di esempio
customCategoryAnalysis Oggetto contenente il risultato dell'analisi per la categoria.
detected Indica se la categoria specificata è stata rilevata. false

Altre operazioni relative alle categorie personalizzate

Ricordarsi di sostituire i segnaposto seguenti con i valori effettivi per la chiave API, l'endpoint e il contenuto specifico (nome della categoria, definizione e così via). Questi esempi facilitano la gestione delle categorie personalizzate nell'account.

Ottenere una categoria personalizzata o una sua versione specifica

Sostituire i segnaposto con valori personalizzati ed eseguire il comando seguente in una finestra del terminale:

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"

Elencare le categorie delle versioni più recenti

Sostituire i segnaposto con valori personalizzati ed eseguire il comando seguente in una finestra del terminale:

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"

Eliminare una categoria personalizzata o una sua versione specifica

Sostituire i segnaposto con valori personalizzati ed eseguire il comando seguente in una finestra del terminale:

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"