你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:分析多模式内容(预览版)

多模式 API 分析包含图像内容和文本内容的材料,以帮助使应用程序和服务更安全地免受有害的用户生成或 AI 生成的内容的影响。 将图像及其关联的文本内容一起分析可以保留上下文,对内容进行更全面的理解。

有关内容筛选方式的详细信息,请参阅危害类别概念页。 如需了解 API 输入限制,请参阅“概述”的输入要求部分。

重要

此功能仅在某些 Azure 区域中可用。 请参阅区域可用性

先决条件

  • Azure 订阅 - 免费创建订阅
  • 拥有 Azure 订阅后,请在 Azure 门户中创建 Content Safety 资源 ,以获取密钥和终结点。 输入资源的唯一名称,选择订阅,并选择资源组、支持的区域和支持的定价层。 然后选择“创建”。
    • 部署资源需要几分钟时间。 完成后,选择“转到资源”。 在左侧窗格中的“资源管理”下,选择“订阅密钥和终结点”。 将终结点和其中一个密钥值复制到临时位置供以后使用。
  • 已安装以下项之一:

使用文本分析图像

下一部分介绍使用 cURL 进行多模式审查的示例。

准备图像示例

选择要分析的示例图像,并将其下载到设备。

有关图像限制,请参阅输入要求。 如果格式已进行动画处理,服务将提取第一帧执行分析。

可以通过以下两种方法之一输入图像:本地文件流或 Blob 存储 URL。

  • 本地文件流(推荐):将图像编码为 Base64。 可以使用 codebeautify 等网站来执行编码。 然后将编码的字符串保存到临时位置。
  • Blob 存储 URL:将图像上传到 Azure Blob 存储帐户。 点击 Blob 存储快速入门了解如何执行此操作。 然后打开 Azure 存储资源管理器并获取图像的 URL。 将其保存到临时位置。

使用文本分析图像

将以下命令粘贴到文本编辑器,并进行以下更改。

  1. <endpoint> 替换为资源终结点 URL。
  2. <your_subscription_key> 替换为你的密钥。
  3. 使用 "content" 字段或 "blobUrl" 字段填充正文中的 "image" 字段。 例如 {"image": {"content": "<base_64_string>"}{"image": {"blobUrl": "<your_storage_url>"}
  4. (可选)将 "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 字符串

请求正文中的参数在此表中定义:

名称 说明 类型
内容或 blobUrl (必需)图像的内容或 Blob URL。 可以是 Base64 编码的字节或 Blob URL。 如果同时提供两者,则会拒绝该请求。 图像允许的最大大小为 7200x7200 像素,最大文件大小为 4MB。 图像的最小大小为 50 像素 x 50 像素。 字符串
text (可选)附加到图像的文本。 在一个文本请求中,我们最多支持 1000 个字符(unicode 码位)。 字符串
enableOcr (必需)设置为 true 时,我们的服务将同时执行 OCR 并分析检测到的文本以及输入图像。 我们将识别输入图像中最多 1000 个字符(unicode 码位)。 其他将被截断。 布尔
类别 (可选)假定这是类别名称的数组。 有关可用categories名称的列表,请参阅危害类别指南。 如果未指定categories,则使用所有四个categories。 我们使用多个类别在单个请求中获取分数。 Enum

打开命令提示符窗口并运行 cURL 命令。

输出

应会在控制台中看到显示为 JSON 数据的图像和文本审查结果。 例如:

{
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

输出中的 JSON 字段定义如下:

名称 说明 类型
categoriesAnalysis API 预测的每个输出类。 分类可以是多标记的。 例如,将图像上传到图像审查模型时,可以将其归类为性内容和暴力。 有害categories 字符串
严重性 每个危害类别中标志的严重性级别。 有害categories Integer