使用 Azure AI 视频索引器 API 自定义语言模型

重要

由于Azure 媒体服务停用公告,Azure AI 视频索引器会宣布 Azure AI 视频索引器功能调整。 请参阅 与 Azure 媒体服务(AMS)停用 相关的更改,了解 Azure AI 视频索引器帐户的含义。 请参阅 AMS 停用准备:VI 更新和迁移指南

使用 Azure AI 视频索引器,可以创建自定义语言模型,通过上传适应文本(即来自希望引擎适应的词汇域的文本)来自定义语音识别。 训练模型后,可以识别自适应文本中显示的新单词。

有关自定义语言模型的详细概述和最佳做法,请参阅 使用 Azure AI 视频索引器自定义语言模型。

可以使用 Azure AI 视频索引器 API 在帐户中创建和编辑自定义语言模型,如本文所述。 还可以使用网站,如使用 Azure AI 视频索引器网站自定义语言模型中所述

创建语言模型

创建语言模型 API 在指定的帐户中创建新的自定义语言模型。 可以在此调用中上传语言模型的文件。 或者,可以在此处创建语言模型,稍后再通过更新语言模型上传模型的文件。

注意

仍必须使用模型的已启用文件来训练该模型,以学习其文件的内容。 下一部分提供了有关训练语言的指导。

若要上传要添加到语言模型的文件,必须使用 FormData 在正文中上传文件,此外,必须为上述所需参数提供值。 可通过两种方式来执行此任务:

  • 键是文件名,值为 txt 文件。
  • 密钥是文件名,值为 txt 文件的 URL。

响应

响应提供有关新建的语言模型的元数据,以及有关每个模型的文件的元数据(遵循此示例 JSON 输出的格式):

{
    "id": "dfae5745-6f1d-4edd-b224-42e1ab57a891",
    "name": "TestModel",
    "language": "En-US",
    "state": "None",
    "languageModelId": "00000000-0000-0000-0000-000000000000",
    "files": [
    {
        "id": "25be7c0e-b6a6-4f48-b981-497e920a0bc9",
        "name": "hellofile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-28T11:55:34.6733333"
    },
    {
        "id": "33025f5b-2354-485e-a50c-4e6b76345ca7",
        "name": "worldfile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-28T11:55:34.86"
    }
    ]
}

训练语言模型

训练语言模型 API 使用已在语言模型中上传并启用的文件中的内容,在指定的帐户中训练一个自定义的语言模型。

注意

必须先创建语言模型并上传其文件。 可以在创建语言模型时或者通过更新语言模型来上传文件。

响应

响应提供有关新训练的语言模型的元数据,以及有关每个模型的文件的元数据(遵循此示例 JSON 输出的格式):

{
    "id": "41464adf-e432-42b1-8e09-f52905d7e29d",
    "name": "TestModel",
    "language": "En-US",
    "state": "Waiting",
    "languageModelId": "531e5745-681d-4e1d-b124-12e5ab57a891",
    "files": [
    {
        "id": "84fcf1ac-1952-48f3-b372-18f768eedf83",
        "name": "RenamedFile",
        "enable": false,
        "creator": "John Doe",
        "creationTime": "2018-04-27T20:10:10.5233333"
    },
    {
        "id": "9ac35b4b-1381-49c4-9fe4-8234bfdd0f50",
        "name": "hellofile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-27T20:10:10.68"
    }
    ]
}

返回 id 的 ID 是用于区分语言模型的唯一 ID,同时 languageModelId 用于 将视频上传到索引重新编制视频 API 索引(也称为 linguisticModelId Azure AI 视频索引器上传/重新编制索引 API)。

删除语言模型

删除语言模型 API 从指定的帐户中删除自定义语言模型。 使用已删除语言模型的任何视频都保留相同的索引,直到重新编制视频索引。 如果重新为视频编制索引,可为视频分配新的语言模型。 否则,Azure AI 视频索引器使用其默认模型重新编制视频索引。

响应

成功删除语言模型后不会返回内容。

更新语言模型

更新语言模型 API 在指定的帐户中更新自定义语言个人模型。

注意

必须事先创建一个语言模型。 可以使用此调用来启用或禁用模型下的所有文件、更新语言模型的名称,以及上传要添加到语言模型的文件。

若要上传要添加到语言模型的文件,必须使用 FormData 在正文中上传文件,此外,必须为上述所需参数提供值。 可通过两种方式来执行此任务:

  • 键是文件名,值为 txt 文件。
  • 密钥是文件名,值为 txt 文件的 URL。

响应

