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:
- cURL für REST-API-Aufrufe
- Installation von Python 3.x
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>\"
]
}'