Sichern und Wiederherstellen Ihrer Unterhaltungssprachverständnis-Modelle

Wenn Sie eine Sprachressource im Azure-Portal erstellen, geben Sie eine Region an, in der sie erstellt werden soll. Dann werden Ihre Ressource und alle damit verbundenen Vorgänge in der angegebenen Azure-Serverregion ausgeführt. Es ist selten, aber nicht unmöglich, dass ein Netzwerkproblem auftritt, das eine ganze Region betrifft. Wenn Ihre Lösung immer verfügbar sein muss, sollten Sie sie so entwerfen, dass ein Failover in eine andere Region erfolgt. Dies erfordert zwei Azure KI Language-Ressourcen in verschiedenen Regionen und die Möglichkeit, Ihre CLU-Modelle regionsübergreifend zu synchronisieren.

Wenn Ihre App oder Ihr Unternehmen von der Verwendung eines CLU-Modells abhängig ist, empfehlen wir, dass Sie ein Replikat Ihres Projekts in einer anderen unterstützten Region erstellen. Wenn dann ein regionaler Ausfall auftritt, können Sie auf Ihr Modell in der anderen Failoverregion zugreifen, in der Sie Ihr Projekt repliziert haben.

Das Replizieren eines Projekts bedeutet, dass Sie Ihre Projektmetadaten und -ressourcen exportieren und in ein neues Projekt importieren. Dadurch wird nur eine Kopie Ihrer Projekteinstellungen, Absichten, Entitäten und Äußerungen erstellt. Sie müssen die Modelle weiterhin trainieren und bereitstellen, damit sie für die Verwendung bei Laufzeit-APIs zur Verfügung stehen.

In diesem Artikel erfahren Sie, wie Sie mithilfe der Export- und Import-APIs Ihr Projekt von einer Ressource in eine andere replizieren können, die in verschiedenen unterstützten geografischen Regionen vorhanden ist. Außerdem erfahren Sie, wie Sie Ihre Projekte synchron halten und Änderungen vornehmen, die für Ihren Laufzeitverbrauch erforderlich sind.

Voraussetzungen

  • Zwei Azure KI Language-Ressourcen in verschiedenen Azure-Regionen.

Abrufen Ihrer Ressourcenschlüssel und des Endpunkts

Führen Sie die folgenden Schritte aus, um die Schlüssel und den Endpunkt Ihrer primären und sekundären Ressourcen abzurufen. Diese Elemente werden in den folgenden Schritten verwendet.

Navigieren Sie im Azure-Portal zur Übersichtsseite Ihrer Ressource. Wählen Sie im Menü auf der linken Seite Schlüssel und Endpunkt aus. Sie verwenden den Endpunkt und Schlüssel für die API-Anforderungen.

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

Tipp

Notieren Sie sich Schlüssel und Endpunkte für primäre und sekundäre Ressourcen. Durch diese Werte ersetzen Sie die folgenden Platzhalter: {PRIMARY-ENDPOINT}, {PRIMARY-RESOURCE-KEY}, {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}. Notieren Sie sich außerdem Ihren Projektnamen, Ihren Modellnamen und Ihren Bereitstellungsnamen. Durch diese Werte ersetzen Sie die folgenden Platzhalter: {PROJECT-NAME}, {MODEL-NAME} und {DEPLOYMENT-NAME}.

Exportieren Ihrer primären Projektressourcen

Exportieren Sie zuerst die Projektressourcen aus dem Projekt in Ihrer primären Ressource.

