Share via


Faça backup e recupere seus modelos de compreensão de linguagem conversacional

Ao criar um recurso de idioma no portal do Azure, você especifica uma região para ele ser criado. A partir de então, seu recurso e todas as operações relacionadas a ele ocorrem na região de servidor do Azure especificada. É raro, mas não impossível, encontrar um problema de rede que atinge uma região inteira. Se sua solução precisa estar sempre disponível, então você deve projetá-la para failover em outra região. Isso requer dois recursos de linguagem de IA do Azure em regiões diferentes e a capacidade de sincronizar seus modelos de CLU entre regiões.

Se seu aplicativo ou empresa depender do uso de um modelo de CLU, recomendamos que você crie uma réplica do seu projeto em outra região suportada. Para que, se ocorrer uma interrupção regional, você possa acessar seu modelo na outra região de failover onde você replicou seu projeto.

Replicar um projeto significa exportar os metadados e ativos do projeto e importá-los para um novo projeto. Isso faz apenas uma cópia das configurações, intenções, entidades e expressões do seu projeto. Você ainda precisa treinar e implantar os modelos para estarem disponíveis para uso com APIs de tempo de execução.

Neste artigo, você aprenderá como usar as APIs de exportação e importação para replicar seu projeto de um recurso para outro existente em diferentes regiões geográficas suportadas, orientação sobre como manter seus projetos sincronizados e alterações necessárias no consumo de tempo de execução.

Pré-requisitos

  • Dois recursos de linguagem de IA do Azure em regiões diferentes do Azure, cada um deles em uma região diferente.

Obter o ponto de extremidade das chaves de recursos

Use as etapas a seguir para obter as chaves e o ponto de extremidade de seus recursos primários e secundários. Estes serão utilizados nos passos seguintes.

Vá para a página de visão geral do recurso no portal do Azure. No menu do lado esquerdo, selecione Teclas e Ponto de extremidade. Você usará o ponto de extremidade e a chave para as solicitações de API

A screenshot showing the key and endpoint page in the Azure portal.

Gorjeta

Anote as chaves e os pontos de extremidade dos recursos primários e secundários. Use esses valores para substituir os seguintes espaços reservados: {PRIMARY-ENDPOINT}, {PRIMARY-RESOURCE-KEY}{SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY}. Anote também o nome do projeto, o nome do modelo e o nome da implantação. Use esses valores para substituir os seguintes espaços reservados: {PROJECT-NAME}, {MODEL-NAME} e {DEPLOYMENT-NAME}.

Exporte seus principais ativos de projeto

Comece exportando os ativos do projeto em seu recurso principal.

Enviar trabalho de exportação

Substitua os espaços reservados na solicitação a seguir pelo seu {PRIMARY-ENDPOINT} e {PRIMARY-RESOURCE-KEY} que você obteve na primeira etapa.

Crie uma solicitação POST usando a seguinte URL, cabeçalhos e corpo JSON para exportar seu projeto.

URL do Pedido

Use a seguinte URL ao criar sua solicitação de API. Substitua os valores de espaço reservado abaixo pelos seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. EmailApp
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando sucesso. Nos cabeçalhos de resposta, extraia o operation-location valor. Será formatado da seguinte forma:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

JOB-ID é utilizado para identificar o seu pedido, uma vez que esta operação é assíncrona. Use essa URL para obter o JSON do projeto exportado, usando o mesmo método de autenticação.

Obter status de trabalho de exportação

Substitua os espaços reservados na solicitação a seguir pelo seu {PRIMARY-ENDPOINT} e {PRIMARY-RESOURCE-KEY} que você obteve na primeira etapa.

Use a seguinte solicitação GET para consultar o status do seu trabalho de exportação. Você pode usar a URL recebida da etapa anterior ou substituir os valores de espaço reservado abaixo por seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{JOB-ID} O ID para localizar o status do trabalho de exportação. Isso está no valor do location cabeçalho que você recebeu na etapa anterior. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Descrição Valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API. {YOUR-PRIMARY-RESOURCE-KEY}

Corpo da resposta

{
  "resultUrl": "{Endpoint}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/xxxxxx-xxxxx-xxxxx-xx/result?api-version={API-VERSION}",
  "jobId": "xxxx-xxxxx-xxxxx-xxx",
  "createdDateTime": "2022-04-18T15:23:07Z",
  "lastUpdatedDateTime": "2022-04-18T15:23:08Z",
  "expirationDateTime": "2022-04-25T15:23:07Z",
  "status": "succeeded"
}

