Compartilhar via


Fazer backup de modelos de compreensão da linguagem coloquial e recuperá-los

Ao criar um recurso de linguagem no portal do Azure, você especifica uma região na qual ele será criado. Desse ponto em diante, o recurso e todas as operações relacionadas a ele ocorrem na região especificada do servidor do Azure. É raro, mas não impossível, que um problema de rede atinja toda uma região. Se a sua solução precisa estar sempre disponível, você deve projetá-la para fazer failover em outra região. Isso exige dois recursos de Linguagem de IA do Azure em regiões diferentes e a capacidade de sincronizar os modelos de CLU entre as regiões.

Se o seu aplicativo ou os seus negócios dependem do uso de um modelo de CLU, recomendamos que você crie uma réplica do projeto em outra região com suporte. Assim, se ocorrer uma interrupção regional, você poderá acessar o modelo na outra região de failover em que tiver replicado seu projeto.

Replicar um projeto significa que você exporta seus ativos e metadados de projeto e os importa para um novo projeto. Isso faz apenas uma cópia das configurações do projeto, das intenções, das entidades e dos enunciados. Você ainda precisa treinar e implantar os modelos para que estejam disponíveis para uso com as APIs de runtime.

Neste artigo, você aprenderá a 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 com suporte, verá diretrizes sobre como manter seus projetos em sincronia e as alterações necessárias para o consumo em runtime.

Pré-requisitos

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

Obter suas chaves de recurso e ponto de extremidade

Use as etapas a seguir para obter as chaves e o ponto de extremidade dos recursos primários e secundários. Eles serão usados nas etapas a seguir.

No portal do Azure, vá para a página de visão geral do recurso. No menu do lado esquerdo, selecione Chaves 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.

Dica

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

Exportar os ativos do projeto primário

Comece exportando os ativos do projeto em seu recurso primário.

Enviar trabalho de exportação

Substitua os espaços reservados na solicitação a seguir por {PRIMARY-ENDPOINT} e {PRIMARY-RESOURCE-KEY} obtidos na primeira etapa.

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

URL da solicitação

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando êxito. Nos cabeçalhos de resposta, extraia o valor operation-location. A formatação ficará da seguinte maneira:

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

JOB-ID é usado para identificar sua solicitação, pois essa operação é assíncrona. Use essa URL para obter o JSON do projeto exportado usando o mesmo método de autenticação.

Obter o status do trabalho de exportação

Substitua os espaços reservados na solicitação a seguir por {PRIMARY-ENDPOINT} e {PRIMARY-RESOURCE-KEY} obtidos na primeira etapa.

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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 exportação. Isso está no valor de cabeçalho location que você obteve 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 recurso. Usado para autenticação de 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 por meio da chave resultUrl no corpo para ver os ativos exportados desse trabalho.

Obter os resultados da exportação

Envie uma solicitação GET usando a {RESULT-URL} recebida 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 recurso. Usado para autenticação de suas solicitações de API. {PRIMARY-RESOURCE-KEY}

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

Importar em um novo projeto

Agora, prossiga e importe os ativos exportados do projeto no novo projeto na região secundária para que você possa replicá-los.

Enviar o trabalho de importação

Substitua os espaços reservados na solicitação a seguir por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos na primeira etapa.

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

URL da solicitação

Use a URL a seguir ao criar sua solicitação de API. Substitua os valores do espaço reservado pelos seus.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo

O corpo JSON que você envia é semelhante ao exemplo a seguir. Confira 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 Espaço reservado 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 que especifica o código de idioma dos enunciados usados no projeto. Se for um projeto multilíngue, escolha o código de idioma da maioria dos enunciados. en-us
multilingual true Um valor booliano que permite que você tenha documentos em vários idiomas em seu conjunto de dados. Quando seu modelo for implantado, você poderá consultar o modelo em qualquer idioma com suporte, incluindo os idiomas que não estão incluídos em seus documentos de treinamento. true
dataset {DATASET} Confira como treinar um modelo para saber como dividir seus dados entre um conjunto de testes e um de treinamento. Os valores possíveis para esse campo são Train e Test. Train

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

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

Obter o status do trabalho de importação

Substitua os espaços reservados na solicitação a seguir por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos na primeira etapa.

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

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

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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 encontrar o status do seu 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 recurso. Usado para autenticação de suas solicitações de API. {YOUR-PRIMARY-RESOURCE-KEY}

Corpo da resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue sondando esse 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"
}

Treinar seu modelo

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

Enviar trabalho de treinamento

Substitua os espaços reservados na solicitação a seguir por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos na primeira etapa.

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

URL da solicitação

Use a URL a seguir ao criar sua solicitação de API. Substitua os valores do espaço reservado pelos seus.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da solicitação

Use o seguinte objeto em sua solicitação. O modelo receberá o nome do valor que você usa no parâmetro modelLabel assim que o treinamento for concluído.

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "{TRAINING-MODE}",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
Chave Espaço reservado 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 do modelo mais recente do modelo é usada. 2022-05-01
trainingMode {TRAINING-MODE} O modo de treinamento a ser usado para o treinamento. Os modos com suporte são Treinamento padrão: treinamento mais rápido, mas disponível apenas em inglês; e Treinamento avançado: com suporte para outros idiomas e projetos multilíngues, mas envolve tempos de treinamento mais longos. Saiba mais sobre os modos de treinamento. standard
kind percentage Métodos de divisão. Os valores possíveis são percentage ou manual. Confira como treinar um modelo para obter mais informações. percentage
trainingSplitPercentage 80 Porcentual dos dados marcados a serem incluídos no conjunto de treinamentos. O valor recomendado é 80. 80
testingSplitPercentage 20 Porcentual dos dados marcados a serem incluídos no conjunto de teste. O valor recomendado é 20. 20