Übermitteln des Exportauftrags

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {PRIMARY-ENDPOINT} und {PRIMARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Erstellen Sie eine POST-Anforderung mithilfe der folgenden URL, der Header und des JSON-Texts, um Ihr Projekt zu exportieren.

Anfrage-URL

Verwenden Sie zum Erstellen Ihrer API-Anforderung die folgende URL. Ersetzen Sie die folgenden Platzhalter durch Ihre eigenen Werte.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. EmailApp
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Nachdem Sie Ihre API-Anforderung gesendet haben, erhalten Sie eine 202-Antwort, die angibt, dass sie erfolgreich war. Extrahieren Sie in den Antwortheadern den operation-location-Wert. Er weist das folgende Format auf:

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

JOB-ID wird verwendet, um Ihre Anforderung zu identifizieren, da es sich um einen asynchronen Vorgang handelt. Verwenden Sie diese URL, um den exportierten JSON-Projektcode mit derselben Authentifizierungsmethode abzurufen.

Abrufen des Exportauftragsstatus

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {PRIMARY-ENDPOINT} und {PRIMARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Verwenden Sie die folgende GET-Anforderung, um den Status Ihres Exportauftrags abzufragen. Sie können die URL verwenden, die Sie im vorherigen Schritt erhalten haben, oder die Platzhalterwerte unten durch Ihre eigenen Werte ersetzen.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/{JOB-ID}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myProject
{JOB-ID} Die ID zum Suchen Ihres Exportauftragsstatus. Diese befindet sich im location-Headerwert, den Sie im vorherigen Schritt erhalten haben. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel BESCHREIBUNG Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet. {YOUR-PRIMARY-RESOURCE-KEY}

Antworttext

{
  "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"
}

Verwenden Sie die URL aus dem Schlüssel resultUrl im Text, um die exportierten Ressourcen aus diesem Auftrag anzuzeigen.

Abrufen von Exportergebnissen

Übermitteln Sie eine GET-Anforderung mithilfe der aus dem vorherigen Schritt erhaltenen {RESULT-URL}, um die Ergebnisse des Exportauftrags anzuzeigen.

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel BESCHREIBUNG Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet. {PRIMARY-RESOURCE-KEY}

Kopieren Sie den Antworttext, da Sie ihn als Text für den nächsten Importauftrag verwenden werden.

Importieren in ein neues Projekt

Importieren Sie jetzt die exportierten Projektressourcen in Ihr neues Projekt in der sekundären Region, damit Sie sie replizieren können.

Übermitteln des Importauftrags

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Übermitteln Sie eine POST-Anforderung mithilfe der folgenden URL, der Header und des JSON-Texts, um Ihr Projekt zu importieren.

Anfrage-URL

Verwenden Sie zum Erstellen Ihrer API-Anforderung die folgende URL. Ersetzen Sie die Platzhalterwerte durch eigene Werte.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet, und er muss mit dem Projektnamen in der JSON-Datei übereinstimmen, die Sie importieren. EmailAppDemo
{API-VERSION} Die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Body

Der JSON-Text, den Sie senden, ähnelt dem folgenden Beispiel. Weitere Informationen zum JSON-Objekt finden Sie in der Referenzdokumentation.

{
  "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": []
      }
    ]
  }
}

Schlüssel Platzhalter Wert Beispiel
{API-VERSION} Die Version der von Ihnen aufgerufenen API. 2023-04-01
projectName {PROJECT-NAME} Der Name des Projekts. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. EmailAppDemo
language {LANGUAGE-CODE} Hierbei handelt es sich um eine Zeichenfolge, die den Sprachcode für die in Ihrem Projekt verwendete Äußerung angibt. Wählen Sie bei einem mehrsprachigen Projekt den Sprachcode aus, der für die Mehrheit der Äußerungen verwendet wird. en-us
multilingual true Ein boolescher Wert, der es ermöglicht, dass Ihr Dataset Dokumente in mehreren Sprachen enthält. Wenn Ihr Modell bereitgestellt wird, können Sie das Modell in jeder unterstützten Sprache abfragen, einschließlich Sprachen, die nicht in Ihren Trainingsdokumenten enthalten sind. true
dataset {DATASET} Informationen über die Aufteilung Ihrer Daten in einen Test- und einen Trainingssatz finden Sie unter Trainieren eines Modells. Mögliche Werte für dieses Feld sind Train und Test. Train

Nach einer erfolgreichen Anforderung enthält die API-Antwort einen operation-location-Header mit einer URL, mit der Sie den Status des Importauftrags überprüfen können. Sie hat folgendes Format:

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

Abrufen des Importauftragsstatus

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Wenn Sie eine erfolgreiche Projektimportanforderung senden, ist die vollständige Anforderungs-URL zum Überprüfen des Importauftragsstatus (einschließlich Endpunkt, Projektname und Auftrags-ID) im operation-location-Header der Antwort enthalten.