Use a url da resultUrl chave no corpo para exibir os ativos exportados deste trabalho.

Obter resultados de exportação

Envie uma solicitação GET usando o {RESULT-URL} que você recebeu da etapa anterior para exibir os resultados do trabalho de exportação.

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Descrição Valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API. {PRIMARY-RESOURCE-KEY}

Copie o corpo da resposta, pois você o usará como o corpo para o próximo trabalho de importação.

Importar para um novo projeto

Agora, vá em frente e importe os ativos de projeto exportados em seu novo projeto na região secundária para que você possa replicá-lo.

Enviar trabalho de importação

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Envie uma solicitação POST usando a seguinte URL, cabeçalhos e corpo JSON para importar seu projeto.

URL do Pedido

Use a seguinte URL ao criar sua solicitação de API. Substitua os valores de espaço reservado por seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas e deve corresponder ao nome do projeto no arquivo JSON que você está importando. EmailAppDemo
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo

O corpo JSON enviado é semelhante ao exemplo a seguir. Consulte a documentação de referência para obter mais detalhes sobre o objeto JSON.

{
  "projectFileVersion": "{API-VERSION}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "Conversation",
    "settings": {
      "confidenceThreshold": 0.7
    },
    "projectName": "{PROJECT-NAME}",
    "multilingual": true,
    "description": "Trying out CLU",
    "language": "{LANGUAGE-CODE}"
  },
  "assets": {
    "projectKind": "Conversation",
    "intents": [
      {
        "category": "intent1"
      },
      {
        "category": "intent2"
      }
    ],
    "entities": [
      {
        "category": "entity1"
      }
    ],
    "utterances": [
      {
        "text": "text1",
        "dataset": "{DATASET}",
        "intent": "intent1",
        "entities": [
          {
            "category": "entity1",
            "offset": 5,
            "length": 5
          }
        ]
      },
      {
        "text": "text2",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "intent": "intent2",
        "entities": []
      }
    ]
  }
}

Chave Marcador de Posição Valor Exemplo
{API-VERSION} A versão da API que você está chamando. 2023-04-01
projectName {PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. EmailAppDemo
language {LANGUAGE-CODE} Uma cadeia de caracteres especificando o código de idioma para os enunciados usados em seu projeto. Se o seu projeto for multilingue, escolha o código linguístico da maioria dos enunciados. en-us
multilingual true Um valor booleano que permite que você tenha documentos em vários idiomas em seu conjunto de dados. Quando o modelo é implantado, você pode consultá-lo em qualquer idioma suportado, incluindo idiomas que não estão incluídos nos documentos de treinamento. true
dataset {DATASET} Veja como treinar um modelo para obter informações sobre como dividir seus dados entre um conjunto de testes e treinamento. Os valores possíveis para este campo são Train e Test. Train

Após uma solicitação bem-sucedida, a resposta da API conterá um operation-location cabeçalho com uma URL que você pode usar para verificar o status do trabalho de importação. Está formatado assim:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}

Obter status de trabalho de importação

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Quando você envia uma solicitação de importação de projeto bem-sucedida, a URL de solicitação completa para verificar o status do trabalho de importação (incluindo seu ponto de extremidade, nome do operation-location projeto e ID do trabalho) está contida no cabeçalho da resposta.

Use a seguinte solicitação GET para consultar o status do seu trabalho de importação. Você pode usar a URL recebida da etapa anterior ou substituir os valores de espaço reservado por seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{JOB-ID} A ID para localizar o status do trabalho de importação. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Descrição Valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API. {YOUR-PRIMARY-RESOURCE-KEY}

Corpo da resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue pesquisando este ponto de extremidade até que o parâmetro de status mude para "bem-sucedido".

{
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx",
  "createdDateTime": "2022-04-18T15:17:20Z",
  "lastUpdatedDateTime": "2022-04-18T15:17:22Z",
  "expirationDateTime": "2022-04-25T15:17:20Z",
  "status": "succeeded"
}

Preparar o modelo

Depois de importar seu projeto, você só copiou os ativos, metadados e ativos do projeto. Você ainda precisa treinar seu modelo, que incorrerá em uso em sua conta.

Submeter tarefa de preparação

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Crie uma solicitação POST usando a seguinte URL, cabeçalhos e corpo JSON para enviar um trabalho de treinamento.

URL do Pedido

