日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

語義檢索

IMM語義檢索是采用向量檢索方式,根據特定內容語義對多媒體數據進行搜索的過程,本文介紹如何使用語義檢索。

功能簡介

傳統的標量檢索是根據文件攜帶的元數據信息進行檢索,例如文件名稱、文件創建時間、文件格式等。與標量檢索不同的是,語義檢索采用向量檢索的方式,可以根據文件內容進行檢索,例如“俯瞰森林”、“雪中城市”、“去年夏天的草原”等文件內容。您可以利用 IMM 語義檢索能力對您對象存儲 OSS 中的文件進行檢索,也可以對網盤與相冊服務 PDS 中的文件進行檢索。

應用場景

個人及企業辦公場景

語義檢索功能可以通過特定語義內容直接對辦公文件進行搜索,例如直接搜索“ERP 系統使用方式”、“IT 維修流程”“2024 年經營情況分析”等關鍵詞,以實現文件搜索方式的便捷化,從而提升辦公效率。

多媒體社交場景

在多媒體社交場景中,您可以利用IMM語義檢索能力,為您的用戶提供特定內容和多媒體數據檢索功能。例如,在某款社交應用程序中,用戶上傳了大量圖片數據。通過語義檢索,用戶可以直接根據內容進行圖片搜索,比如直接搜索內容為“去年郊外春游”、“春節團聚”、“我見過的大海”等照片,從而為應用程序增加實用性和趣味性。

網盤場景

在網盤場景中,目前大多數提供基于標量檢索的文件搜索功能,例如按文件名稱、創建時間或文件后綴進行搜索。網盤通常應用于個人或企業場景,用戶可以利用IMM語義檢索功能,對網盤中的特定內容進行搜索,比如相關文檔或相冊中的相關圖片。

視頻監控場景

針對視頻監控存儲的數據,企業可以利用 IMM 語義檢索能力對監控數據中的部分文件進行搜索。比如輸入“昨天的雪天戶外監控”、“晴天中的果園”等關鍵詞,即可對相應文件進行檢索。

使用限制

重要
  • 目前僅支持對圖片和文檔進行語義檢索。

  • 該功能當前僅支持華北2(北京)地域。

  • 該功能支持的圖片格式:JPG、PNG、BMP、GIF、WebP、TIFF、HEIC、AVIF。

  • 原圖大小不超過 20MB,且對應的原圖高或者寬不能超過30,000 px和總像素不能超過2.5億 px。動態圖片(例如GIF圖片)的總像素計算方式為寬*高*圖片幀數;非動態圖片(例如PNG圖片)的總像素計算方式為寬*高。

  • 文檔大小不得超過30萬字符,超過限制將會被截斷。

  • 數據索引與分析是一個異步過程。在使用諸如 IndexFileMeta 等 API 接口添加文件索引后,需要通過回調消息通知來確認分析完成。這通常需要幾秒或者幾分鐘的時間,具體等待時間取決于您提交的文件類型和大小,分析的復雜程度以及所需的時間也會有所不同。在分析完成后,由于存儲引擎需要構建索引,通常需要等待幾秒的時間,之后您就可以開始檢索這些文件。

前提條件

  • 已根據使用場景為文件建立元數據索引。具體操作,請參見建立元數據索引

  • 數據集選擇“Official:CognitionImageManagement” 或者 Official:CognitionDocumentManagement模板,分別對應“圖片語義檢索”和“文檔語義檢索”功能。

重要

當您不再需要進行語義檢索時,請及時刪除數據集。未刪除的IMM 數據集將持續自動抽取 OSS 元數據,該過程會導致 IMM 持續產生數據請求費用。

計費說明

  • IMM 費用:使用 IMM 語義檢索功能,將會產生“元數據管理”相關接口的調用費用,詳情請參見IMM計費項概述

說明

在您使用語義檢索時,您需要為您的數據集選擇“Official:CognitionImageManagement” 或者 “Official:CognitionDocumentManagement” 模板,分別對應“圖片語義檢索”和“文檔語義檢索”功能。模板中包含了多種算子,其中語義檢索算子為免費提供,其余算子為收費狀態,關于模板與算子的對應關系,請查看工作流模板與算子

語義檢索

調用 SemanticQuery - 自然語言查詢接口對項目test-projecttest-dataset數據集中的元數據進行基于語義的查詢搜索。

圖片語義檢索

例如:某個相冊中包含大量旅游拍攝的圖片,其中一些照片是2020年7月份在成都熊貓基地拍攝的熊貓,若需通過語義檢索找到這些圖片,可以創建一個數據集為相冊中的照片建立元數據索引,之后使用關鍵字”2020年7月成都的熊貓“來進行檢索。

如下以查詢項目test-project下,test-dataset數據集中包含2020年7月成都的熊貓的文件為例:

請求示例

{
    "ProjectName": "test-project",
    "DatasetName": "test-dataset",
    "Query": "2020年7月成都的熊貓"
}

返回示例

