Freigeben über


Verwenden der API für benutzerdefinierte Kategorien (schnell)

Mit der API für benutzerdefinierte Kategorien (schnell) können Sie schnell auf neue Incidents aufgrund schädlicher Inhalte reagieren. Sie können einen Incident mit einigen Beispielen in einem bestimmten Thema definieren. Dann erkennt der Dienst fortan ähnliche Inhalte.

Führen Sie die folgenden Schritte aus, um einen Incident mit einigen Beispielen für Textinhalte zu definieren und dann neuen Textinhalt zu analysieren, um festzustellen, ob er mit dem Incident übereinstimmt.

Wichtig

Dieses neue Feature ist nur in ausgewählten Azure-Regionen verfügbar. Weitere Informationen finden Sie unter Regionale Verfügbarkeit.

Achtung

Die Beispieldaten in diesem Leitfaden können anstößige Inhalte enthalten. Wir raten zu umsichtigem Vorgehen.

Voraussetzungen

  • Azure-Abonnement: Kostenloses Azure-Konto
  • Sobald Sie über ein Azure-Abonnement verfügen, können Sie im Azure-Portal eine Content Safety-Ressource erstellen, um Ihren Schlüssel und Endpunkt abzurufen. Geben Sie einen eindeutigen Namen für Ihre Ressource ein, wählen Sie Ihr Abonnement aus, und wählen Sie dann eine Ressourcengruppe, eine unterstützte Region (weitere Informationen unter Regionale Verfügbarkeit) und einen unterstützten Tarif aus. Wählen Sie dann Erstellen aus.
    • Die Bereitstellung der Ressource dauert einige Minuten. Wählen Sie im Anschluss Zu Ressource wechseln aus. Wählen Sie im linken Bereich unter Ressourcenverwaltung die Option Abonnementschlüssel und Endpunkt aus. Der Endpunkt und einer der Schlüssel werden verwendet, um APIs aufzurufen.
  • Erstellen Sie auch einen Blobspeichercontainer, wenn Sie Ihre Bilder dort hochladen möchten. Sie können Ihre Bilder alternativ als Base64-Zeichenfolgen codieren und direkt in den API-Aufrufen verwenden.
  • Installation einer der folgenden Optionen:

Testen der API für benutzerdefinierte Textkategorien (schnell)

Verwenden Sie den Beispielcode in diesem Abschnitt, um einen Textincident zu erstellen, diesem Beispiele hinzuzufügen, den Incident bereitzustellen und dann Textincidents zu erkennen.

Erstellen eines Incidentobjekts

Ersetzen Sie in den folgenden Befehlen <your_api_key>, <your_endpoint> und andere erforderliche Parameter durch Ihre eigenen Werte.

Der folgende Befehl erstellt einen Incident mit einem Namen und einer Definition.

curl --location --request PATCH 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{ \"incidentName\": \"<test-incident>\", \"incidentDefinition\": \"<string>\"}'

Hinzufügen von Beispielen zum Incident

Verwenden Sie den folgenden Befehl, um dem Incident Textbeispiele hinzuzufügen.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  \"IncidentSamples\": [
    { \"text\":    \"<text-example-1>\"},
    { \"text\":    \"<text-example-2>\"},
    ...
  ]
}'

Bereitstellen des Incidents

Verwenden Sie den folgenden Befehl, um den Incident bereitzustellen, sodass er für die Analyse neuer Inhalte verfügbar ist.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

Erkennen von Textincidents

Führen Sie den folgenden Befehl aus, um Beispieltextinhalte für den soeben bereitgestellten Incident zu analysieren.

curl --location 'https://<endpoint>/contentsafety/text:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"text\":  \"<test-text>\",
  \"incidentNames\": [
    \"<text-incident-name>\"
  ]
}'

Testen der API für benutzerdefinierte Bildkategorien (schnell)

Verwenden Sie den Beispielcode in diesem Abschnitt, um einen Bildincident zu erstellen, diesem Beispiele hinzuzufügen, den Incident bereitzustellen und dann Bildincidents zu erkennen.

Einen Incident erstellen.

Ersetzen Sie in den folgenden Befehlen <your_api_key>, <your_endpoint> und andere erforderliche Parameter durch Ihre eigenen Werte.

Mit dem folgenden Befehl wird ein Bildincident erstellt:

curl --location --request PATCH 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"incidentName\": \"<image-incident-name>\"
}'

Hinzufügen von Beispielen zum Incident

Verwenden Sie den folgenden Befehl, um Ihrem Incident Beispiele hinzuzufügen. Die Bildbeispiele können URLs sein, die auf Bilder in einem Azure Blob Storage-Container verweisen, oder sie können Base64-Zeichenfolgen sein.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSamples\": [
    {
      \"image\": {
        \"content\": \"<base64-data>\",
        \"bloburl\": \"<your-blob-storage-url>.png\"
      }
    }
  ]
}'

Bereitstellen des Incidents

Verwenden Sie den folgenden Befehl, um den Incident bereitzustellen, sodass er für die Analyse neuer Inhalte verfügbar ist.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

Erkennen von Bildincidents

Verwenden Sie den folgenden Befehl, um ein Beispielbild hochzuladen und anhand des von Ihnen bereitgestellten Incidents zu testen. Sie können entweder eine URL verwenden, die auf das Bild in einem Azure Blob Storage-Container verweist, oder Sie können die Bilddaten als Base64-Zeichenfolge hinzufügen.

curl --location 'https://<endpoint>/contentsafety/image:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
    \"image\": {
      \"url\": \"<your-blob-storage-url>/image.png\",
      "content": "<base64-data>"
    },
    \"incidentNames\": [
      \"<image-incident-name>\"
    ]
  }
}'

Andere Incidentvorgänge

Die folgenden Vorgänge sind nützlich für die Verwaltung von Incidents und Incidentbeispielen.

Textincident-API

Auflisten aller Incidents

curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Abrufen der Incidentdetails

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Löschen des Incidents

curl --location --request DELETE 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Auflisten aller Beispiele unter einem Incident

Mit diesem Befehl werden die eindeutigen IDs aller Beispiele abgerufen, die einem bestimmten Incidentobjekt zugeordnet sind.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Abrufen der Details eines Incidentbeispiels

Verwenden Sie eine Incidentbeispiel-ID, um Details zum Beispiel nachzuschlagen.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Löschen eines Incidentbeispiels

Verwenden Sie eine Incidentbeispiel-ID, um dieses Beispiel abzurufen und zu löschen.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSampleIds\": [
    \"<your-incident-sample-id>\"
  ]
}'

Bildincident-API

Abrufen der Incidentliste

curl --location GET 'https://<endpoint>/contentsafety/image/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Abrufen der Incidentdetails

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Löschen des Incidents

curl --location --request DELETE 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Auflisten aller Beispiele unter einem Incident

Mit diesem Befehl werden die eindeutigen IDs aller Beispiele abgerufen, die einem bestimmten Incidentobjekt zugeordnet sind.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Abrufen der Details für Incidentbeispiele

Verwenden Sie eine Incidentbeispiel-ID, um Details zum Beispiel nachzuschlagen.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Löschen des Incidentbeispiels

Verwenden Sie eine Incidentbeispiel-ID, um dieses Beispiel abzurufen und zu löschen.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSampleIds\": [
    \"<your-incident-sample-id>\"
  ]
}'