Поделиться через


Асинхронное использование функций языка

Язык позволяет асинхронно отправлять запросы API с помощью REST API или клиентской библиотеки. Вы также можете включить в запрос несколько различных функций языка, которые будут выполняться в данных одновременно.

В настоящее время для асинхронного использования доступны следующие компоненты:

  • Связывание сущностей
  • Формирование сводных данных по документу
  • Резюмирование разговора
  • Извлечение ключевых фраз
  • Определение языка
  • Распознавание именованных сущностей (NER)
  • Обнаружение содержимого клиента
  • Анализ настроений и извлечение мнений
  • Анализ текста для сферы здравоохранения
  • Личные сведения (PII)

При отправке асинхронных запросов плата взимается на основе количества текстовых записей, которые вы включаете в запрос, для каждого использования функции. Например, если вы отправляете текстовую запись для анализа тональности и NER, данные считаются отправкой двух текстовых записей, и плата взимается за оба в соответствии с ценовой категорией.

Отправка асинхронного задания с помощью REST API

Чтобы отправить асинхронное задание, просмотрите справочную документацию по тексту JSON, который вы отправляете в запросе.

  1. Добавьте документы в объект analysisInput.
  2. Добавьте в объект tasks операции, которые нужно выполнить с данными. Например, если вы хотите выполнить анализ тональности, добавьте объект SentimentAnalysisLROTask.
  3. При необходимости можно:
    1. Выберите конкретную версию модели для своих данных.
    2. Включите добавленные языковые функции в объект 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 , если любой документ в нем превышает максимальный размер.

См. также