{
    "RequestId": "645FB6D9-5EA0-02C9-B253-****",
    "Files": [
        {
            "ProduceTime": "2020-07-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",
            "OwnerId": "****",
            "FileModifiedTime": "2021-05-13T10:22:44+08:00",
            "ImageWidth": 270,
            "OSSStorageClass": "Standard",
            "MediaType": "image",
            "ObjectId": "****",
            "CreateTime": "2022-07-06T07:10:18.497753661+08:00",
            "Filename": "1.jpg",
            "Labels": [
                {
                    "CentricScore": 0.757,
                    "Language": "zh-Hans",
                    "LabelConfidence": 0.946,
                    "LabelName": "熊貓",
                    "LabelLevel": 2,
                    "ParentLabelName": "野生動物"
                },
                ...
            ],
            "Orientation": 1,
            "EXIF": "...",
            "ContentMd5": "HZwoCnxPZ/fvhz4oRJ****",
            "ImageHeight": 270,
            "ImageScore": {
                "OverallQualityScore": 0.719
            },
            "ETag": "\"1D9C280A7C4F67F7EF873E28449D****\"",
            "DatasetName": "test-dataset",
            "FileHash": "\"1D9C280A7C4F67F7EF873E2****\"",
            "UpdateTime": "2022-07-06T07:10:18.497753661+08:00",
            "OSSCRC64": "5634447745650079669",
            "OSSTaggingCount": 0,
            "LatLong": "34.000000,119.000000",
            "OSSObjectType": "Normal"
        }
    ]
}

示例代碼(以1.27.3版本的Python SDK為例)

# -*- coding: utf-8 -*-

import os
from alibabacloud_imm20200930.client import Client as imm20200930Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_imm20200930 import models as imm_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> imm20200930Client:
        """
        使用AccessKey ID&AccessKey Secret初始化賬號Client。
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            access_key_id=access_key_id,
            access_key_secret=access_key_secret
        )
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        # 本示例通過從環境變量中讀取AccessKey,來實現API訪問的身份驗證。如何配置環境變量,請參見http://m.bestwisewords.com/document_detail/2361894.html。
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        semantic_query_request = imm_20200930_models.SemanticQueryRequest(
            query='2020年7月成都的熊貓',
            project_name='test-project',
            dataset_name='test-dataset',
            max_results=100
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 打印API的返回值。
            response = client.semantic_query_with_options(semantic_query_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # 如有需要,請打印錯誤信息。
            UtilClient.assert_as_string(error.message)
            print(error)


if __name__ == '__main__':
    Sample.main()

文檔語義搜索

例如:在網盤場景中,該網盤存儲了各種類型的文件。若要利用語義搜索找到包含“IT服務流程”內容的文件,可以創建一個數據集來為網盤中的文件建立元數據索引,之后使用關鍵詞“IT服務流程”進行檢索。

如下以查詢項目test-project下,test-dataset數據集中包含“IT服務流程”的文件為例,請求參數如下。

請求示例

{
    "ProjectName": "test-project",
    "DatasetName": "test-dataset",
    "MediaTypes": ["document"],  
    "Query": "IT服務流程"
}

返回示例

{
  "RequestId": "CD870E69-D2E8-031B-BD3E-****",
  "Files": [
    {
      "ObjectACL": "default",
      "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "ProjectName": "test-project",
      "ObjectId": "2f66ba6e902e5ad42341a9e7365b19f6130d4a077e4f57150450e281d0b7afd9",
      "Size": 28340,
      "CreateTime": "2024-03-08T10:13:19.569053164+08:00",
      "Filename": "3839a9a0-c630-420d-ae69-ea24792412fd.docx",
      "URI": "oss://test-bucket/test-object.docx",
      "ObjectType": "file",
      "ContentMd5": "Y7SmYa831Hq1qryuRyl6mg==",
      "OwnerId": "****",
      "FileModifiedTime": "2024-01-10T16:18:31+08:00",
      "ETag": "\"63B4A661AF37D47AB5AABCAE47297A9A\"",
      "DatasetName": "test-dataset",
      "FileHash": "63B4A661AF37D47AB5AABCAE47297A9A",
      "UpdateTime": "2024-03-08T10:13:19.569053164+08:00",
      "OSSStorageClass": "Standard",
      "MediaType": "document",
      "OSSCRC64": "6833019149643646551",
      "OSSTaggingCount": 0,
      "OSSObjectType": "Normal"
    }
  ]
}

示例代碼(以1.27.3版本的Python SDK為例)

# -*- coding: utf-8 -*-

import os
from alibabacloud_imm20200930.client import Client as imm20200930Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_imm20200930 import models as imm_20200930_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client(
        access_key_id: str,
        access_key_secret: str,
    ) -> imm20200930Client:
        """
        使用AccessKey ID&AccessKey Secret初始化賬號Client。
        @param access_key_id:
        @param access_key_secret:
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            access_key_id=access_key_id,
            access_key_secret=access_key_secret
        )
        config.endpoint = f'imm.cn-beijing.aliyuncs.com'
        return imm20200930Client(config)

    @staticmethod
    def main() -> None:
        # 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
        # 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
        # 本示例通過從環境變量中讀取AccessKey,來實現API訪問的身份驗證。如何配置環境變量,請參見http://m.bestwisewords.com/document_detail/2361894.html。
        imm_access_key_id = os.getenv("AccessKeyId")
        imm_access_key_secret = os.getenv("AccessKeySecret")
        client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
        semantic_query_request = imm_20200930_models.SemanticQueryRequest(
            query='IT服務流程',
            project_name='test-project',
            dataset_name='test-dataset',
          	media_types=['document'],
            max_results=100
        )
        runtime = util_models.RuntimeOptions()
        try:
            # 打印API的返回值。
            response = client.semantic_query_with_options(semantic_query_request, runtime)
            print(response.body.to_map())
        except Exception as error:
            # 如有需要,請打印錯誤信息。
            UtilClient.assert_as_string(error.message)
            print(error)


if __name__ == '__main__':
    Sample.main()