Verwenden Sie die folgende GET-Anforderung, um den Status Ihres Importauftrags abzufragen. Sie können die URL verwenden, die Sie im vorherigen Schritt erhalten haben, oder die Platzhalterwerte durch Ihre eigenen Werte ersetzen.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myProject
{JOB-ID} Die ID zum Suchen Ihres Importauftragsstatus. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel BESCHREIBUNG Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet. {YOUR-PRIMARY-RESOURCE-KEY}

Antworttext

Nachdem Sie die Anforderung gesendet haben, erhalten Sie die folgende Antwort. Setzen Sie den Abruf dieses Endpunkts fort, bis der Parameter status zu „succeeded“ (erfolgreich) wechselt.

{
  "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"
}

Trainieren Ihres Modells

Nachdem Sie Ihr Projekt importiert haben, haben Sie nur die Ressourcen, Metadaten und Objekte des Projekts kopiert. Sie müssen Ihr Modell weiterhin trainieren, was zu einer Nutzung bei Ihrem Konto führt.

Übermitteln des Trainingsauftrags

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Erstellen Sie eine POST-Anforderung mithilfe der folgenden URL, der Header und des JSON-Texts, um einen Trainingsauftrag zu übermitteln.

Anfrage-URL

Verwenden Sie zum Erstellen Ihrer API-Anforderung die folgende URL. Ersetzen Sie die Platzhalterwerte durch eigene Werte.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. EmailApp
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Anforderungstext

Verwenden Sie das folgende Objekt in Ihrer Anforderung. Das Modell wird nach dem Wert benannt, den Sie für den modelLabel-Parameter verwenden, sobald das Training abgeschlossen ist.

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "{TRAINING-MODE}",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
Schlüssel Platzhalter Wert Beispiel
modelLabel {MODEL-NAME} Ihr Modellname. Model1
trainingConfigVersion {CONFIG-VERSION} Die Modellversion der Trainingskonfiguration. Standardmäßig wird die neueste Modellversion verwendet. 2022-05-01
trainingMode {TRAINING-MODE} Der Trainingsmodus, der für das Training verwendet werden soll. Unterstützt werden die Modi Standardtraining, schnelleres Training, aber nur für Englisch verfügbar, und Fortgeschrittenes Training, das für andere Sprachen und mehrsprachige Projekte unterstützt wird, aber längere Trainingszeiten umfasst. Erfahren Sie mehr über Trainingsmodi. standard
kind percentage Aufteilungsmethoden Mögliche Werte sind percentage oder manual. Weitere Informationen finden Sie unter Trainieren eines Modells. percentage
trainingSplitPercentage 80 Prozentsatz der markierten Daten, die in den Trainingssatz einbezogen werden sollen. Der empfohlene Wert ist 80. 80
testingSplitPercentage 20 Prozentsatz der markierten Daten, die in den Testsatz einbezogen werden sollen. Der empfohlene Wert ist 20. 20

Hinweis

trainingSplitPercentage und testingSplitPercentage sind nur erforderlich, wenn Kind auf percentage festgelegt ist, und die Summe beider Prozentsätze sollte 100 ergeben.

Nachdem Sie Ihre API-Anforderung gesendet haben, erhalten Sie eine 202-Antwort, die angibt, dass sie erfolgreich war. Extrahieren Sie in den Antwortheadern den operation-location-Wert. Er weist das folgende Format auf:

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

Sie können diese URL verwenden, um den Status des Trainingsauftrags abzurufen.

Trainingsstatus abrufen

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Wenn Sie eine erfolgreiche Trainingsanforderung senden, ist die vollständige Anforderungs-URL zum Überprüfen des Auftragsstatus (einschließlich Endpunkt, Projektname und Auftrags-ID) im operation-location-Header der Antwort enthalten.

Verwenden Sie die folgende GET-Anforderung, um den Trainingsstatus Ihres Modells abzufragen. Ersetzen Sie die folgenden Platzhalter durch Ihre eigenen Werte.

