クイックスタート: 画像コンテンツを分析する
基本的な画像モデレーションを行うために、Content Studio、REST API、またはクライアント SDK の使用を開始します。 Azure AI Content Safety サービスは、不快なコンテンツにフラグを設定する AI アルゴリズムを備えています。 これを試すには、これらの手順に従います。
画像モデレーションの詳細については、危害カテゴリの概念に関するページを参照してください。 API 入力の制限については、「概要」の「入力の要件」セクションを参照してください。
Note
サンプル データとコードには不快なコンテンツが含まれている可能性があります。 ユーザーの裁量が推奨されます。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを入手したら、Azure portal で Content Safety リソースを作成し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、サポートされているリージョン (「利用可能なリージョン」を参照)、サポートされている価格レベルを選択します。 [作成] を選択します。
- リソースのデプロイには数分かかります。 完了した後、[リソースに移動] を選択します。 左ペインの [リソース管理] で、[サブスクリプション キーとエンドポイント] を選びます。 エンドポイントといずれかのキーが、API の呼び出しに使われます。
- インストールされた
[ cURL](https://curl.haxx.se/)
イメージ コンテンツの分析
次のセクションでは、cURL を使用したサンプル画像モデレーションの要求について説明します。
サンプル画像を準備する
分析するサンプル画像を選び、それをデバイスにダウンロードします。
画像の制限事項については、「入力の要件」を参照してください。 アニメーション形式の場合、サービスによって最初のフレームが抽出されて分析が実行されます。
画像は 2 つの方法のいずれか (ローカル ファイルストリームまたは BLOB ストレージ URL) で入力できます。
ローカル ファイルストリーム (推奨): 画像を base64 にエンコードします。 codebeautify のような Web サイトを使用して、エンコードを行うことができます。 その後、エンコードされた文字列を一時的な場所に保存します。
BLOB ストレージ URL: Azure Blob Storage アカウントに画像をアップロードします。 BLOB ストレージのクイックスタートに従って、これを行う方法を確認してください。 その後、Azure Storage Explorer を開き、画像の URL を取得します。 一時的な場所にこれを保存します。
次に、Azure Storage リソースからの読み取りアクセス権を Content Safety リソースに付与する必要があります。 Azure AI Content Safety インスタンスのシステム割り当てマネージド ID を有効にし、ストレージ BLOB データ共同作成者/所有者のロールをその ID に割り当てます。
重要
ストレージ BLOB データ共同作成者またはストレージ BLOB データ所有者のみが有効なロールです。
Azure AI Content Safety インスタンスのマネージド ID を有効にします。
ストレージ BLOB データ共同作成者/所有者のロールをマネージド ID に割り当てます。 以下で強調表示されているロールはすべて機能するはずです。
イメージ コンテンツの分析
以下のコマンドをテキスト エディターに貼り付け、次の変更を加えます。
<endpoint>
をリソース エンドポイント URL に置き換えます。<your_subscription_key>
をご自分のキーに置き換えます。- 本文の
"image"
フィールドに、"content"
フィールドまたは"blobUrl"
フィールドを設定します。 たとえば、{"image": {"content": "<base_64_string>"}
や{"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"
}'
Note
BLOB ストレージの URL を使う場合、要求本文は次のようになります。
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
URL には以下のフィールドを含める必要があります。
名前 | 必須 | 説明 | 種類 |
---|---|---|---|
API バージョン | 必須 | これは確認する API のバージョンです。 現在のバージョンは api-version=2024-09-01 です。 例: <endpoint>/contentsafety/image:analyze?api-version=2024-09-01 |
String |
要求本文のパラメーターは、次の表のように定義されています。
名前 | 必須 | 説明 | Type |
---|---|---|---|
content | 必須 | 画像のコンテンツまたは BLOB URL。 base64 でエンコードされたバイトまたは BLOB URL のいずれかを指定できます。 両方が指定されている場合、要求は拒否されます。 画像の最大許容サイズは 7,200 x 7,200 ピクセルで、最大ファイル サイズは 4 MB です。 画像の最小サイズは 50 ピクセル x 50 ピクセルです。 | String |
categories | 省略可能 | これはカテゴリ名の配列であると想定されます。 使用できるカテゴリ名の一覧については、危害カテゴリ ガイドのページを参照してください。 カテゴリを指定しない場合、4 つのカテゴリがすべて使われます。 複数のカテゴリを使って、1 つの要求でスコアを取得します。 | String |
outputType | 省略可能 | 画像モデレーション API がサポートしているのは "FourSeverityLevels" だけです。 4 つのレベルで重大度を出力します。 値は 0,2,4,6 に設定できます |
String |
コマンド プロンプト ウィンドウを開き、cURL コマンドを実行します。
出力
コンソールに、画像のモデレーションの結果が JSON データとして表示されるはずです。 次に例を示します。
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
出力の JSON フィールドは次のように定義されています。
名前 | Description | Type |
---|---|---|
categoriesAnalysis | API によって予測される各出力クラス。 分類には複数のラベルを付けることができます。 たとえば、画像が画像モデレーション モデルにアップロードされると、性的コンテンツと暴力の両方として分類される可能性があります。 危害カテゴリ | String |
重大度 | 危害のカテゴリごとのフラグの重大度レベル。 危害カテゴリ | Integer |
リファレンスのドキュメント | ライブラリのソース コード | パッケージ (NuGet) | サンプル
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- .NET によるデスクトップ開発ワークロードを有効にした Visual Studio IDE。 または、Visual Studio IDE の使用を計画していない場合は、現在のバージョンの .NET Core が必要です。
- .NET ランタイムがインストールされている。
- Azure サブスクリプションを入手したら、Azure portal で Content Safety リソースを作成し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、サポートされているリージョン (「利用可能なリージョン」を参照)、サポートされている価格レベルを選択します。 [作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[リソースに移動] を選びます。 左ペインの [リソース管理] で、[サブスクリプション キーとエンドポイント] を選びます。 エンドポイントといずれかのキーが、API の呼び出しに使われます。
アプリケーションの設定
新しい C# アプリケーションを作成します。
Visual Studio を開き、[開始する] の下で [新しいプロジェクトの作成] を選択します。 テンプレート フィルターを C#/すべてのプラットフォーム/コンソール に設定します。 [コンソール アプリ] (Windows、Linux、macOS 上の .NET で実行できるコマンド ライン アプリケーション) を選択し、[次へ] を選択します。 プロジェクト名を「ContentSafetyQuickstart」に更新し、[次へ] を選択します。 [.NET 6.0] 以降を選択し、[作成] を選んでプロジェクトを作成します。
クライアント SDK のインストール
新しいプロジェクトを作成したら、ソリューション エクスプローラーでプロジェクト ソリューションを右クリックし、[NuGet パッケージの管理] を選んで、クライアント SDK をインストールします。 パッケージ マネージャーが開いたら、 [参照] を選択して Azure.AI.ContentSafety
を検索します。 [インストール] を選択します。
環境変数を作成する
この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。
キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。
CONTENT_SAFETY_KEY
環境変数を設定するには、YOUR_CONTENT_SAFETY_KEY
をリソースのキーの 1 つに置き換えます。CONTENT_SAFETY_ENDPOINT
環境変数を設定するには、YOUR_CONTENT_SAFETY_ENDPOINT
をリソースのエンドポイントに置き換えます。
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
環境変数を追加した後、実行中のプログラムのうち、環境変数を読み取るプログラム (コンソール ウィンドウを含む) の再起動が必要となる場合があります。
イメージ コンテンツの分析
プロジェクト ディレクトリから、以前に作成した Program.cs ファイルを開きます。 次のコードを貼り付けます。
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();
}
}
}
プロジェクト ディレクトリに sample_data フォルダーを作成し、image.png ファイルをそこに追加します。
IDE ウィンドウの上部にある [デバッグ] メニューから [デバッグの開始] を選んで (または F5 キーを押して)、アプリケーションをビルドして実行します。
リファレンス ドキュメント | ライブラリのソース コード | パッケージ (PyPI) | サンプル |
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを入手したら、Azure portal で Content Safety リソースを作成し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、サポートされているリージョン (「利用可能なリージョン」を参照)、サポートされている価格レベルを選択します。 [作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[リソースに移動] を選びます。 左ペインの [リソース管理] で、[サブスクリプション キーとエンドポイント] を選びます。 エンドポイントといずれかのキーが、API の呼び出しに使われます。
- Python 3.8 以降
- Python のインストールには、pip が含まれている必要があります。 pip がインストールされているかどうかを確認するには、コマンド ラインで
pip --version
を実行します。 最新バージョンの Python をインストールして pip を入手してください。
- Python のインストールには、pip が含まれている必要があります。 pip がインストールされているかどうかを確認するには、コマンド ラインで
環境変数を作成する
この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。
キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。
CONTENT_SAFETY_KEY
環境変数を設定するには、YOUR_CONTENT_SAFETY_KEY
をリソースのキーの 1 つに置き換えます。CONTENT_SAFETY_ENDPOINT
環境変数を設定するには、YOUR_CONTENT_SAFETY_ENDPOINT
をリソースのエンドポイントに置き換えます。
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
環境変数を追加した後、実行中のプログラムのうち、環境変数を読み取るプログラム (コンソール ウィンドウを含む) の再起動が必要となる場合があります。
イメージ コンテンツの分析
次のセクションでは、Python SDK を使ったサンプル要求について説明します。
コマンド プロンプトを開き、プロジェクト フォルダーに移動し、quickstart.py という名前の新しいファイルを作成します。
このコマンドを実行して、Azure AI Content Safety クライアント ライブラリをインストールします。
python -m pip install azure-ai-contentsafety
次のコードを 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()
"sample_data"
と"image.jpg"
を、使用するローカルのパスとファイル名に置き換えます。そして、クイック スタート ファイルで
python
コマンドを使用して、アプリケーションを実行します。python quickstart.py
リファレンス ドキュメント | ライブラリ ソース コード | 成果物 (Maven) | サンプル
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- 最新バージョンの Java Development Kit (JDK)
- Gradle ビルド ツール、または別の依存関係マネージャー。
- Azure サブスクリプションを入手したら、Azure portal で Content Safety リソースを作成し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、サポートされているリージョン (「利用可能なリージョン」を参照)、サポートされている価格レベルを選択します。 [作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[リソースに移動] を選びます。 左ペインの [リソース管理] で、[サブスクリプション キーとエンドポイント] を選びます。 エンドポイントといずれかのキーが、API の呼び出しに使われます。
アプリケーションの設定
新しい Gradle プロジェクトを作成します。
コンソール ウィンドウ (cmd、PowerShell、Bash など) で、ご利用のアプリ用に新しいディレクトリを作成し、そこに移動します。
mkdir myapp && cd myapp
作業ディレクトリから gradle init
コマンドを実行します。 次のコマンドを実行すると、build.gradle.kts を含む、Gradle 用の重要なビルド ファイルが作成されます。これは、アプリケーションを作成して構成するために、実行時に使用されます。
gradle init --type basic
DSL を選択するよう求められたら、Kotlin を選択します。
作業ディレクトリから次のコマンドを実行し、プロジェクト ソース フォルダーを作成します。
mkdir -p src/main/java
新しいフォルダーに移動し、ContentSafetyQuickstart.java という名前のファイルを作成します。
また、プロジェクトのルートに src/resources
フォルダーを作成し、サンプル画像を追加します。
クライアント SDK のインストール
このクイックスタートでは、Gradle 依存関係マネージャーを使用します。 クライアント ライブラリとその他の依存関係マネージャーの情報については、Maven Central Repository を参照してください。
build.gradle.kts を検索し、任意の IDE またはテキスト エディターで開きます。 その後、次のビルド構成をコピーします。 この構成では、エントリ ポイントが ContentSafetyQuickstart クラスである Java アプリケーションとしてプロジェクトを定義します。 これによって、Azure AI Vision ライブラリがインポートされます。
plugins {
java
application
}
application {
mainClass.set("ContentSafetyQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}
環境変数を作成する
この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。
キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。
CONTENT_SAFETY_KEY
環境変数を設定するには、YOUR_CONTENT_SAFETY_KEY
をリソースのキーの 1 つに置き換えます。CONTENT_SAFETY_ENDPOINT
環境変数を設定するには、YOUR_CONTENT_SAFETY_ENDPOINT
をリソースのエンドポイントに置き換えます。
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
環境変数を追加した後、実行中のプログラムのうち、環境変数を読み取るプログラム (コンソール ウィンドウを含む) の再起動が必要となる場合があります。
イメージ コンテンツの分析
適当なエディターまたは IDE で ContentSafetyQuickstart.java を開き、次のコードを貼り付けます。 source
変数をサンプル画像のパスに置き換えます。
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());
}
}
}
プロジェクトのルート フォルダーに戻り、次のようにしてアプリをビルドします。
gradle build
次に、gradle run
コマンドでそれを実行します。
gradle run
出力
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
リファレンスのドキュメント | ライブラリのソース コード | パッケージ (npm) | サンプル |
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- 最新バージョンの Node.js
- Azure サブスクリプションを入手したら、Azure portal で Content Safety リソースを作成し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、サポートされているリージョン (「利用可能なリージョン」を参照)、サポートされている価格レベルを選択します。 [作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[リソースに移動] を選びます。 左ペインの [リソース管理] で、[サブスクリプション キーとエンドポイント] を選びます。 エンドポイントといずれかのキーが、API の呼び出しに使われます。
アプリケーションの設定
新しい Node.js アプリケーションを作成します。 コンソール ウィンドウ (cmd、PowerShell、Bash など) で、ご利用のアプリ用に新しいディレクトリを作成し、そこに移動します。
mkdir myapp && cd myapp
npm init
コマンドを実行し、package.json
ファイルを使用して node アプリケーションを作成します。
npm init
また、プロジェクトのルートに /resources
フォルダーを作成し、サンプル画像を追加します。
クライアント SDK のインストール
@azure-rest/ai-content-safety
npm パッケージをインストールします。
npm install @azure-rest/ai-content-safety
また、環境変数を使用するには、 dotenv
モジュールもインストールします。
npm install dotenv
アプリの package.json
ファイルが依存関係によって更新されます。
環境変数を作成する
この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。
キーとエンドポイントの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。
CONTENT_SAFETY_KEY
環境変数を設定するには、YOUR_CONTENT_SAFETY_KEY
をリソースのキーの 1 つに置き換えます。CONTENT_SAFETY_ENDPOINT
環境変数を設定するには、YOUR_CONTENT_SAFETY_ENDPOINT
をリソースのエンドポイントに置き換えます。
重要
API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。
AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'
環境変数を追加した後、実行中のプログラムのうち、環境変数を読み取るプログラム (コンソール ウィンドウを含む) の再起動が必要となる場合があります。
イメージ コンテンツの分析
ディレクトリに新しいファイル index.js を作成します。 そのファイルを任意のエディターまたは IDE で開き、次のコードを貼り付けます。 image_path
変数をサンプル画像のパスに置き換えます。
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);
});
クイック スタート ファイルで node
コマンドを使用して、アプリケーションを実行します。
node index.js
出力
Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0
リソースをクリーンアップする
Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。
関連するコンテンツ
- 危害カテゴリ
- Content Safety Studio を使って各カテゴリのフィルターを構成し、データセットでテストし、コードをエクスポートしてデプロイします。