QuickStart: Afbeeldingsinhoud analyseren
Ga aan de slag met de Content Studio-, REST API- of client-SDK's om eenvoudige beheer van installatiekopieën uit te voeren. De Azure AI Content Safety-service biedt ai-algoritmen voor het markeren van ongewenst inhoud. Volg deze stappen om het uit te proberen.
Zie de conceptpagina Harm-categorieën voor meer informatie over afbeeldingsbeheer. Zie de sectie Invoervereisten van het overzicht voor API-invoerlimieten.
Notitie
De voorbeeldgegevens en code kunnen aanstootgevende inhoud bevatten. Gebruikers discretie wordt geadviseerd.
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, selecteert u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
- cURL geïnstalleerd
Inhoud van afbeelding analyseren
In de volgende sectie wordt een voorbeeld van een aanvraag voor afbeeldingsbeheer beschreven met cURL.
Een voorbeeldafbeelding voorbereiden
Kies een voorbeeldafbeelding die u wilt analyseren en download deze naar uw apparaat.
Zie de invoervereisten voor de beperkingen van de installatiekopieën. Als uw indeling is geanimeerd, extraheert de service het eerste frame om de analyse uit te voeren.
U kunt uw afbeelding op een van de volgende twee manieren invoeren: lokale filestream - of blobopslag-URL.
Lokale filestream (aanbevolen): Codeer uw installatiekopieën naar base64. U kunt een website zoals codebeautify gebruiken om de codering uit te voeren. Sla vervolgens de gecodeerde tekenreeks op een tijdelijke locatie op.
Blob Storage-URL: Upload uw afbeelding naar een Azure Blob Storage-account. Volg de quickstart voor blob-opslag om te leren hoe u dit doet. Open vervolgens Azure Storage Explorer en haal de URL naar uw afbeelding op. Sla deze op een tijdelijke locatie op.
Vervolgens moet u uw Content Safety-resource toegang geven om te lezen uit de Azure Storage-resource. Schakel door het systeem toegewezen beheerde identiteit in voor het Azure AI Content Safety-exemplaar en wijs de rol van Inzender/Eigenaar voor opslagblobgegevens toe aan de identiteit:
Belangrijk
Alleen inzender voor opslagblobgegevens of eigenaar van opslagblobgegevens zijn geldige rollen om door te gaan.
Schakel beheerde identiteit in voor het Azure AI Content Safety-exemplaar.
Wijs de rol van Inzender/Eigenaar voor opslagblobgegevens toe aan de beheerde identiteit. Alle rollen die hieronder zijn gemarkeerd, moeten werken.
Inhoud van afbeelding analyseren
Plak de onderstaande opdracht in een teksteditor en breng de volgende wijzigingen aan.
- Vervang door
<endpoint>
de URL van uw resource-eindpunt. - Vervang
<your_subscription_key>
door uw sleutel. - Vul het
"image"
veld in de hoofdtekst in met een"content"
veld of een"blobUrl"
veld. Bijvoorbeeld:{"image": {"content": "<base_64_string>"}
of{"image": {"blobUrl": "<your_storage_url>"}
.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2024-09-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate", "SelfHarm", "Sexual", "Violence"],
"outputType": "FourSeverityLevels"
}'
Notitie
Als u een BLOB Storage-URL gebruikt, moet de aanvraagbody er als volgt uitzien:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
De onderstaande velden moeten worden opgenomen in de URL:
Naam | Vereist? | Beschrijving | Type |
---|---|---|---|
API-versie | Vereist | Dit is de API-versie die moet worden gecontroleerd. Huidige versie is: api-version=2024-09-01 . Voorbeeld: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 |
String |
De parameters in de aanvraagbody worden gedefinieerd in deze tabel:
Naam | Vereist? | Beschrijving | Type |
---|---|---|---|
tevreden | Vereist | De inhoud of blob-URL van de afbeelding. Ik kan base64-gecodeerde bytes of een blob-URL zijn. Als beide worden gegeven, wordt het verzoek geweigerd. De maximaal toegestane grootte van de afbeelding is 7.200 x 7.200 pixels en de maximale bestandsgrootte is 4 MB. De minimale grootte van de afbeelding is 50 pixels x 50 pixels. | String |
Categorieën | Optioneel | Dit wordt verondersteld een matrix met categorienamen te zijn. Zie de handleiding Harm-categorieën voor een lijst met beschikbare categorienamen. Als er geen categorieën zijn opgegeven, worden alle vier de categorieën gebruikt. We gebruiken meerdere categorieën om scores in één aanvraag op te halen. | String |
outputType | Optioneel | Afbeeldingsbeheer-API ondersteunt "FourSeverityLevels" alleen . Uitvoer ernstniveaus in vier niveaus. De waarde kan zijn 0,2,4,6 |
String |
Open een opdrachtpromptvenster en voer de cURL-opdracht uit.
Uitvoer
U ziet dat de resultaten van afbeeldingsbeheer worden weergegeven als JSON-gegevens in de console. Voorbeeld:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
De JSON-velden in de uitvoer worden hier gedefinieerd:
Name | Omschrijving | Type |
---|---|---|
categoriesAnalysis | Elke uitvoerklasse die de API voorspelt. Classificatie kan meerdere labels hebben. Wanneer een afbeelding bijvoorbeeld wordt geüpload naar het model voor afbeeldingsbeheer, kan deze worden geclassificeerd als seksuele inhoud en geweld. Categorieën schade | String |
Ernst | Het ernstniveau van de vlag in elke schadecategorie. Categorieën schade | Geheel getal |
Referentiedocumentatie | Broncode van bibliotheek | Pakket (NuGet) | Voorbeelden
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De Visual Studio IDE waarvoor .NET-desktopontwikkeling is ingeschakeld. Of als u niet van plan bent om Visual Studio IDE te gebruiken, hebt u de huidige versie van .NET Core nodig.
- .NET Runtime geïnstalleerd.
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, gaat u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
Toepassing instellen
Maak een nieuwe C#-toepassing.
Open Visual Studio en selecteer onder Aan de slag een nieuw project maken. Stel de sjabloonfilters in op C#/Alle platforms/console. Selecteer Console-app (opdrachtregeltoepassing die kan worden uitgevoerd op .NET in Windows, Linux en macOS) en kies Volgende. Werk de projectnaam bij naar ContentSafetyQuickstart en kies Volgende. Selecteer .NET 6.0 of hoger en kies Maken om het project te maken.
De client-SDK installeren
Nadat u een nieuw project hebt gemaakt, installeert u de client-SDK door met de rechtermuisknop op de projectoplossing in Solution Explorer te klikken en NuGet-pakketten beheren te selecteren. Selecteer in Package Manager dat wordt geopend de optie Bladeren en zoek naar Azure.AI.ContentSafety
. Selecteer Installeren.
Omgevingsvariabelen maken
In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.
Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
CONTENT_SAFETY_KEY
omgevingsvariabele wilt instellen, vervangt u deze doorYOUR_CONTENT_SAFETY_KEY
een van de sleutels voor uw resource. - Als u de
CONTENT_SAFETY_ENDPOINT
omgevingsvariabele wilt instellen, vervangtYOUR_CONTENT_SAFETY_ENDPOINT
u het eindpunt voor uw resource.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.
Inhoud van afbeelding analyseren
Open vanuit de projectmap het Program.cs-bestand dat u eerder hebt gemaakt. Plak er de volgende code in.
using System;
using Azure.AI.ContentSafety;
namespace Azure.AI.ContentSafety.Dotnet.Sample
{
class ContentSafetySampleAnalyzeImage
{
public static void AnalyzeImage()
{
// retrieve the endpoint and key from the environment variables created earlier
string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");
ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));
// Example: analyze image
string imagePath = @"sample_data\image.png";
ContentSafetyImageData image = new ContentSafetyImageData(BinaryData.FromBytes(File.ReadAllBytes(imagePath)));
var request = new AnalyzeImageOptions(image);
Response<AnalyzeImageResult> response;
try
{
response = client.AnalyzeImage(request);
}
catch (RequestFailedException ex)
{
Console.WriteLine("Analyze image failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
throw;
}
Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Hate)?.Severity ?? 0);
Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.SelfHarm)?.Severity ?? 0);
Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Sexual)?.Severity ?? 0);
Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Violence)?.Severity ?? 0);
}
static void Main()
{
AnalyzeImage();
}
}
}
Maak een sample_data map in uw projectmap en voeg er een image.png bestand aan toe.
Bouw en voer de toepassing uit door Start Debugging te selecteren in het menu Foutopsporing boven aan het IDE-venster (of druk op F5).
Referentiedocumentatie | Broncode bibliotheek | Package (PyPI) | Voorbeelden |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, gaat u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
- Python 3.8 of hoger
- Uw Python-installatie moet pip bevatten. U kunt controleren of pip is geïnstalleerd door op de opdrachtregel uit te voeren
pip --version
. Haal pip op door de nieuwste versie van Python te installeren.
- Uw Python-installatie moet pip bevatten. U kunt controleren of pip is geïnstalleerd door op de opdrachtregel uit te voeren
Omgevingsvariabelen maken
In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.
Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
CONTENT_SAFETY_KEY
omgevingsvariabele wilt instellen, vervangt u deze doorYOUR_CONTENT_SAFETY_KEY
een van de sleutels voor uw resource. - Als u de
CONTENT_SAFETY_ENDPOINT
omgevingsvariabele wilt instellen, vervangtYOUR_CONTENT_SAFETY_ENDPOINT
u het eindpunt voor uw resource.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.
Inhoud van afbeelding analyseren
In de volgende sectie wordt een voorbeeldaanvraag beschreven met de Python SDK.
Open een opdrachtprompt, navigeer naar de projectmap en maak een nieuw bestand met de naam quickstart.py.
Voer deze opdracht uit om de Azure AI Content Safety-clientbibliotheek te installeren:
python -m pip install azure-ai-contentsafety
Kopieer de volgende code naar quickstart.py:
import os from azure.ai.contentsafety import ContentSafetyClient from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData, ImageCategory from azure.core.credentials import AzureKeyCredential from azure.core.exceptions import HttpResponseError def analyze_image(): endpoint = os.environ.get('CONTENT_SAFETY_ENDPOINT') key = os.environ.get('CONTENT_SAFETY_KEY') image_path = os.path.join("sample_data", "image.jpg") # Create an Azure AI Content Safety client client = ContentSafetyClient(endpoint, AzureKeyCredential(key)) # Build request with open(image_path, "rb") as file: request = AnalyzeImageOptions(image=ImageData(content=file.read())) # Analyze image try: response = client.analyze_image(request) except HttpResponseError as e: print("Analyze image failed.") if e.error: print(f"Error code: {e.error.code}") print(f"Error message: {e.error.message}") raise print(e) raise hate_result = next(item for item in response.categories_analysis if item.category == ImageCategory.HATE) self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM) sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL) violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.VIOLENCE) if hate_result: print(f"Hate severity: {hate_result.severity}") if self_harm_result: print(f"SelfHarm severity: {self_harm_result.severity}") if sexual_result: print(f"Sexual severity: {sexual_result.severity}") if violence_result: print(f"Violence severity: {violence_result.severity}") if __name__ == "__main__": analyze_image()
Vervang
"sample_data"
en"image.jpg"
door het pad en de bestandsnaam van de lokale die u wilt gebruiken.Voer vervolgens de toepassing uit met de
python
opdracht in uw quickstart-bestand.python quickstart.py
Referentiedocumentatie | Broncode bibliotheek | Artefact (Maven) | Voorbeelden
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van de Java Development Kit (JDK)
- Het hulpprogramma Gradle of een andere afhankelijkheidsbeheerder.
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, gaat u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
Toepassing instellen
Maak een nieuw Gradle-project.
Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
mkdir myapp && cd myapp
Voer de opdracht gradle init
uit vanuit uw werkmap. Met deze opdracht maakt u essentiële buildbestanden voor Gradle, inclusief build.gradle.kts, dat tijdens runtime wordt gebruikt om de toepassing te maken en te configureren.
gradle init --type basic
Wanneer u wordt gevraagd om een DSL te kiezen, selecteert u Kotlin.
Voer de volgende opdracht uit vanuit uw werkmap om een projectbronmap te maken:
mkdir -p src/main/java
Navigeer naar de nieuwe map en maak een bestand met de naam ContentSafetyQuickstart.java.
Maak ook een src/resources
map in de hoofdmap van uw project en voeg er een voorbeeldafbeelding aan toe.
De client-SDK installeren
Deze quickstart maakt gebruik van de Gradle-afhankelijkheidsmanager. U vindt de clientbibliotheek en informatie voor andere afhankelijkheidsbeheerders in de Maven Central Repository.
Zoek build.gradle.kts en open het met uw favoriete IDE of teksteditor. Kopieer het vervolgens in de volgende buildconfiguratie. Deze configuratie definieert het project als een Java-toepassing waarvan het toegangspunt de klasse ContentSafetyQuickstart is. De Azure AI Vision-bibliotheek wordt geïmporteerd.
plugins {
java
application
}
application {
mainClass.set("ContentSafetyQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}
Omgevingsvariabelen maken
In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.
Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
CONTENT_SAFETY_KEY
omgevingsvariabele wilt instellen, vervangt u deze doorYOUR_CONTENT_SAFETY_KEY
een van de sleutels voor uw resource. - Als u de
CONTENT_SAFETY_ENDPOINT
omgevingsvariabele wilt instellen, vervangtYOUR_CONTENT_SAFETY_ENDPOINT
u het eindpunt voor uw resource.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.
Inhoud van afbeelding analyseren
Open ContentSafetyQuickstart.java in de gewenste editor of IDE en plak de volgende code. Vervang de source
variabele door het pad naar de voorbeeldafbeelding.
import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeImageOptions;
import com.azure.ai.contentsafety.models.AnalyzeImageResult;
import com.azure.ai.contentsafety.models.ContentSafetyImageData;
import com.azure.ai.contentsafety.models.ImageCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class ContentSafetyQuickstart {
public static void main(String[] args) throws IOException {
// get endpoint and key from environment variables
String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
String key = System.getenv("CONTENT_SAFETY_KEY");
ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
.credential(new KeyCredential(key))
.endpoint(endpoint).buildClient();
ContentSafetyImageData image = new ContentSafetyImageData();
String cwd = System.getProperty("user.dir");
String source = "/src/samples/resources/image.png";
image.setContent(BinaryData.fromBytes(Files.readAllBytes(Paths.get(cwd, source))));
AnalyzeImageResult response =
contentSafetyClient.analyzeImage(new AnalyzeImageOptions(image));
for (ImageCategoriesAnalysis result : response.getCategoriesAnalysis()) {
System.out.println(result.getCategory() + " severity: " + result.getSeverity());
}
}
}
Ga terug naar de hoofdmap van het project en bouw de app met:
gradle build
Voer het vervolgens uit met de gradle run
opdracht:
gradle run
Uitvoer
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Referentiedocumentatie | Bibliotheekbroncode | Pakket (npm) | Voorbeelden |
Vereisten
- Een Azure-abonnement - Een gratis abonnement maken
- De huidige versie van Node.js
- Zodra u uw Azure-abonnement hebt, maakt u een Content Safety-resource in Azure Portal om uw sleutel en eindpunt op te halen. Voer een unieke naam in voor uw resource, selecteer uw abonnement en selecteer een resourcegroep, ondersteunde regio (zie Beschikbaarheid van regio) en ondersteunde prijscategorie. Selecteer vervolgens Maken.
- Het implementeren van de resource duurt enkele minuten. Nadat deze is voltooid, gaat u naar de resource. Selecteer in het linkerdeelvenster onder Resourcebeheer de optie Abonnementssleutel en Eindpunt. Het eindpunt en een van de sleutels worden gebruikt om API's aan te roepen.
Toepassing instellen
Een nieuwe Node.js-toepassing maken. Maak in een consolevenster (zoals cmd, PowerShell of Bash) een nieuwe map voor de app, en navigeer naar deze map.
mkdir myapp && cd myapp
Voer de opdracht npm init
uit om een knooppunttoepassing te maken met een package.json
-bestand.
npm init
Maak ook een /resources
map in de hoofdmap van uw project en voeg er een voorbeeldafbeelding aan toe.
De client-SDK installeren
Installeer het @azure-rest/ai-content-safety
npm-pakket:
npm install @azure-rest/ai-content-safety
Installeer ook de dotenv
module voor het gebruik van omgevingsvariabelen:
npm install dotenv
Het package.json
-bestand van uw app wordt bijgewerkt met de afhankelijkheden.
Omgevingsvariabelen maken
In dit voorbeeld schrijft u uw referenties naar omgevingsvariabelen op de lokale computer waarop de toepassing wordt uitgevoerd.
Als u de omgevingsvariabele voor uw sleutel en eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
CONTENT_SAFETY_KEY
omgevingsvariabele wilt instellen, vervangt u deze doorYOUR_CONTENT_SAFETY_KEY
een van de sleutels voor uw resource. - Als u de
CONTENT_SAFETY_ENDPOINT
omgevingsvariabele wilt instellen, vervangtYOUR_CONTENT_SAFETY_ENDPOINT
u het eindpunt voor uw resource.
Belangrijk
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle actieve programma's die de omgevingsvariabelen lezen, met inbegrip van het consolevenster, opnieuw opstarten.
Inhoud van afbeelding analyseren
Maak een nieuw bestand in uw map index.js. Open deze in uw favoriete editor of IDE en plak de volgende code. Vervang de image_path
variabele door het pad naar de voorbeeldafbeelding.
const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
{ isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
const fs = require("fs");
const path = require("path");
// Load the .env file if it exists
require("dotenv").config();
async function main() {
// get endpoint and key from environment variables
const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
const key = process.env["CONTENT_SAFETY_KEY"];
const credential = new AzureKeyCredential(key);
const client = ContentSafetyClient(endpoint, credential);
// replace with your own sample image file path
const image_path = path.resolve(__dirname, "./resources/image.jpg");
const imageBuffer = fs.readFileSync(image_path);
const base64Image = imageBuffer.toString("base64");
const analyzeImageOption = { image: { content: base64Image } };
const analyzeImageParameters = { body: analyzeImageOption };
const result = await client.path("/image:analyze").post(analyzeImageParameters);
if (isUnexpected(result)) {
throw result;
}
for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
const imageCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
console.log(
imageCategoriesAnalysisOutput.category,
" severity: ",
imageCategoriesAnalysisOutput.severity
);
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Voer de toepassing uit met de opdracht node
in uw quickstart-bestand.
node index.js
Uitvoer
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Resources opschonen
Als u een Azure AI-servicesabonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd.
Gerelateerde inhoud
- Categorieën schade
- Configureer filters voor elke categorie en test op gegevenssets met Behulp van Content Safety Studio, exporteer de code en implementeer.