Observação

trainingSplitPercentage e testingSplitPercentage serão necessários somente se Kind for definido como percentage, sendo que a soma de ambos os percentuais deverá ser igual a 100.

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando êxito. Nos cabeçalhos de resposta, extraia o valor operation-location. A formatação ficará da seguinte maneira:

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

É possível usar essa URL para obter o status do trabalho de treinamento.

Obter Status de Treinamento

Substitua os espaços reservados na solicitação a seguir por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos 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 operation-location da resposta.

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

URL da solicitação

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{YOUR-ENDPOINT} O ponto de extremidade para autenticação de 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} A ID para localização do status de treinamento do 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue sondando esse 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"
}
Chave Valor Exemplo
modelLabel O nome do modelo Model1
trainingConfigVersion A versão da configuração de treinamento. Por padrão, a versão mais recente é usada. 2022-05-01
trainingMode Seu modo de treinamento selecionado. standard
startDateTime A hora de início do treinamento 2022-04-14T10:23:04.2598544Z
status O status do trabalho de treinamento running
estimatedEndDateTime Tempo estimado para o término do trabalho de treinamento 2022-04-14T10:29:38.2598544Z
jobId ID do trabalho de treinamento xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime Data e hora de criação do trabalho de treinamento 2022-04-14T10:22:42Z
lastUpdatedDateTime Data e hora da última atualização do trabalho de treinamento 2022-04-14T10:23:45Z
expirationDateTime Data e hora de validade do trabalho de treinamento 2022-04-14T10:22:42Z

Implantar o seu modelo

Essa é a etapa em que você disponibilizará seu modelo treinado para consumo de formulários por meio da API de previsão de runtime.

Dica

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

Enviar trabalho de implantação

Substitua os espaços reservados na solicitação a seguir por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos na primeira etapa.

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

URL da solicitação

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da solicitação

{
  "trainedModelLabel": "{MODEL-NAME}",
}
Chave Espaço reservado Valor Exemplo
trainedModelLabel {MODEL-NAME} O nome do modelo que será atribuído à 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 êxito. Nos cabeçalhos de resposta, extraia o valor operation-location. A formatação ficará da seguinte maneira:

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

Use 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 por {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY} obtidos na primeira etapa.

Quando você envia uma solicitação de implantação 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 operation-location da resposta.

Use a solicitação GET a seguir para obter o status do trabalho de implantação. Substitua os valores do espaço reservado pelos seus.

URL da solicitação

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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 implantação. Esse valor diferencia maiúsculas de minúsculas. staging
{JOB-ID} A ID para localização do status de treinamento do 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.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue sondando esse 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 runtime

No sistema, na etapa em que você chama a API de runtime, verifique se você vê o código de resposta retornado da API de tarefa de envio. Se você observar uma falha consistente ao enviar a solicitação, isso poderá indicar uma interrupção na região primária. Falha uma vez não significa uma interrupção, isso 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 o {YOUR-SECONDARY-ENDPOINT} e a chave secundária. Se você seguiu as etapas acima, {PROJECT-NAME} e {DEPLOYMENT-NAME} são os mesmos, ou seja, nenhuma alteração é necessária no corpo da solicitação.

Se você reverter o uso do recurso secundário, observará um pequeno aumento na latência devido à diferença nas regiões em que o modelo é implantado.

Verificar se os projetos estão fora de sincronia

Manter a atualização dos dois projetos é uma parte importante do processo. Frequentemente, você precisa verificar se foram feitas atualizações no projeto primário para movê-las para o projeto secundário. Dessa forma, se a região primária falhar e você mover as atualizações para a região secundária, deverá esperar um desempenho de modelo semelhante, pois ela já contém as atualizações mais recentes. Definir a frequência de verificação de sincronia dos projetos é uma opção importante. Recomendamos que você faça essa verificação diariamente para garantir a atualização dos dados no modelo secundário.

Obter os detalhes do projeto

Use a URL a seguir 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 o projeto primário e outra para o projeto secundário, e compare o carimbo de data/hora retornado para ambos para verificar se estão fora de sincronização.

Use a solicitação GET a seguir para obter os detalhes do projeto. Você pode usar a URL que obteve na etapa anterior ou substituir os valores de espaço reservado abaixo pelos seus próprios valores.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de 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 recurso. Usado para autenticação de 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 o projeto replicado usando {SECONDARY-ENDPOINT} e {SECONDARY-RESOURCE-KEY}. Compare o lastModifiedDateTime retornado de ambos os projetos. Se o projeto primário tiver sido modificado antes do secundário, repita as etapas de exportação, importação, treinamento e implantação do seu modelo.

Próximas etapas

Neste artigo, você aprendeu como usar as APIs de importação e exportação para replicar seu projeto em um recurso de Linguagem secundário em outra região. Agora, explore a documentação de referência de API para saber o que mais é possível fazer com as APIs de criação.