跳到主要内容

图像数据

您可以通过 Web 控制台或 RESTful API 创建、运行和管理 Pipelines。Web 控制台操作更简单直观,但 RESTful API 可提供更多灵活性。

本文将介绍如何创建图像 Pipeline、进行以图搜图并删除 Pipeline。

前提条件与限制

  • 请确保您创建部署在阿里云(杭州)的集群。

  • 同一项目下,您可最多创建 100 个同一类型的 Pipelines。更多详情,请参考使用限制

摄取图像数据

摄取图像数据包含两个步骤:创建 Ingestion Pipeline 和运行 Ingestion Pipeline。

创建图像 Ingestion Pipeline

  1. 打开项目。

  2. 点击左侧导航栏中的 Pipelines。 选中概览标签页,并切换到 Pipelines。点击 + Pipeline

    create-pipeline-cn

  3. 选择需要创建的 Pipeline 类型。点击 Ingestion Pipeline 一栏中的 + Pipeline 按钮。

    choose-pipeline-cn

  4. 配置 Ingestion Pipeline。

    参数

    说明

    目标集群

    自动创建 Collection 所属的集群。目前仅支持部署在阿里云(杭州)的集群。

    Collection 名称

    自动创建的 Collection 的名称。

    Pipeline 名称

    新创建的 Ingestion Pipeline 的名称。名称中只可包含小写字母、数字和下划线。

    描述 (可选)

    对新创建的 Ingestion Pipeline 的描述。

    configure-ingestion-pipeline-cn

  5. 添加 Function。1 个 Ingestion pipeline 中只可添加 1 个 INDEX Function。

    1. 输入 Function 名称。

    2. 选择 INDEX_IMAGE Function。该 Function 可以将 URL 中的图像转换为 Embedding 向量。

    3. 选择用于生成向量的 Embedding 模型。目前 Zilliz Cloud Pipelines 共提供两种 Embedding 模型:zilliz/vit-base-patch16-224zilliz/clip-vit-base-patch32

      Embedding 模型

      说明

      zilliz/vit-base-patch16-224

      Google 开源的 Vision Transformer (ViT) encoder 模型(类似于 BERT),在大量图像数据上进行预训练,可用于将图像的内容语义转化为向量空间中的 Embedding 向量。该模型托管于 Zilliz Cloud 之上,可大幅降低延时。

      zilliz/clip-vit-base-patch32

      OpenAI 发布的多模态模型。视觉模型和文本模型共同将图像和文本转换为同一向量空间中的 Embedding 向量,实现数据和文案信息两种模态信息的语义搜索。该模型托管于 Zilliz Cloud 之上,可大幅降低延时。

      add-index-image-function-cn

    4. 点击添加

  6. (可选) 添加 PRESERVE Function。PRESERVE Function 在 Collection 中添加标量字段,用于保留文档元数据。

    📘说明

    每个 Ingestion Pipeline 中最多可添加 50 个 PRESERVE Function。

    1. 点击 + Function

    2. 输入 Function 名称。

    3. 配置输入字段名称和数据类型。支持的数据字段类型包括 BoolInt8Int16Int32Int64FloatDoubleVarChar

      📘说明
      • 目前,输出字段名称必须与输入字段名称保持一致。在运行 Ingestion Pipeline 时,您将使用到输入字段名称。而输出字段名称用于自动生成的 Collection Schema 中作为保留的标量字段名称。

      • 字段类型为 VarChar 时,字符串最大长度为 4,000 个字符,且只可包含数字、字母。

      • 在标量字段中存储日期时,我们推荐使用 Int16 的数据类型。存储时间时,我们推荐使用 Int32 的数据类型。

      add-preserve-function-cn

    4. 点击添加

  7. 点击创建 Ingestion Pipeline

  8. 继续创建 Search pipeline 和 Deletion pipeline。创建的 Search 和 Deletion Pipeline 可适应配套刚才创建的Ingestion Pipeline。

    auto-create-image-search-and-delete-pipelines-cn

    📘说明

    自动创建的 Search Pipeline 默认关闭 Reranker 功能,如需使用 Reranker,请手动创建一个新的 Search Pipeline

