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 negócio 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
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 | Description | 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 | Description | 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 teste 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 projeto e ID do trabalho) está contida no cabeçalho da operation-location
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 | Description | 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 testingSplitPercentage
só são necessários se Kind
for definido como percentage
e 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 seu modelo treinado para consumo de formulários 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 de modelo semelhante, 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 o 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 | Description | 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.