Use a seguinte URL ao criar sua solicitação de API. Substitua os valores de espaço reservado por seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. EmailApp
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo do pedido

Use o seguinte objeto em sua solicitação. O modelo será nomeado de acordo com o valor que você usa para o parâmetro quando o modelLabel treinamento for concluído.

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "{TRAINING-MODE}",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
Chave Marcador de Posição Valor Exemplo
modelLabel {MODEL-NAME} O nome do seu modelo. Model1
trainingConfigVersion {CONFIG-VERSION} A versão do modelo de configuração de treinamento. Por padrão, a versão mais recente do modelo é usada. 2022-05-01
trainingMode {TRAINING-MODE} O modo de treinamento a ser usado para treinamento. Os modos suportados são treinamento padrão, treinamento mais rápido, mas disponível apenas para inglês e treinamento avançado suportado para outros idiomas e projetos multilíngues, mas envolve tempos de treinamento mais longos. Saiba mais sobre os modos de preparação. standard
kind percentage Métodos de divisão. Os valores possíveis são percentage ou manual. Veja como treinar um modelo para obter mais informações. percentage
trainingSplitPercentage 80 Porcentagem dos dados marcados a serem incluídos no conjunto de treinamento. O valor recomendado é 80. 80
testingSplitPercentage 20 Porcentagem dos dados marcados a serem incluídos no conjunto de testes. O valor recomendado é 20. 20

Nota

O trainingSplitPercentage e só são necessários se Kind for definido como percentage e testingSplitPercentage a soma de ambas as percentagens deve ser igual a 100.

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando sucesso. Nos cabeçalhos de resposta, extraia o operation-location valor. Será formatado da seguinte forma:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

Você pode usar essa URL para obter o status do trabalho de treinamento.

Obter Estado do Treino

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Quando você envia uma solicitação de treinamento bem-sucedida, a URL completa da solicitação para verificar o status do trabalho (incluindo seu ponto de extremidade, nome do projeto e ID do trabalho) está contida no cabeçalho da operation-location resposta.

Use a seguinte solicitação GET para obter o status do progresso do treinamento do seu modelo. Substitua os valores de espaço reservado abaixo pelos seus próprios valores.

