Como usar os recursos do serviço de idioma de forma assíncrona
O serviço Language permite enviar solicitações de API de forma assíncrona, usando a API REST ou a biblioteca do cliente. Você também pode incluir vários recursos de serviço de idioma diferentes em sua solicitação, a serem executados em seus dados ao mesmo tempo.
Atualmente, os seguintes recursos estão disponíveis para serem usados de forma assíncrona:
- Associação de entidades
- Resumo de documentos
- Resumo da conversação
- Extração de expressões-chave
- Deteção de idioma
- Reconhecimento de Entidades Nomeadas (NER)
- Deteção de conteúdo do cliente
- Análise de sentimentos e extração de opiniões
- Análise de Texto para a saúde
- Informações pessoais identificáveis (PII)
Ao enviar solicitações assíncronas, você incorrerá em cobranças com base no número de registros de texto incluídos na solicitação, para cada uso de recurso. Por exemplo, se você enviar um registro de texto para análise de sentimento e NER, ele será contado como envio de dois registros de texto e você será cobrado por ambos de acordo com seu nível de preço.
Enviar um trabalho assíncrono usando a API REST
Para enviar um trabalho assíncrono, revise a documentação de referência para o corpo JSON que você enviará em sua solicitação.
- Adicione seus documentos ao
analysisInput
objeto. - No objeto, inclua as
tasks
operações que você deseja executar em seus dados. Por exemplo, se você quisesse executar a análise de sentimento, incluiria oSentimentAnalysisLROTask
objeto. - Opcionalmente, você pode:
- Escolha uma versão específica do modelo usado em seus dados.
- Inclua recursos adicionais do
tasks
serviço de idioma no objeto, a serem executados em seus dados ao mesmo tempo.
Depois de criar o corpo JSON para sua solicitação, adicione sua chave ao Ocp-Apim-Subscription-Key
cabeçalho. Em seguida, envie sua solicitação de API para o endpoint de criação de trabalho. Por exemplo:
POST https://your-endpoint.cognitiveservices.azure.com/language/analyze-text/jobs?api-version=2022-05-01
Uma chamada bem-sucedida retornará um código de resposta 202. O operation-location
cabeçalho de resposta será o URL que você usará para recuperar os resultados da API. O valor será semelhante ao seguinte URL:
GET {Endpoint}/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-05-01
Para obter o status e recuperar os resultados da solicitação, envie uma solicitação GET para a URL recebida no operation-location
cabeçalho da resposta anterior da API. Lembre-se de incluir a Ocp-Apim-Subscription-Key
sua chave no . A resposta incluirá os resultados da sua chamada de API.
Enviar solicitações de API assíncronas usando a biblioteca do cliente
Primeiro, certifique-se de ter a biblioteca de cliente instalada para o idioma de sua escolha. Para conhecer as etapas de instalação da biblioteca de cliente, consulte o artigo de início rápido do recurso que você deseja usar.
Depois, use o objeto cliente para enviar chamadas assíncronas para a API. O método de chamadas a utilizar varia consoante o seu idioma. Use os exemplos disponíveis e a documentação de referência para ajudá-lo a começar.
Disponibilidade dos resultados
Ao usar esse recurso de forma assíncrona, os resultados da API ficam disponíveis por 24 horas a partir do momento em que a solicitação foi ingerida e são indicados na resposta. Após esse período de tempo, os resultados são limpos e não estão mais disponíveis para recuperação.
Deteção de idioma automático
A partir da versão 2022-07-01-preview
da API REST, você pode solicitar a deteção automática de idioma em seus documentos. Ao definir o language
parâmetro como auto
, o código de idioma detetado do texto será retornado como um valor de idioma na resposta. Esta deteção de idioma não implica custos adicionais para o seu recurso Idioma.
Limites de dados
Nota
- Se precisar analisar documentos maiores do que o limite permite, você pode dividir o texto em pedaços menores de texto antes de enviá-los para a API.
- Um documento é uma única cadeia de caracteres de texto.
Você pode enviar até 125.000 caracteres em todos os documentos contidos na solicitação assíncrona, conforme medido por StringInfo.LengthInTextElements. Esse limite de caracteres é maior do que o limite para solicitações síncronas, para permitir uma taxa de transferência mais alta.
Se um documento exceder o limite de caracteres, a API rejeitará toda a solicitação e retornará um 400 bad request
erro se algum documento dentro dele exceder o tamanho máximo.