Hızlı Başlangıç: Görüntü içeriğini analiz etme
Temel görüntü moderasyonu yapmak için Content Studio, REST API veya istemci SDK'larını kullanmaya başlayın. Azure AI İçerik Güvenliği hizmeti, uygunsuz içeriği işaretlemek için size yapay zeka algoritmaları sağlar. Denemek için bu adımları izleyin.
Görüntü denetimi hakkında daha fazla bilgi için Bkz . Harm kategorileri kavramı sayfası. API giriş sınırları için Genel Bakış'ın Giriş gereksinimleri bölümüne bakın.
Not
Örnek veriler ve kod rahatsız edici içerik içerebilir. Kullanıcının takdirine bağlı olması tavsiye edilir.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz . Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanı. Daha sonra, Oluştur'u seçin.
- Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra kaynağa git'i seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
- cURL yüklü
Resim içeriğini analiz etme
Aşağıdaki bölümde, cURL ile örnek görüntü denetleme isteğinde yol gösterilir.
Örnek görüntü hazırlama
Analiz etmek için örnek bir görüntü seçin ve cihazınıza indirin.
Görüntü sınırlamaları için bkz . Giriş gereksinimleri . Biçiminiz animasyonluysa, hizmet analizi yapmak için ilk kareyi ayıklar.
Görüntünüzü iki yöntemden biriyle girebilirsiniz: yerel dosya akışı veya blob depolama URL'si.
Yerel dosya akışı (önerilir): Görüntünüzü base64 olarak kodlayın. Kodlamayı yapmak için codebeautify gibi bir web sitesi kullanabilirsiniz. Ardından kodlanmış dizeyi geçici bir konuma kaydedin.
Blob depolama URL'si: Görüntünüzü bir Azure Blob Depolama hesabına yükleyin. Bunun nasıl yapılacağını öğrenmek için blob depolama hızlı başlangıcını izleyin. Ardından Azure Depolama Gezgini açın ve görüntünüzün URL'sini alın. Geçici bir konuma kaydedin.
Ardından, İçerik Güvenliği kaynağınıza Azure Depolama kaynağından okuma erişimi vermeniz gerekir. Azure AI İçerik Güvenliği örneği için sistem tarafından atanan Yönetilen kimliği etkinleştirin ve kimliğe Depolama Blob Verileri Katkıda Bulunanı/Sahibi rolünü atayın:
Önemli
Devam etmek için yalnızca Depolama Blob Verileri Katkıda Bulunanı veya Depolama Blob Veri Sahibi geçerli rollerdir.
Azure AI İçerik Güvenliği örneği için yönetilen kimliği etkinleştirin.
Yönetilen kimliğe Depolama Blob Verileri Katkıda Bulunanı/Sahibi rolünü atayın. Aşağıda vurgulanan tüm roller işe yaramalıdır.
Resim içeriğini analiz etme
Aşağıdaki komutu bir metin düzenleyicisine yapıştırın ve aşağıdaki değişiklikleri yapın.
- değerini kaynak uç noktası URL'nizle değiştirin
<endpoint>
. <your_subscription_key>
yerine anahtarınızı yazın.- Gövdedeki
"image"
alanı bir"content"
alan veya"blobUrl"
alanla doldurun. Örneğin:{"image": {"content": "<base_64_string>"}
veya{"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"
}'
Not
Blob depolama URL'si kullanıyorsanız istek gövdesi şu şekilde görünmelidir:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Aşağıdaki alanlar URL'ye eklenmelidir:
Veri Akışı Adı | Gerekli mi? | Açıklama | Tür |
---|---|---|---|
API Sürümü | Zorunlu | Bu, denetlenecek API sürümüdür. Geçerli sürüm: api-version=2024-09-01 . Örnek: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 |
String |
İstek gövdesindeki parametreler şu tabloda tanımlanmıştır:
Veri Akışı Adı | Gerekli mi? | Açıklama | Tür |
---|---|---|---|
içerik | Zorunlu | Görüntünün içeriği veya blob URL'si. Base64 ile kodlanmış bayt veya blob URL'si olabilirim. Her ikisi de verilirse istek reddedilir. Resmin izin verilen en büyük boyutu 7.200 x 7.200 piksel ve maksimum dosya boyutu 4 MB'tır. Resmin en küçük boyutu 50 piksel x 50 pikseldir. | String |
Kategori | İsteğe bağlı | Bunun bir kategori adları dizisi olduğu varsayılır. Kullanılabilir kategori adlarının listesi için Bkz. Harm kategorileri kılavuzu . Hiçbir kategori belirtilmezse, dört kategori de kullanılır. Tek bir istekte puan almak için birden çok kategori kullanırız. | String |
outputType | İsteğe bağlı | Görüntü denetleme API'si yalnızca destekler "FourSeverityLevels" . Dört düzeyde çıkış önem dereceleri. Değer şu şekilde olabilir: 0,2,4,6 |
String |
Bir komut istemi penceresi açın ve cURL komutunu çalıştırın.
Çıktı
Görüntü denetimi sonuçlarının konsolda JSON verileri olarak görüntülendiğini görmeniz gerekir. Örneğin:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Çıktıdaki JSON alanları burada tanımlanır:
Veri Akışı Adı | Açıklama | Tür |
---|---|---|
kategorilerAnalysis | API'nin tahmin yaptığı her çıkış sınıfı. Sınıflandırma çok etiketli olabilir. Örneğin, görüntü denetim modeline bir görüntü yüklendiğinde, hem cinsel içerik hem de şiddet olarak sınıflandırılabilir. Zarar kategorileri | String |
Önem Derecesi | Her zarar kategorisinde bayrağın önem düzeyi. Zarar kategorileri | Tamsayı |
Başvuru belgeleri | Kitaplık kaynak kodu | Paketi (NuGet)Örnekleri |
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- İş yükü .NET masaüstü geliştirmesi etkinleştirilmiş Visual Studio IDE . Veya Visual Studio IDE kullanmayı planlamıyorsanız geçerli .NET Core sürümüne ihtiyacınız vardır.
- .NET Çalışma Zamanı yüklü.
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz . Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanı. Daha sonra, Oluştur'u seçin.
- Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git'i seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
Uygulamayı ayarlama
Yeni bir C# uygulaması oluşturun.
Visual Studio'yu açın ve Başlarken'in altında Yeni proje oluştur'u seçin. Şablon filtrelerini C#/Tüm Platformlar/Konsol olarak ayarlayın. Konsol Uygulaması'nı (Windows, Linux ve macOS üzerinde .NET üzerinde çalıştırabilen komut satırı uygulaması) ve İleri'yi seçin. Proje adını ContentSafetyQuickstart olarak güncelleştirin ve İleri'yi seçin. Projeyi oluşturmak için .NET 6.0 veya üzerini seçin ve Oluştur'u seçin.
İstemci SDK'sını yükleme
Yeni bir proje oluşturduktan sonra, Çözüm Gezgini proje çözümüne sağ tıklayıp NuGet Paketlerini Yönet'i seçerek istemci SDK'sını yükleyin. Açılan paket yöneticisinde Gözat'ı seçin ve öğesini arayınAzure.AI.ContentSafety
. Yükle'yi seçin.
Ortam değişkenlerini oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
CONTENT_SAFETY_KEY
ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirinYOUR_CONTENT_SAFETY_KEY
. - Ortam değişkenini
CONTENT_SAFETY_ENDPOINT
ayarlamak için değerini kaynağınızın uç noktasıyla değiştirinYOUR_CONTENT_SAFETY_ENDPOINT
.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Resim içeriğini analiz etme
Proje dizininden, daha önce oluşturulmuş Program.cs dosyasını açın. Aşağıdaki kodu yapıştırın.
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();
}
}
}
Proje dizininizde bir sample_data klasörü oluşturun ve içine bir image.png dosyası ekleyin.
IDE penceresinin üst kısmındaki Hata Ayıkla menüsünden Hata Ayıklamayı Başlat'ı seçerek uygulamayı derleyin ve çalıştırın (veya F5 tuşuna basın).
Başvuru belgeleri | Kitaplık kaynak kodu | Paketi (PyPI)Örnekleri | |
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz . Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanı. Daha sonra, Oluştur'u seçin.
- Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git'i seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
- Python 3.8 veya üzeri
- Python yüklemeniz pip içermelidir. Pip'in yüklü olup olmadığını denetlemek için komut satırında komutunu çalıştırabilirsiniz
pip --version
. Python'ın en son sürümünü yükleyerek pip alın.
- Python yüklemeniz pip içermelidir. Pip'in yüklü olup olmadığını denetlemek için komut satırında komutunu çalıştırabilirsiniz
Ortam değişkenlerini oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
CONTENT_SAFETY_KEY
ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirinYOUR_CONTENT_SAFETY_KEY
. - Ortam değişkenini
CONTENT_SAFETY_ENDPOINT
ayarlamak için değerini kaynağınızın uç noktasıyla değiştirinYOUR_CONTENT_SAFETY_ENDPOINT
.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Resim içeriğini analiz etme
Aşağıdaki bölümde Python SDK'sı ile örnek bir istekte yol gösterir.
Bir komut istemi açın, proje klasörünüze gidin ve quickstart.py adlı yeni bir dosya oluşturun.
Azure AI Content Safety istemci kitaplığını yüklemek için şu komutu çalıştırın:
python -m pip install azure-ai-contentsafety
Aşağıdaki kodu quickstart.py kopyalayın:
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()
ve
"image.jpg"
değerini, kullanmak istediğiniz yerel dosyanın yolu ve dosya adıyla değiştirin"sample_data"
.Ardından hızlı başlangıç dosyanızdaki komutuyla
python
uygulamayı çalıştırın.python quickstart.py
Başvuru belgeleri | Kitaplık kaynak kodu | Yapıtı (Maven)Örnekler |
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Java Geliştirme Seti'nin (JDK) geçerli sürümü
- Gradle derleme aracı veya başka bir bağımlılık yöneticisi.
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz . Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanı. Daha sonra, Oluştur'u seçin.
- Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git'i seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
Uygulamayı ayarlama
Yeni bir Gradle projesi oluşturun.
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir myapp && cd myapp
gradle init
Komutunu çalışma dizininizden çalıştırın. Bu komut, uygulamanızı oluşturmak ve yapılandırmak için çalışma zamanında kullanılan build.gradle.kts de dahil olmak üzere Gradle için temel derleme dosyaları oluşturur.
gradle init --type basic
DSL seçmeniz istendiğinde Kotlin'i seçin.
Çalışma dizininizden aşağıdaki komutu çalıştırarak bir proje kaynak klasörü oluşturun:
mkdir -p src/main/java
Yeni klasöre gidin ve ContentSafetyQuickstart.java adlı bir dosya oluşturun.
Ayrıca projenizin kökünde bir src/resources
klasör oluşturun ve buna örnek bir görüntü ekleyin.
İstemci SDK'sını yükleme
Bu hızlı başlangıçta Gradle bağımlılık yöneticisi kullanılır. Maven Central Repository'de diğer bağımlılık yöneticilerinin istemci kitaplığını ve bilgilerini bulabilirsiniz.
build.gradle.kts dosyasını bulun ve tercih ettiğiniz IDE veya metin düzenleyici ile açın. Ardından aşağıdaki derleme yapılandırmasını kopyalayın. Bu yapılandırma, projeyi giriş noktası ContentSafetyQuickstart sınıfı olan bir Java uygulaması olarak tanımlar. Azure AI Vision kitaplığını içeri aktarır.
plugins {
java
application
}
application {
mainClass.set("ContentSafetyQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}
Ortam değişkenlerini oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
CONTENT_SAFETY_KEY
ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirinYOUR_CONTENT_SAFETY_KEY
. - Ortam değişkenini
CONTENT_SAFETY_ENDPOINT
ayarlamak için değerini kaynağınızın uç noktasıyla değiştirinYOUR_CONTENT_SAFETY_ENDPOINT
.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Resim içeriğini analiz etme
tercih ettiğiniz düzenleyicide veya IDE'de ContentSafetyQuickstart.java açın ve aşağıdaki kodu yapıştırın. değişkenini source
örnek görüntünüzün yoluyla değiştirin.
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());
}
}
}
Proje kök klasörüne geri dönün ve aşağıdakilerle uygulamayı derleyin:
gradle build
Ardından komutuyla gradle run
çalıştırın:
gradle run
Çıktı
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Başvuru belgeleri | Kitaplık kaynak kodu | Paketi (npm)Örnekler | |
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Node.js'in geçerli sürümü
- Azure aboneliğinizi aldıktan sonra anahtarınızı ve uç noktanızı almak için Azure portalında bir İçerik Güvenliği kaynağı oluşturun. Kaynağınız için benzersiz bir ad girin, aboneliğinizi seçin ve bir kaynak grubu, desteklenen bölge (bkz . Bölge kullanılabilirliği) ve desteklenen fiyatlandırma katmanı. Daha sonra, Oluştur'u seçin.
- Kaynağın dağıtılması birkaç dakika sürer. Tamamlandıktan sonra Kaynağa git'i seçin. Sol bölmedeki Kaynak Yönetimi'nin altında Abonelik Anahtarı ve Uç Nokta'yı seçin. Uç nokta ve anahtarlardan biri API'leri çağırmak için kullanılır.
Uygulamayı ayarlama
Yeni bir Node.js uygulaması oluşturun. Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir myapp && cd myapp
Bir package.json
dosyası ile bir düğüm uygulaması oluşturmak için npm init
komutunu çalıştırın.
npm init
Ayrıca projenizin kökünde bir /resources
klasör oluşturun ve buna örnek bir görüntü ekleyin.
İstemci SDK'sını yükleme
@azure-rest/ai-content-safety
npm paketini yükleyin:
npm install @azure-rest/ai-content-safety
Ayrıca ortam değişkenlerini kullanmak için modülü yükleyin dotenv
:
npm install dotenv
Uygulamanızın package.json
dosyası bağımlılıklarla güncelleştirilecek.
Ortam değişkenlerini oluşturma
Bu örnekte, kimlik bilgilerinizi uygulamayı çalıştıran yerel makinedeki ortam değişkenlerine yazacaksınız.
Anahtarınızın ve uç noktanızın ortam değişkenini ayarlamak için bir konsol penceresi açın ve işletim sisteminiz ve geliştirme ortamınıza yönelik yönergeleri izleyin.
- Ortam değişkenini
CONTENT_SAFETY_KEY
ayarlamak için değerini kaynağınızın anahtarlarından biriyle değiştirinYOUR_CONTENT_SAFETY_KEY
. - Ortam değişkenini
CONTENT_SAFETY_ENDPOINT
ayarlamak için değerini kaynağınızın uç noktasıyla değiştirinYOUR_CONTENT_SAFETY_ENDPOINT
.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
Ortam değişkenlerini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenlerini okuyacak tüm çalışan programları yeniden başlatmanız gerekebilir.
Resim içeriğini analiz etme
dizininizde yeni bir dosya oluşturun index.js. Bunu tercih ettiğiniz düzenleyicide veya IDE'de açın ve aşağıdaki kodu yapıştırın. değişkenini image_path
örnek görüntünüzün yoluyla değiştirin.
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);
});
Uygulamayı hızlı başlangıç dosyanızdaki node
komutuyla çalıştırın.
node index.js
Çıktı
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
Kaynakları temizleme
Azure AI hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
İlgili içerik
- Zarar kategorileri
- Content Safety Studio kullanarak her kategori için filtreleri yapılandırın ve veri kümelerinde test edin, kodu dışarı aktarın ve dağıtın.