Асинхронное использование компонентов языковой службы
Языковая служба позволяет асинхронно отправлять запросы API с помощью REST API или клиентской библиотеки. В запрос также можно включить несколько компонентов языковой службы, которые будут одновременно выполняться для ваших данных.
В настоящее время для асинхронного использования доступны следующие компоненты:
- Связывание сущностей
- Формирование сводных данных по документу
- Сводки по разговорам
- Извлечение ключевых фраз
- Определение языка
- Распознавание именованных сущностей (NER)
- Обнаружение содержимого клиента
- Анализ тональности и интеллектуальный анализ мнений
- Анализ текста для сферы здравоохранения
- Личные сведения (PII)
При отправке асинхронных запросов плата взимается на основе количества текстовых записей, которые вы включаете в запрос, для каждого использования функции. Например, если вы отправляете текстовую запись для анализа тональности и NER, она будет считаться отправкой двух текстовых записей, и вы будете взиматься за оба в соответствии с ценовой категорией.
Отправка асинхронного задания с помощью REST API
Чтобы отправить асинхронное задание, ознакомьтесь со справочной документацией для текста JSON, который будет отправлен в этом запросе.
- Добавьте документы в объект
analysisInput
. - Добавьте в объект
tasks
операции, которые нужно выполнить с данными. Например, если вы хотите выполнить анализ тональности, добавьте объектSentimentAnalysisLROTask
. - При необходимости можно:
- Выберите конкретную версию модели для своих данных.
- Включите дополнительные функции языковой
tasks
службы в объект, которые будут выполняться в данных одновременно.
Когда текст JSON для запроса создан, добавьте ключ в заголовок Ocp-Apim-Subscription-Key
. Затем отправьте запрос API в конечную точку создания задания. Например:
POST https://your-endpoint.cognitiveservices.azure.com/language/analyze-text/jobs?api-version=2022-05-01
Успешный вызов вернет код отклика 202. В operation-location
заголовке ответа будет URL-адрес, который будет использоваться для получения результатов API. Значение будет выглядеть аналогично следующему URL-адресу:
GET {Endpoint}/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-05-01
Чтобы получить состояние и результаты запроса, отправьте запрос GET на URL-адрес (operation-location
) из заголовка в предыдущем ответе API. Не забудьте ввести ключ в качестве значения для Ocp-Apim-Subscription-Key
. Ответ будет включать результаты вызова API.
Отправка асинхронных запросов API с помощью клиентской библиотеки
Для начала проверьте, установлена ли у вас клиентская библиотека для выбранного языка. Инструкции по установке клиентской библиотеки вы найдете в кратком руководстве для компонента, который нужно использовать.
Затем воспользуйтесь объектом клиента для отправки асинхронных вызовов API. Используемые вызовы методов зависят от языка. Примеры кода и справочная документация помогут вам приступить к работе.
Доступность результатов
При асинхронном использовании этой функции результаты API доступны в течение 24 часов с момента приема запроса и указываются в ответе. По истечении этого периода результаты очищаются и больше не будут доступны для извлечения.
Автоматическое распознавание языка
Начиная с версии 2022-07-01-preview
REST API, вы можете запросить автоматическое определение языка в документах. Если задать для параметра language
значение auto
, обнаруженный код языка текста будет возвращен в качестве значения языка в ответе. Это обнаружение языка не будет взимать дополнительные расходы на ресурс языка.
Ограничения данных
Примечание.
- Если необходимо выполнить анализ документов большего размера, чем разрешено, прежде чем отправлять их в API, текст можно разбить на фрагменты меньшего размера.
- Документ — это одна строка текстовых символов.
В асинхронном запросе можно отправить до 125 000 символов во всех документах. Их количество подсчитывается с помощью свойства StringInfo.LengthInTextElements. Указанный лимит превышает ограничения для синхронных запросов, что позволяет улучшить пропускную способность.
Если в каком-то из документов запроса количество символов превышает допустимое, API отклонит весь этот запрос и отобразится ошибка 400 bad request
.