快速入門:分析多模式內容 (預覽)
多模式 API 會分析包含影像內容和文字內容的資料,協助讓應用程式和服務更加安全,免受使用者產生或 AI 生成的有害內容影響。 一起分析影像及其相關聯的文字內容可保留語境 (context),並提供對於內容的更全面理解。
如需有關篩選內容方式的詳細資訊,請參閱有害類別概念頁面。 有關 API 輸入限制,請參閱「概觀」的輸入要求一節。
重要
僅某些 Azure 區域提供此功能。 請參閱區域可用性 (英文)。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- 擁有 Azure 訂用帳戶之後,在 Azure 入口網站中建立 Content Safety 資源,以取得您的金鑰和端點。 輸入您資源的唯一名稱,選取您的訂用帳戶,然後選取資源群組、支援的區域,以及支援的定價層。 然後選取建立。
- 部署資源需要幾分鐘的時間。 完成後,選取 [移至資源]。 在左側窗格中,於 [資源管理] 下選取 [訂用帳戶金鑰和端點]。 將端點和任一索引鍵值複製到暫存位置,以供稍後使用。
- 已安裝下列其中一項:
- 適用於 REST API 呼叫的 cURL。
- 已安裝 Python 3.8.x
使用文字分析影像
下一節會逐步解說使用 cURL 進行多模式調節要求的範例。
準備範例影像
選擇要分析的範例影像,並將其下載到您的裝置。
如需影像限制,請參閱輸入需求 (英文)。 如果您的格式是動畫,服務會擷取第一個畫面以執行分析。
您可以透過下列兩種方法之一來輸入影像:本機 Filestream 或 Blob 儲存體 URL。
- 本機 Filestream (建議):將您的影像編碼為 base64。 您可以使用 codebeautify 之類的網站來執行編碼。 然後將編碼的字串儲存到暫存位置。
- Blob 儲存體 URL:將您的影像上傳至 Azure Blob 儲存體帳戶。 請遵循 Blob 儲存體快速入門,以了解如何執行這項操作。 然後開啟 Azure 儲存體總管,並取得影像的 URL。 請將其儲存至暫存位置。
使用文字分析影像
將下列命令貼上至文字編輯器,並進行下列變更。
- 將
<endpoint>
取代為您的資源端點 URL。 - 以您的金鑰取代
<your_subscription_key>
。 - 使用
"content"
欄位或"blobUrl"
欄位填入本文中的"image"
欄位。 例如:{"image": {"content": "<base_64_string>"}
或{"image": {"blobUrl": "<your_storage_url>"}
。 - 或者,將
"text"
欄位的值取代為您要分析的文字。
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
注意
如果您使用 Blob 儲存體 URL,要求本文看起來應如下所示:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
下欄欄位必須包含在 URL 中:
名稱 | 是必要的嗎? | 描述 | 類型 |
---|---|---|---|
API 版本 | 必要 | 這是要檢查的 API 版本。 目前的版本為:api-version=2024-09-15 。 範例: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
String |
要求本文中的參數在此表中定義:
名稱 | 描述 | 類型 |
---|---|---|
內容或 blobUrl | (必要) 影像的內容或 Blob URL。 照可以是 base64 編碼的位元組或 Blob URL。 如果提供兩者,則會拒絕要求。 影像允許的大小上限為 7,200 x 7,200 像素,檔案大小上限為 4 MB。 影像的大小下限為 50 像素 x50 像素。 | String |
text | (選用) 附加至影像的文字。 我們在一個文字要求中最多支援 1000 個字元 (Unicode 字碼指標)。 | String |
enableOcr | (必要) 當設定為 true 時,我們的服務將會執行 OCR,並同時使用輸入影像分析偵測到的文字。 我們可以從輸入影像辨識最多 1000 個字元 (Unicode 字碼指標)。 其他字元將會截斷。 | 布林值 |
categories | (選用) 假定這是類別名稱的陣列。 如需可用類別名稱的清單,請參閱危害類別指南。 如果未指定任何類別,則會使用這四個類別。 我們使用多個類別來取得單一要求中的分數。 | 列舉 |
開啟命令提示字元視窗並執行 cURL 命令。
輸出
您應該會在主控台中看到顯示為 JSON 資料的影像和文字調節結果。 例如:
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
輸出中的 JSON 欄位定義如下:
名稱 | 描述 | 類型 |
---|---|---|
categoriesAnalysis | API 預測的每個輸出類別。 分類可以為多標籤的。 例如,影像上傳到影像調節模型時,可以同時分類為色情內容和暴力內容。 傷害類別 | String |
嚴重性 | 每個傷害類別中旗標的嚴重性層級。 傷害類別 | 整數 |