响应提供有关新训练的语言模型的元数据,以及有关每个模型的文件的元数据(遵循此示例 JSON 输出的格式):

{
    "id": "41464adf-e432-42b1-8e09-f52905d7e29d",
    "name": "TestModel",
    "language": "En-US",
    "state": "Waiting",
    "languageModelId": "531e5745-681d-4e1d-b124-12e5ab57a891",
    "files": [
    {
        "id": "84fcf1ac-1952-48f3-b372-18f768eedf83",
        "name": "RenamedFile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-27T20:10:10.5233333"
    },
    {
        "id": "9ac35b4b-1381-49c4-9fe4-8234bfdd0f50",
        "name": "hellofile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-27T20:10:10.68"
    }
    ]
}

使用在响应中返回的文件的 id 来下载文件的内容。

更新语言模型中的文件

更新文件用于更新指定帐户中某个自定义语言模型内的某个文件的名称和 enable 状态。

响应

响应提供有关已更新的文件的元数据(遵循以下示例 JSON 输出的格式)。

{
  "id": "84fcf1ac-1952-48f3-b372-18f768eedf83",
  "name": "RenamedFile",
  "enable": false,
  "creator": "John Doe",
  "creationTime": "2018-04-27T20:10:10.5233333"
}

使用在响应中返回的文件的 id 来下载文件的内容。

获取特定的语言模型

获取 API 返回有关指定帐户指定语言模型的信息,例如语言以及语言模型中的文件。

响应

响应提供有关指定的语言模型的元数据,以及有关每个模型的文件的元数据(遵循此示例 JSON 输出的格式):

{
    "id": "dfae5745-6f1d-4edd-b224-42e1ab57a891",
    "name": "TestModel",
    "language": "En-US",
    "state": "None",
    "languageModelId": "00000000-0000-0000-0000-000000000000",
    "files": [
    {
        "id": "25be7c0e-b6a6-4f48-b981-497e920a0bc9",
        "name": "hellofile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-28T11:55:34.6733333"
    },
    {
        "id": "33025f5b-2354-485e-a50c-4e6b76345ca7",
        "name": "worldfile",
        "enable": true,
        "creator": "John Doe",
        "creationTime": "2018-04-28T11:55:34.86"
    }
    ]
}

使用在响应中返回的文件的 id 来下载文件的内容。

获取所有语言模型

获取全部 API 在列表中返回指定帐户中的所有自定义语言模型。

响应

响应提供一个列表,其中包含帐户中的所有语言模型,以及这些模型的每个元数据和文件(遵循此示例 JSON 输出的格式):

[
    {
        "id": "dfae5745-6f1d-4edd-b224-42e1ab57a891",
        "name": "TestModel",
        "language": "En-US",
        "state": "None",
        "languageModelId": "00000000-0000-0000-0000-000000000000",
        "files": [
        {
            "id": "25be7c0e-b6a6-4f48-b981-497e920a0bc9",
            "name": "hellofile",
            "enable": true,
            "creator": "John Doe",
            "creationTime": "2018-04-28T11:55:34.6733333"
        },
        {
            "id": "33025f5b-2354-485e-a50c-4e6b76345ca7",
            "name": "worldfile",
            "enable": true,
            "creator": "John Doe",
            "creationTime": "2018-04-28T11:55:34.86"
        }
        ]
    },
    {
        "id": "dfae5745-6f1d-4edd-b224-42e1ab57a892",
        "name": "AnotherTestModel",
        "language": "En-US",
        "state": "None",
        "languageModelId": "00000000-0000-0000-0000-000000000001",
        "files": []
    }
]

从语言模型中删除文件

删除 API 从指定帐户中的指定语言模型删除指定的文件。

响应

成功从语言模型中删除文件后不会返回内容。

获取有关语言模型中的文件的元数据

获取文件的元数据 API 返回帐户中所选语言模型内的指定文件的内容及其相关元数据。

响应

响应提供文件的 JSON 格式内容和元数据,如此示例所示:

{
    "content": "hello\r\nworld",
    "id": "84fcf1ac-1952-48f3-b372-18f768eedf83",
    "name": "Hello",
    "enable": true,
    "creator": "John Doe",
    "creationTime": "2018-04-27T20:10:10.5233333"
}

注意

此示例文件的内容是分两行显示的单词“hello”和“world”。

从语言模型下载文件

下载文件 API 从指定帐户中的指定语言模型下载包含指定文件内容的文本文件。 此文本文件应与最初上传的文本文件的内容相匹配。

响应

响应是下载包含 JSON 格式的文件内容的文本文件。