URL do Pedido

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{YOUR-ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. EmailApp
{JOB-ID} O ID para localizar o status de treinamento do seu modelo. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Organismo de resposta

Depois de enviar o pedido, obterá a seguinte resposta. Continue pesquisando este ponto de extremidade até que o parâmetro de status mude para "bem-sucedido".

{
  "result": {
    "modelLabel": "{MODEL-LABEL}",
    "trainingConfigVersion": "{TRAINING-CONFIG-VERSION}",
    "trainingMode": "{TRAINING-MODE}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "xxxxx-xxxxx-xxxx-xxxxx-xxxx",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}
Key valor Exemplo
modelLabel O nome do modelo Model1
trainingConfigVersion A versão de configuração de treinamento. Por padrão, a versão mais recente é usada. 2022-05-01
trainingMode O modo de treino selecionado. standard
startDateTime O tempo de treinamento começou 2022-04-14T10:23:04.2598544Z
status O estatuto do trabalho de formação running
estimatedEndDateTime Tempo estimado para a conclusão do trabalho de formação 2022-04-14T10:29:38.2598544Z
jobId O seu ID de trabalho de formação xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime Data e hora de criação de emprego de formação 2022-04-14T10:22:42Z
lastUpdatedDateTime Data e hora da última atualização do trabalho de formação 2022-04-14T10:23:45Z
expirationDateTime Data e hora de expiração do trabalho de treinamento 2022-04-14T10:22:42Z

Implementar o modelo

Esta é a etapa em que você disponibiliza o consumo de formulários do seu modelo treinado por meio da API de previsão de tempo de execução.

Gorjeta

Use o mesmo nome de implantação do projeto principal para facilitar a manutenção e fazer alterações mínimas no sistema para lidar com o redirecionamento do tráfego.

Enviar trabalho de implantação

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Crie uma solicitação PUT usando a seguinte URL, cabeçalhos e corpo JSON para começar a implantar um modelo de compreensão de linguagem conversacional.

URL do Pedido

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{DEPLOYMENT-NAME} O nome da sua implantação. Esse valor diferencia maiúsculas de minúsculas. staging
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo do Pedido

{
  "trainedModelLabel": "{MODEL-NAME}",
}
Chave Marcador de Posição Valor Exemplo
trainedModelLabel {MODEL-NAME} O nome do modelo que será atribuído à sua implantação. Você só pode atribuir modelos treinados com sucesso. Esse valor diferencia maiúsculas de minúsculas. myModel

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando sucesso. Nos cabeçalhos de resposta, extraia o operation-location valor. Será formatado da seguinte forma:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

Você pode usar essa URL para obter o status do trabalho de implantação.

Obter o status da implantação

Substitua os espaços reservados na solicitação a seguir pelo seu {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} que você obteve na primeira etapa.

Quando você envia uma solicitação de implantação bem-sucedida, a URL de solicitação completa para verificar o status do trabalho (incluindo seu ponto de extremidade, nome do projeto e ID do trabalho) está contida no cabeçalho da operation-location resposta.

Use a seguinte solicitação GET para obter o status do seu trabalho de implantação. Substitua os valores de espaço reservado por seus próprios valores.

URL do Pedido

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{DEPLOYMENT-NAME} O nome da sua implantação. Esse valor diferencia maiúsculas de minúsculas. staging
{JOB-ID} O ID para localizar o status de treinamento do seu modelo. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Organismo de resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue pesquisando este ponto de extremidade até que o parâmetro de status mude para "bem-sucedido".

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

Alterações na chamada do tempo de execução

Dentro do seu sistema, na etapa em que você chama a API de tempo de execução, verifique o código de resposta retornado da API de tarefa de envio. Se você observar uma falha consistente no envio da solicitação, isso pode indicar uma interrupção na região principal. Uma falha uma vez não significa uma interrupção, pode ser um problema transitório. Tente enviar novamente o trabalho por meio do recurso secundário que você criou. Para a segunda solicitação, use sua {YOUR-SECONDARY-ENDPOINT} chave secundária, se você tiver seguido as etapas acima, {PROJECT-NAME} e {DEPLOYMENT-NAME} seria a mesma para que nenhuma alteração seja necessária no corpo da solicitação.

Caso você volte a usar seu recurso secundário, observará um ligeiro aumento na latência devido à diferença nas regiões onde seu modelo é implantado.

Verifique se os seus projetos estão fora de sincronia

Manter a frescura de ambos os projetos é uma parte importante do processo. Você precisa verificar frequentemente se foram feitas atualizações no seu projeto principal para que você as mova para o seu projeto secundário. Dessa forma, se a região primária falhar e você passar para a região secundária, você deve esperar um desempenho semelhante do modelo, pois ele já contém as atualizações mais recentes. Definir a frequência de verificação se seus projetos estão sincronizados é uma escolha importante, recomendamos que você faça essa verificação diariamente para garantir o frescor dos dados em seu modelo secundário.

Obter detalhes do projeto

Use a seguinte url para obter os detalhes do projeto, uma das chaves retornadas no corpo indica a data da última modificação do projeto. Repita a etapa a seguir duas vezes, uma para seu projeto principal e outra para seu projeto secundário e compare o carimbo de data/hora retornado para ambos para verificar se estão fora de sincronia.

Use a seguinte solicitação GET para obter os detalhes do seu projeto. Você pode usar a URL recebida da etapa anterior ou substituir os valores de espaço reservado abaixo por seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Marcador de Posição Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{API-VERSION} A versão da API que você está chamando. 2023-04-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Descrição Valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API. {YOUR-PRIMARY-RESOURCE-KEY}

Corpo da resposta

{
  "createdDateTime": "2022-04-18T13:53:03Z",
  "lastModifiedDateTime": "2022-04-18T13:53:03Z",
  "lastTrainedDateTime": "2022-04-18T14:14:28Z",
  "lastDeployedDateTime": "2022-04-18T14:49:01Z",
  "projectKind": "Conversation",
  "projectName": "{PROJECT-NAME}",
  "multilingual": true,
  "description": "This is a sample conversation project.",
  "language": "{LANGUAGE-CODE}"
}

Repita as mesmas etapas para seu projeto replicado usando {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY}. Compare o retorno lastModifiedDateTime de ambos os projetos. Se o seu projeto principal foi modificado mais cedo do que o secundário, você precisa repetir as etapas de exportação, importação, treinamento e implantação do seu modelo.

Próximos passos

Neste artigo, você aprendeu como usar as APIs de exportação e importação para replicar seu projeto para um recurso de idioma secundário em outra região. Em seguida, explore os documentos de referência da API para ver o que mais você pode fazer com as APIs de criação.