运行图像 Ingestion Pipeline

  1. 点击 Ingestion Pipeline 右侧的 "▶︎" 按钮。 或者您可以点击 Playground 选项卡。

    run-pipeline-cn

  2. image_idimage_url 字段中输入需要摄取的图像信息。如您添加了 PRESERVE Function,请在该 Function 定义的字段中输入需要保留的元数据信息。点击运行

  3. 查看运行结果。

搜索图像数据

搜索数据前,需要先创建并运行 Search Pipeline。与 Ingestion 和 Deletion Pipelines 不同,Search Pipeline 创建时是在 Function 级别定义集群和 Collection,而非在 Pipeline 层级。这是因为 Zilliz Cloud 支持同时从多个 Collection 搜索数据。

Zilliz Cloud 支持两种搜索图像数据的方式:以图搜图以文本搜图

创建图像 Search Pipeline

  1. 打开项目。

  2. 点击左侧导航栏中的 Pipelines。 选中概览标签页,并切换到 Pipelines。点击 + Pipeline

  3. 选择需要创建的 Pipeline 类型。点击 Search Pipeline 一栏中的 + Pipeline 按钮。

    create-search-pipeline-cn

  4. 配置 Search Pipeline。

    参数

    说明

    Pipeline 名称

    新创建的 Ingestion Pipeline 的名称。名称中只可包含小写字母、数字和下划线。

    描述 (可选)

    对新创建的 Ingestion Pipeline 的描述。

    configure-search-pipeline-cn

  5. 点击 + Function 添加 Function。 1 个 Search pipeline 中只可添加 1 个 Function。

    1. 输入函数名称。

    2. 选择目标集群目标 Collection。目标集群必须为部署在阿里云(杭州)的活跃集群。目标 Collection 必须为创建 Ingestion pipeline 时自动创建的 Collection,否则创建的 Search Pipeline 将不兼容。

    3. Function 类型选择 SEARCH_IMAGE_BY_IMAGE。该 Function 可以将输入的查询图像转换为 Embedding 向量,并检索出与之最相关的 Top-K 个图像。

    4. 点击添加

      add-search-image-function-cn

  6. 点击创建 Search Pipeline

运行图像 Search Pipeline

  1. 点击 Search Pipeline 右侧的 "▶︎" 按钮。 或者您可以点击 Playground 选项卡。

    run-pipeline-cn

  2. 输入查询文本。点击运行

  3. 查看运行结果。

以文本搜图

创建图像 Search Pipeline

  1. 打开项目。

  2. 点击左侧导航栏中的 Pipelines。 选中概览标签页,并切换到 Pipelines。点击 + Pipeline

  3. 选择需要创建的 Pipeline 类型。点击 Search Pipeline 一栏中的 + Pipeline 按钮。

    create-search-pipeline-cn

  4. 配置 Search Pipeline。

    参数

    说明

    Pipeline 名称

    新创建的 Ingestion Pipeline 的名称。名称中只可包含小写字母、数字和下划线。

    描述 (可选)

    对新创建的 Ingestion Pipeline 的描述。

    configure-search-pipeline-cn

  5. 点击 + Function 添加 Function。 1 个 Search pipeline 中只可添加 1 个 Function。

    1. 输入函数名称。

    2. 选择目标集群目标 Collection。目标集群必须为部署在阿里云(杭州)的活跃集群。目标 Collection 必须为创建 Ingestion pipeline 时自动创建的 Collection,否则创建的 Search Pipeline 将不兼容。

      📘说明

      仅当兼容的 Ingestion Pipeline 中使用了 zilliz/clip-vit-base-patch32 embedding 模型时,才可选择 SEARCHIMAGEBYTEXT Function。

    3. Function 类型选择 SEARCH_IMAGE_BY_TEXT。该 Function 可以将输入的查询文本转换为 Embedding 向量,并检索出与之最相关的 Top-K 个图像。选择 SEARCH_IMAGE_BY_TEXT Function 后,会自动应用 zilliz/clip-vit-base-patch32-multilingual-v1 embedding 模型。

    4. 点击添加

      add-search-image-by-text-function-cn

  6. 点击创建 Search Pipeline

