工作流模板与算子

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文介绍智能媒体管理IMM提供的工作流模板ID(TemplateId)及其对应支持的算子。

简介

在创建IMM项目或数据集时,可以为项目或数据集设置工作流模板(Template),模板定义了部分接口所需要执行的工作流。在为存储在对象存储(OSS)、相册与网盘服务(PDS)等产品中的文件建立元数据索引时,引擎将根据配置的工作流模板来决定要执行的算子操作,算子对元数据进行采集并将元数据索引到元数据存储引擎中。

注意事项

  • 在通过绑定OSS Bucket或调用IndexFileMeta - 索引文件元信息BatchIndexFileMeta - 批量索引文件元信息接口建立元数据索引时,根据数据集和项目配置的工作流模板来决定要执行的算子操作。

  • 在数据集中建立元数据索引时,数据集的模板优先级高于项目设置的模板。当数据集模板为空时,则使用项目设置的模板。

  • 工作流模板不会对用户主动使用其他API(例如视频转码、图片人脸检测、图片打分、人脸聚类等)产生限制,但可能因为索引中不存在对应元数据,实际不产生效果。

  • 建立索引过程会产生算子计费和索引存储费用。费用详情请参见计费项

工作流模板

IMM提供的工作流模板如下表所示。

TemplateId

说明

Official:DefaultEmptyId

空模板。

在建立元数据索引时,所有算子都不操作,不会产生元数据信息。

Official:OSSBasicMeta

OSS基本元数据模板。

在建立元数据索引时,执行OSSMeta算子,采集OSS基本元数据。

Official:AllFunction

全功能模板(仅供测试)。

在建立元数据索引时,执行所有算子,采集OSS基本元数据、MIME信息、人脸信息、标签检测、图片打分、地址位置信息、视频信息、图片EXIF信息、办公文档正文内容等数据。

重要

该模板包含IMM提供的全部能力。仅供测试使用,IMM会根据功能上线情况随时增减该模板算子,因此可能引起计费项增减,请在使用时注意。如果您有特定功能需求,请选择其他模板。

Official:FaceManagement

人脸识别模板。

在建立元数据索引时,对图片类文件的人脸进行检测和索引。可配合人脸聚类相关接口实现人物相册,或配合人脸搜索接口实现门禁、考勤打卡能力。

Official:ImageManagement

图片管理模板。

在建立元数据索引时,对图片进行分析,获取其尺寸、拍摄位置、人脸、标签等信息,用于构建全功能智能相册。

Official:CognitionImageManagement

图片语义搜索模板。

在建立元数据索引时,除对图片进行分析,获取其尺寸、拍摄位置、人脸、标签等信息外,增加对图片的理解能力。配合 SemanticQuery - 自然语言查询 接口的语义搜索功能,提供更加准确优质的图片内容检索能力。帮助您构建大模型时代智能相册。

重要

该模板目前仅在北京地域支持,且目前处于免费邀测状态。若您希望使用,请联系您的客户经理或通过工单联系我们。

Official:DocumentManagement

文档全文检索模板。

在建立元数据索引时,提取文档类文件的文本并进行索引。配合搜索接口实现文档的全文检索能力。

Official:MediaMeta

媒体信息管理模板。

在建立元数据索引时,提取图片、视频等文件的多媒体信息,如尺寸、拍摄时间、地点、时长、编码格式等。可用于媒体文件的分类管理、统计等场景。

Official:CognitionDocumentManagement

文档语义搜索模板。

在建立元数据索引时,通过大模型能力,对文档内的文本进行分析和理解。配合 SemanticQuery - 自然语言查询 接口的语义搜索功能,实现基于语义的智能文档检索。

重要

该模板目前仅在北京地域支持,且目前处于免费邀测状态。若您希望使用,请联系您的客户经理或通过工单联系我们。

算子

IMM支持的算子如下表所示。

警告

使用算子可能产生对应计费项目,详情请参考:算子与计费项对应关系

算子

说明

OSSMeta算子