Anfrage-URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{YOUR-ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. EmailApp
{JOB-ID} Die ID zum Ermitteln des Trainingsstatus Ihres Modells. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Antworttext

Nachdem Sie die Anforderung gesendet haben, erhalten Sie die folgende Antwort. Setzen Sie den Abruf dieses Endpunkts fort, bis der Parameter status zu „succeeded“ (erfolgreich) wechselt.

{
  "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"
}
Schlüssel Wert Beispiel
modelLabel Den Modellnamen Model1
trainingConfigVersion Die Version der Trainingskonfiguration. Standardmäßig wird die neueste Version verwendet. 2022-05-01
trainingMode Ihr ausgewählter Trainingsmodus. standard
startDateTime Die Zeitschulung wurde gestartet 2022-04-14T10:23:04.2598544Z
status Der Status des Trainingsauftrags. running
estimatedEndDateTime Geschätzter Abschlusszeitpunkt des Trainingsauftrags. 2022-04-14T10:29:38.2598544Z
jobId Ihre Trainingsauftrags-ID. xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime Datum und Uhrzeit der Erstellung des Trainingsauftrags. 2022-04-14T10:22:42Z
lastUpdatedDateTime Datum und Uhrzeit der letzten Aktualisierung des Trainingsauftrags. 2022-04-14T10:23:45Z
expirationDateTime Ablaufdatum und Uhrzeit des Trainingsauftrags 2022-04-14T10:22:42Z

Bereitstellen Ihres Modells

Dies ist der Schritt, in dem Sie Ihr trainiertes Modell aus dem Verbrauch über die Laufzeitvorhersage-API zur Verfügung stellen.

Tipp

Verwenden Sie denselben Bereitstellungsnamen wie für Ihr primäres Projekt, um die Wartung zu vereinfachen und nur minimale Änderungen an Ihrem System vornehmen zu müssen, damit Ihr Datenverkehr umgeleitet wird.

Übermitteln des Bereitstellungsauftrags

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Erstellen Sie eine PUT-Anforderung mithilfe der folgenden URL, der Header und des JSON-Texts, um mit der Bereitstellung eines CLU-Modells zu beginnen.

Anfrage-URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myProject
{DEPLOYMENT-NAME} Der Name für Ihre Bereitstellung. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. staging
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Anforderungstext

{
  "trainedModelLabel": "{MODEL-NAME}",
}
Schlüssel Platzhalter Wert Beispiel
trainedModelLabel {MODEL-NAME} Der Modellname, der Ihrer Bereitstellung zugewiesen wird. Sie können nur Modelle zuweisen, für die das Training erfolgreich war. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myModel

Nachdem Sie Ihre API-Anforderung gesendet haben, erhalten Sie eine 202-Antwort, die angibt, dass sie erfolgreich war. Extrahieren Sie in den Antwortheadern den operation-location-Wert. Er weist das folgende Format auf:

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

Sie können diese URL verwenden, um den Status des Bereitstellungsauftrags abzurufen.

Abrufen des Bereitstellungsstatus

Ersetzen Sie die Platzhalter in der folgenden Anforderung durch Ihre Werte für {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}, die Sie im ersten Schritt abgerufen haben.

Wenn Sie eine erfolgreiche Bereitstellungsanforderung senden, ist die vollständige Anforderungs-URL zum Überprüfen des Auftragsstatus (einschließlich Endpunkt, Projektname und Auftrags-ID) im operation-location-Header der Antwort enthalten.

Verwenden Sie die folgende GET-Anforderung, um den Status Ihres Bereitstellungsauftrags abzurufen. Ersetzen Sie die Platzhalterwerte durch eigene Werte.

Anfrage-URL

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myProject
{DEPLOYMENT-NAME} Der Name für Ihre Bereitstellung. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. staging
{JOB-ID} Die ID zum Ermitteln des Trainingsstatus Ihres Modells. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet.

Antworttext

Nachdem Sie die Anforderung gesendet haben, erhalten Sie die folgende Antwort. Setzen Sie den Abruf dieses Endpunkts fort, bis der Parameter status zu „succeeded“ (erfolgreich) wechselt.

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

Änderungen beim Aufrufen der Laufzeit

Überprüfen Sie in Ihrem System bei dem Schritt, in dem Sie die Laufzeit-API aufrufen, den Antwortcode, der von der API für die Übermittlungsaufgabe zurückgegeben wurde. Wenn Sie bei der Übermittlung der Anforderung einen konsistenten Fehler feststellen, könnte dies auf einen Ausfall in Ihrer primären Region hinweisen. Ein einmaliger Fehler bedeutet keinen Ausfall, sondern kann ein vorübergehendes Problem sein. Wiederholen Sie die Übermittlung des Auftrags über die von Ihnen erstellte sekundäre Ressource. Verwenden Sie für die zweite Anforderung Ihren {YOUR-SECONDARY-ENDPOINT} und den sekundären Schlüssel. Wenn Sie die vorstehenden Schritte befolgt haben, sind {PROJECT-NAME} und {DEPLOYMENT-NAME} identisch, sodass keine Änderungen am Anforderungstext erforderlich sind.

Falls Sie wieder Ihre sekundäre Ressource verwenden, werden Sie aufgrund des Unterschieds in den Regionen, in denen Ihr Modell bereitgestellt wird, einen geringfügigen Anstieg der Latenz feststellen.

Überprüfen, ob Ihre Projekte nicht synchron sind

Die Beibehaltung der Aktualität von beiden Projekten ist ein wichtiger Bestandteil des Prozesses. Sie müssen häufig überprüfen, ob Aktualisierungen an Ihrem primären Projekt vorgenommen wurden, damit Sie sie in Ihr sekundäres Projekt verschieben können. Wenn Ihre primäre Region ausfällt und Sie in die sekundäre Region wechseln, sollten Sie eine ähnliche Modellleistung erwarten können, da sie bereits die neuesten Updates enthält. Das Festlegen der Häufigkeit der Überprüfung, ob Ihre Projekte synchron sind, ist eine wichtige Wahl. Wir empfehlen, diese Überprüfung täglich durchzuführen, um die Aktualität der Daten in Ihrem sekundären Modell zu gewährleisten.

Abrufen von Projektdetails

Verwenden Sie die folgende URL, um Ihre Projektdetails abzurufen. Einer der Schlüssel, die im Textkörper zurückgegeben werden, gibt das Datum der letzten Änderung am Projekt an. Wiederholen Sie den folgenden Schritt zweimal: einmal für Ihr primäres Projekt und ein zweites Mal für Ihr sekundäres Projekt. Vergleichen Sie anschließend den Zeitstempel, der für beide zurückgegeben wird, um zu überprüfen, ob sie nicht synchron sind.

Verwenden Sie die folgende GET-Anforderung, um Ihre Projektdetails abzurufen. Sie können die URL verwenden, die Sie im vorherigen Schritt erhalten haben, oder die Platzhalterwerte unten durch Ihre eigenen Werte ersetzen.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Platzhalter Wert Beispiel
{ENDPOINT} Der Endpunkt für die Authentifizierung Ihrer API-Anforderung. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Der Name für Ihr Projekt. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. myProject
{API-VERSION} Dies ist die Version der von Ihnen aufgerufenen API. 2023-04-01

Header

Verwenden Sie den folgenden Header, um Ihre Anforderung zu authentifizieren.

Schlüssel BESCHREIBUNG Wert
Ocp-Apim-Subscription-Key Der Schlüssel für Ihre Ressource. Wird für die Authentifizierung Ihrer API-Anforderungen verwendet. {YOUR-PRIMARY-RESOURCE-KEY}

Antworttext

{
  "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}"
}

Wiederholen Sie die gleichen Schritte für Ihr repliziertes Projekt mit {SECONDARY-ENDPOINT} und {SECONDARY-RESOURCE-KEY}. Vergleichen Sie die aus beiden Projekten zurückgegebene lastModifiedDateTime. Wenn Ihr primäres Projekt früher als Ihr sekundäres Projekt geändert wurde, müssen Sie die Schritte zum Exportieren, Importieren, Trainieren und Bereitstellen Ihres Modells wiederholen.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie Ihr Projekt mithilfe der Export- und Import-APIs in eine sekundäre Sprachressource in einer anderen Region replizieren können. Sehen Sie sich als Nächstes die API-Referenzdokumentation an, um sich über weitere Möglichkeiten der Verwendung von Erstellungs-APIs zu informieren.