运行图像 Search Pipeline

  1. 点击 Search Pipeline 右侧的 "▶︎" 按钮。 或者您可以点击 Playground 选项卡。

    run-pipeline-cn

  2. 输入查询文本。点击运行

  3. 查看运行结果。

删除图像数据

如需删除数据,请先创建并运行 Deletion Pipeline。

创建图像 Deletion Pipeline

  1. 打开项目。

  2. 点击左侧导航栏中的 Pipelines。 选中概览标签页,并切换到 Pipelines。点击 + Pipeline

  3. 选择需要创建的 Pipeline 类型。点击 Deletion Pipeline 一栏中的 + Pipeline 按钮。

    create-deletion-pipeline-cn

  4. 配置 Deletion Pipeline。

    参数

    说明

    Pipeline 名称

    新创建的 Deleltion Pipeline 名称。名称中只可包含小写字母、数字和下划线。

    描述 (可选)

    对新创建的 Deletion Pipeline 的描述。

    configure-deletion-pipeline-cn

  5. 点击 + Function 添加 Function。您只可添加 1 个 Function。

    1. 输入 Function名称。

    2. PURGE_IMAGE_INDEXPURGE_BY_EXPRESSION 中选择 1 个作为 Function 类型。 PURGE_IMAGE_INDEX Function 可以删除指定 image_id 的所有图像。PURGE_BY_EXPRESSION Function 可以删除符合指定过滤条件的所有文本 Entity。

    3. 点击添加

  6. 点击创建 Deletion Pipeline

运行图像 Deletion Pipeline

  1. 点击 Deletion Pipeline 右侧的 "▶︎" 按钮。或者您可以点击 Playground 选项卡。

    run-pipeline-cn

  2. 输入过滤表达式,点击运行

  3. 查看运行结果。

以下操作可用于管理此前创建的 Pipeline。

查看 Pipeline

点击左侧导航栏中的 Pipelines。选中 Pipelines 选项卡。您可以查看所有已创建的 Pipelines 及其详情、用量等。

view-pipelines-on-web-ui-cn

您还可以查看所有 Pipelines 相关事件。

view-pipelines-activities-on-web-ui-cn

删除 Pipeline

您可以删除不再需要使用的 Pipelines。该操作仅删除 Pipeline,不会影响自动创建的 Collection。

🚧警告
  • 该操作仅删除 Pipeline,不会影响自动创建的 Collection。

  • Pipeline 一旦删除后不可恢复,请谨慎操作。

  • 删除 Ingestion pipeline 时不会影响其相关联的 Collection。您的数据十分安全。

如需删除不再使用的 Pipeline,请点击操作栏中的**“...”按钮并选择删除**。

delete-pipeline-cn

管理 Pipeline

以下操作可用于管理此前创建的 Pipeline。

查看 Pipeline

点击左侧导航栏中的 Pipelines。选中 Pipelines 选项卡。您可以查看所有已创建的 Pipelines。

view-pipelines-on-web-ui-cn

点击特定 Pipeline 名称,还可以查看其详情,包括基本信息、总用量、Functions、关联的 Connectors 等。

view-pipeline-details-cn

📘说明

总用量非实时更新,数据统计可能会有几小时延迟。

您还可以查看所有 Pipelines 相关事件。

view-pipelines-activities-on-web-ui-cn

删除 Pipeline

您可以删除不再需要使用的 Pipelines。该操作仅删除 Pipeline,不会影响自动创建的 Collection。

🚧警告
  • 该操作仅删除 Pipeline,不会影响自动创建的 Collection。

  • Pipeline 一旦删除后不可恢复,请谨慎操作。

  • 删除 Ingestion pipeline 时不会影响其相关联的 Collection。您的数据十分安全。

如需删除不再使用的 Pipeline,请点击操作栏中的**“...”按钮并选择删除**。

delete-pipeline-cn