产生OSS文件的文件名、文件类型、文件大小、文件HASH、文件修改时间、ETag、标签等数据。

MIME算子

产生MIME数据。

FaceDetection算子

产生人脸信息数据。

LabelClassification算子(图片)

产生图片标签信息数据。

LabelClassification算子(视频)

产生视频标签信息数据。

ImageScoring算子

产生图片打分数据。

ExtractImageEmbeddings算子

产生图片特征信息数据。

ReGEO算子

产生地址位置信息数据。

MediaMeta算子

产生视频信息数据。

EXIF算子

产生图片EXIF信息数据。

ExtractDocumentText算子

产生办公文档信息数据。

工作流模板与算子的对应关系

IMM提供的TemplateId及其对应的算子如下表所示,其中支持表示在建立元数据索引时会执行该算子操作,不支持表示在建立元数据索引时不会执行该算子操作。

TemplateId

算子

OSSMeta(OSS 元信息)

MIME

(文件类型)

FaceDetection

(人脸检测)

LabelClassification算子

(标签检测)

ImageScoring

(图片打分)

ExtractImageEmbeddings

(图片特征提取)

ReGEO

(地理位置)

MediaMeta

(视频信息)

EXIF

(图片信息)

ExtractDocumentText

(文档信息)

Official:DefaultEmptyId

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

Official:OSSBasicMeta

支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

Official:AllFunction

支持

支持

支持(包括视频文件和图片文件)

支持(包括视频文件和图片文件)

支持

不支持

支持

支持

支持

支持

Official:FaceManagement

支持

不支持

支持(包括视频文件和图片文件)

不支持

不支持

不支持

不支持

不支持

不支持

不支持

Official:ImageManagement

支持

支持

支持

支持

支持

不支持

支持

不支持

支持

不支持

Official:CognitionImageManagement

支持

支持

支持

支持

支持

支持

支持

不支持

支持

不支持

Official:DocumentManagement

支持

支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

支持

Official:MediaMeta

支持

支持

不支持

不支持

不支持

不支持

支持

支持

支持

不支持

Official:CognitionDocumentManagement

支持

支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

不支持

工作流模板使用示例

如下以使用全功能模板(Official:AllFunction)建立图片元数据索引为例,介绍如何使用工作流模板。

  1. 调用CreateDataset - 创建数据集接口在IMM项目test-project下使用Official:AllFunction模板,创建名称为allfunction的数据集。具体操作,请参见创建数据集

    • 请求示例

      {
       "ProjectName": "test-project",
       "DatasetName": "allfunction",
       "Description": "全功能模板数据集",
       "TemplateId": "Official:AllFunction"
      }
    • 返回示例

      {
          "RequestId": "9AB4BD43-C4E5-06AA-A8AB-****",
          "Dataset": {
              "FileCount": 0,
              "BindCount": 0,
              "ProjectName": "test-project",
              "CreateTime": "2022-07-08T10:43:32.429344821+08:00",
              "DatasetMaxTotalFileSize": 90000000000000000,
              "DatasetMaxRelationCount": 100000000000,
              "DatasetMaxFileCount": 100000000,
              "DatasetName": "allfunction",
              "DatasetMaxBindCount": 10,
              "UpdateTime": "2022-07-08T10:43:32.429344821+08:00",
              "DatasetMaxEntityCount": 10000000000,
              "TotalFileSize": 0,
              "TemplateId": "Official:AllFunction"
          }
      }
  2. 调用IndexFileMeta - 索引文件元信息接口为OSS文件oss://test-bucket/test-object.jpg建立元数据索引。具体操作,请参见建立元数据索引

    • 请求示例

      {
        "ProjectName": "test-project",
        "DatasetName": "allfunction",
        "File": {
          "URI": "oss://test-bucket/test-object.jpg",
          "CustomLabels": {
            "category": "人物"
          }
        },
        "Notification": {
          "MNS": {
            "TopicName": "test-topic"
          }
        }
      }
    • 返回示例

      {
          "RequestId": "5AA694AD-3D10-0B6A-86B4-****",
          "EventId": "17C-1Kofq1mlJxRYF7vNGF****"
      }
  3. 调用GetFileMeta - 获取文件元数据接口查询OSS文件oss://test-bucket/test-object.jpg的元数据信息。具体操作,请参见查询文件信息

    • 请求示例

      {
          "ProjectName": "test-project",
          "URI": "oss://test-bucket/test-object.jpg",
          "DatasetName": "allfunction"
      }
    • 返回示例

      {
          "RequestId": "F79E92D5-FA41-0AD6-8948-****",
          "Files": [
              {
                  "ProduceTime": "2020-08-19T17:11:11+08:00",
                  "ObjectACL": "default",
                  "ContentType": "image/jpeg",
                  "ProjectName": "test-project",
                  "Size": 22868,
                  "URI": "oss://test-bucket/test-object.jpg",
                  "Addresses": [
                      {
                          "Language": "zh-Hans",
                          "Township": "塘沟镇",
                          "AddressLine": "江苏省宿迁市沭阳县塘沟镇陈龙庄",
                          "Country": "中国",
                          "City": "宿迁市",
                          "District": "沭阳县",
                          "Province": "江苏省"
                      }
                  ],
                  "ObjectType": "file",
                  "CustomLabels": {
                      "category": "照片"
                  },
                  "OwnerId": "****",
                  "FileModifiedTime": "2021-05-13T10:22:44+08:00",
                  "ImageWidth": 270,
                  "OSSStorageClass": "Standard",
                  "MediaType": "image",
                  "ObjectId": "75d5de2c50754e3dadd5c35dbca5f9949369e****",
                  "CreateTime": "2022-07-08T14:34:01.400716231+08:00",
                  "Filename": "1.jpg",
                  "Labels": [
                      {
                          "CentricScore": 0.859000027179718,
                          "Language": "zh-Hans",
                          "LabelConfidence": 1,
                          "LabelName": "女士",
                          "LabelLevel": 2,
                          "ParentLabelName": "面部"
                      },
                      {
                          "CentricScore": 0.7770000100135803,
                          "Language": "zh-Hans",
                          "LabelConfidence": 1,
                          "LabelName": "服装",
                          "LabelLevel": 2,
                          "ParentLabelName": "衣服"
                      },
                      {
                          "CentricScore": 0.8809999823570251,
                          "Language": "zh-Hans",
                          "LabelConfidence": 1,
                          "LabelName": "长发",
                          "LabelLevel": 2,
                          "ParentLabelName": "外貌特征"
                      },
                      {
                          "CentricScore": 0.8899999856948853,
                          "Language": "zh-Hans",
                          "LabelConfidence": 1,
                          "LabelName": "黑发",
                          "LabelLevel": 2,
                          "ParentLabelName": "外貌特征"
                      },
                      {
                          "CentricScore": 0.8330000042915344,
                          "Language": "zh-Hans",
                          "LabelConfidence": 1,
                          "LabelName": "肖像摄影",
                          "LabelLevel": 2,
                          "ParentLabelName": "艺术品"
                      },
                      {
                          "CentricScore": 0.8299999833106995,
                          "Language": "zh-Hans",
                          "LabelConfidence": 0.9879999756813049,
                          "LabelName": "美人",
                          "LabelLevel": 2,
                          "ParentLabelName": "外貌特征"
                      },
                      {
                          "CentricScore": 0.8399999737739563,
                          "Language": "zh-Hans",
                          "LabelConfidence": 0.9589999914169312,
                          "LabelName": "人物特写",
                          "LabelLevel": 2,
                          "ParentLabelName": "其他场景"
                      },
                      {
                          "CentricScore": 0.8429999947547913,
                          "Language": "zh-Hans",
                          "LabelConfidence": 0.949999988079071,
                          "LabelName": "人像",
                          "LabelLevel": 2,
                          "ParentLabelName": "面部"
                      },
                      {
                          "CentricScore": 0.8519999980926514,
                          "Language": "zh-Hans",
                          "LabelConfidence": 0.925000011920929,
                          "LabelName": "人",
                          "LabelLevel": 2,
                          "ParentLabelName": "面部"
                      },
                      {
                          "CentricScore": 0.8859999775886536,
                          "Language": "zh-Hans",
                          "LabelConfidence": 0.9129999876022339,
                          "LabelName": "女孩",
                          "LabelLevel": 2,
                          "ParentLabelName": "面部"
                      },
                      ...
                  ],
                  "Orientation": 1,
                  "Figures": [
                      {
                          "Beard": "none",
                          "MaskConfidence": 0.6959999799728394,
                          "Gender": "female",
                          "Boundary": {
                              "Left": 70,
                              "Top": 75,
                              "Height": 134,
                              "Width": 101
                          },
                          "BeardConfidence": 1,
                          "FigureId": "b51a7c91-1ce7-44d8-ae53-****",
                          "Mouth": "close",
                          "Emotion": "none",
                          "Age": 25,
                          "MouthConfidence": 0.996999979019165,
                          "FigureType": "face",
                          "GenderConfidence": 1,
                          "HeadPose": {
                              "Pitch": 21.562999725341797,
                              "Roll": 12.322999954223633,
                              "Yaw": 11.529999732971191
                          },
                          "Mask": "none",
                          "EmotionConfidence": 0.9819999933242798,
                          "HatConfidence": 1,
                          "GlassesConfidence": 0.9990000128746033,
                          "Sharpness": 1,
                          "FigureClusterId": "figure-cluster-id-unavailable",
                          "FaceQuality": 0.9990000128746033,
                          "Attractive": 0.9819999933242798,
                          "AgeSD": 5,
                          "Glasses": "none",
                          "FigureConfidence": 0.9980000257492065,
                          "Hat": "none"
                      }
                  ],
                  "EXIF": "{\"Compression\":{\"value\":\"6\"},\"DateTime\":{\"value\":\"2020:08:19 17:11:11\"},\"DateTimeOriginal\":{\"value\":\"2020:08:19 17:11:11\"},\"ExifTag\":{\"value\":\"82\"},\"FileSize\":{\"value\":\"22868\"},\"Format\":{\"value\":\"jpg\"},\"GPSLatitude\":{\"value\":\"34deg \"},\"GPSLatitudeRef\":{\"value\":\"North\"},\"GPSLongitude\":{\"value\":\"119deg \"},\"GPSLongitudeRef\":{\"value\":\"East\"},\"GPSMapDatum\":{\"value\":\"WGS-84\"},\"GPSTag\":{\"value\":\"120\"},\"GPSVersionID\":{\"value\":\"2 2 0 0\"},\"ImageHeight\":{\"value\":\"270\"},\"ImageWidth\":{\"value\":\"270\"},\"JPEGInterchangeFormat\":{\"value\":\"294\"},\"JPEGInterchangeFormatLength\":{\"value\":\"2700\"},\"Orientation\":{\"value\":\"1\"},\"ResolutionUnit\":{\"value\":\"2\"},\"XResolution\":{\"value\":\"72/1\"},\"YResolution\":{\"value\":\"72/1\"}}",
                  "ContentMd5": "HZwoCnxPZ/fvhz4o****==",
                  "ImageHeight": 270,
                  "ImageScore": {
                      "OverallQualityScore": 0.6140000224113464
                  },
                  "ETag": "\"1D9C280A7C4F67F7EF873E28****\"",
                  "DatasetName": "allfunction",
                  "FileHash": "\"1D9C280A7C4F67F7EF873E28****\"",
                  "CustomId": "abc",
                  "UpdateTime": "2022-07-08T14:34:01.400716231+08:00",
                  "OSSCRC64": "56344477456500****",
                  "OSSTaggingCount": 0,
                  "LatLong": "34.000000,119.000000",
                  "OSSObjectType": "Normal"
              }
          ]
      }