Tworzenie kopii zapasowych i odzyskiwanie modeli interpretacji języka konwersacyjnego
Podczas tworzenia zasobu language w witrynie Azure Portal należy określić region, w którym ma zostać utworzony. Od tego czasu zasób i wszystkie powiązane z nim operacje odbywają się w określonym regionie serwera platformy Azure. Problem z siecią, który dotyczy całego regionu, zdarza się rzadko, ale nie jest niemożliwy. Jeśli rozwiązanie musi być zawsze dostępne, należy zaprojektować je w trybie failover w innym regionie. Wymaga to dwóch zasobów języka sztucznej inteligencji platformy Azure w różnych regionach i możliwość synchronizowania modeli CLU między regionami.
Jeśli twoja aplikacja lub firma zależy od użycia modelu CLU, zalecamy utworzenie repliki projektu w innym obsługiwanym regionie. Dzięki temu, jeśli wystąpi awaria regionalna, możesz uzyskać dostęp do modelu w innym regionie pracy awaryjnej, w którym został zreplikowany projekt.
Replikowanie projektu oznacza wyeksportowanie metadanych i zasobów projektu i zaimportowanie ich do nowego projektu. Spowoduje to jedynie skopiowanie ustawień projektu, intencji, jednostek i wypowiedzi. Nadal musisz wytrenować i wdrożyć modele, które będą dostępne do użycia z interfejsami API środowiska uruchomieniowego.
W tym artykule dowiesz się, jak używać interfejsów API eksportu i importowania do replikowania projektu z jednego zasobu do innego istniejącego w różnych obsługiwanych regionach geograficznych, wskazówek dotyczących synchronizacji projektów i zmian wymaganych do użycia środowiska uruchomieniowego.
Wymagania wstępne
- Dwa zasoby języka sztucznej inteligencji platformy Azure w różnych regionach świadczenia usługi Azure, z których każda jest w innym regionie.
Uzyskiwanie punktu końcowego kluczy zasobów
Wykonaj poniższe kroki, aby uzyskać klucze i punkt końcowy zasobów podstawowych i pomocniczych. Zostaną one użyte w poniższych krokach.
Przejdź do strony przeglądu zasobu w witrynie Azure Portal. Z menu po lewej stronie wybierz pozycję Klucze i punkt końcowy. Użyjesz punktu końcowego i klucza dla żądań interfejsu API
Napiwek
Zanotuj klucze i punkty końcowe dla zasobów podstawowych i pomocniczych. Użyj tych wartości, aby zastąpić następujące symbole zastępcze: {PRIMARY-ENDPOINT}
, {SECONDARY-ENDPOINT}
{PRIMARY-RESOURCE-KEY}
i {SECONDARY-RESOURCE-KEY}
.
Zanotuj również nazwę projektu, nazwę modelu i nazwę wdrożenia. Użyj tych wartości, aby zastąpić następujące symbole zastępcze: {PROJECT-NAME}
, {MODEL-NAME}
i {DEPLOYMENT-NAME}
.
Eksportowanie zasobów projektu podstawowego
Rozpocznij od wyeksportowania zasobów projektu z projektu w zasobie podstawowym.
Przesyłanie zadania eksportu
Zastąp symbole zastępcze w poniższym żądaniu swoim {PRIMARY-ENDPOINT}
i {PRIMARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Utwórz żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON w celu wyeksportowania projektu.
Adres URL żądania
Podczas tworzenia żądania interfejsu API użyj następującego adresu URL. Zastąp poniższe wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:export?stringIndexType=Utf16CodeUnit&api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202
powodzenie. W nagłówkach odpowiedzi wyodrębnij operation-location
wartość. Zostanie on sformatowany w następujący sposób:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
JOB-ID
służy do identyfikowania żądania, ponieważ ta operacja jest asynchroniczna. Użyj tego adresu URL, aby pobrać wyeksportowany kod JSON projektu przy użyciu tej samej metody uwierzytelniania.
Uzyskiwanie stanu zadania eksportu
Zastąp symbole zastępcze w poniższym żądaniu swoim {PRIMARY-ENDPOINT}
i {PRIMARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Użyj następującego żądania GET , aby wykonać zapytanie dotyczące stanu zadania eksportu. Możesz użyć adresu URL otrzymanego z poprzedniego kroku lub zastąpić poniższe wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/export/jobs/{JOB-ID}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Opis | Wartość |
---|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. | {YOUR-PRIMARY-RESOURCE-KEY} |
Treść odpowiedzi
{
"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"
}
Użyj adresu URL z resultUrl
klucza w treści, aby wyświetlić wyeksportowane zasoby z tego zadania.
Pobieranie wyników eksportu
Prześlij żądanie GET przy użyciu {RESULT-URL}
otrzymanego z poprzedniego kroku, aby wyświetlić wyniki zadania eksportu.
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Opis | Wartość |
---|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. | {PRIMARY-RESOURCE-KEY} |
Skopiuj treść odpowiedzi, ponieważ będzie ona używana jako treść na potrzeby następnego zadania importu.
Importowanie do nowego projektu
Teraz zaimportuj wyeksportowane zasoby projektu w nowym projekcie w regionie pomocniczym, aby można je było replikować.
Przesyłanie zadania importu
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Prześlij żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON, aby zaimportować projekt.
Adres URL żądania
Podczas tworzenia żądania interfejsu API użyj następującego adresu URL. Zastąp wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść
Treść wysyłanego kodu JSON jest podobna do poniższego przykładu. Aby uzyskać więcej informacji na temat obiektu JSON, zobacz dokumentację referencyjną.
{
"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": []
}
]
}
}
Klucz | Symbol zastępczy | Wartość | Przykład |
---|---|---|---|
{API-VERSION} |
Wersja wywoływanego interfejsu API. | 2023-04-01 |
|
projectName |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość jest uwzględniana w wielkości liter. | EmailAppDemo |
language |
{LANGUAGE-CODE} |
Ciąg określający kod języka wypowiedzi używanych w projekcie. Jeśli projekt jest projektem wielojęzycznym, wybierz kod języka większości wypowiedzi. | en-us |
multilingual |
true |
Wartość logiczna, która umożliwia posiadanie dokumentów w wielu językach w zestawie danych. Po wdrożeniu modelu można wykonywać zapytania dotyczące modelu w dowolnym obsługiwanym języku , w tym w językach, które nie są uwzględnione w dokumentach szkoleniowych. | true |
dataset |
{DATASET} |
Zobacz , jak wytrenować model , aby uzyskać informacje na temat dzielenia danych między zestaw testowy i treningowy. Możliwe wartości dla tego pola to Train i Test . |
Train |
Po pomyślnym żądaniu odpowiedź interfejsu API będzie zawierać operation-location
nagłówek z adresem URL, którego można użyć do sprawdzenia stanu zadania importu. Jest on sformatowany w następujący sposób:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Pobieranie stanu zadania importu
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Po wysłaniu pomyślnego żądania importu projektu pełny adres URL żądania sprawdzania stanu zadania importu (w tym punktu końcowego, nazwy projektu i identyfikatora zadania) jest zawarty w nagłówku operation-location
odpowiedzi.
Użyj następującego żądania GET , aby wykonać zapytanie dotyczące stanu zadania importu. Możesz użyć adresu URL otrzymanego z poprzedniego kroku lub zastąpić wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Opis | Wartość |
---|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. | {YOUR-PRIMARY-RESOURCE-KEY} |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź. Nie sonduj tego punktu końcowego, dopóki parametr stanu nie zmieni się na "powodzenie".
{
"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"
}
Szkolenie modelu
Po zaimportowaniu projektu skopiowano tylko zasoby i metadane i zasoby projektu. Nadal musisz wytrenować model, co spowoduje naliczenie użycia na twoim koncie.
Przesyłanie zadania szkoleniowego
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Utwórz żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON w celu przesłania zadania szkoleniowego.
Adres URL żądania
Podczas tworzenia żądania interfejsu API użyj następującego adresu URL. Zastąp wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść żądania
Użyj następującego obiektu w żądaniu. Model zostanie nazwany po wartości używanej dla parametru po zakończeniu modelLabel
trenowania.
{
"modelLabel": "{MODEL-NAME}",
"trainingMode": "{TRAINING-MODE}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"testingSplitPercentage": 20,
"trainingSplitPercentage": 80
}
}
Klucz | Symbol zastępczy | Wartość | Przykład |
---|---|---|---|
modelLabel |
{MODEL-NAME} |
Nazwa modelu. | Model1 |
trainingConfigVersion |
{CONFIG-VERSION} |
Wersja modelu konfiguracji trenowania. Domyślnie jest używana najnowsza wersja modelu. | 2022-05-01 |
trainingMode |
{TRAINING-MODE} |
Tryb trenowania, który ma być używany do trenowania. Obsługiwane tryby to standardowe szkolenie, szybsze trenowanie, ale dostępne tylko w przypadku szkoleń angielskich i zaawansowanych obsługiwanych w innych językach i projektach wielojęzycznych, ale obejmuje dłuższy czas szkolenia. Dowiedz się więcej o trybach trenowania. | standard |
kind |
percentage |
Metody podzielone. Możliwe wartości to percentage lub manual . Aby uzyskać więcej informacji, zobacz , jak wytrenować model . |
percentage |
trainingSplitPercentage |
80 |
Procent oznakowanych danych, które mają zostać uwzględnione w zestawie treningowym. Zalecana wartość to 80 . |
80 |
testingSplitPercentage |
20 |
Procent oznakowanych danych, które mają zostać uwzględnione w zestawie testów. Zalecana wartość to 20 . |
20 |
Uwaga
Wartości trainingSplitPercentage
i testingSplitPercentage
są wymagane tylko wtedy, gdy Kind
jest ustawiona wartość percentage
, a suma obu wartości procentowych powinna być równa 100.
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202
powodzenie. W nagłówkach odpowiedzi wyodrębnij operation-location
wartość. Zostanie on sformatowany w następujący sposób:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Możesz użyć tego adresu URL, aby uzyskać stan zadania szkoleniowego.
Pobieranie stanu szkolenia
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Po wysłaniu pomyślnego żądania szkoleniowego pełny adres URL żądania sprawdzania stanu zadania (w tym punktu końcowego, nazwy projektu i identyfikatora zadania) jest zawarty w nagłówku operation-location
odpowiedzi.
Użyj następującego żądania GET , aby uzyskać stan postępu trenowania modelu. Zastąp poniższe wartości symboli zastępczych własnymi wartościami.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź. Nie sonduj tego punktu końcowego , dopóki parametr stanu nie zmieni się na "powodzenie".
{
"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 | Wartość | Przykład |
---|---|---|
modelLabel |
Nazwa modelu | Model1 |
trainingConfigVersion |
Wersja konfiguracji trenowania. Domyślnie jest używana najnowsza wersja . | 2022-05-01 |
trainingMode |
Wybrany tryb trenowania. | standard |
startDateTime |
Czas rozpoczęcia szkolenia | 2022-04-14T10:23:04.2598544Z |
status |
Stan zadania szkoleniowego | running |
estimatedEndDateTime |
Szacowany czas zakończenia zadania szkoleniowego | 2022-04-14T10:29:38.2598544Z |
jobId |
Identyfikator zadania szkoleniowego | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx |
createdDateTime |
Data i godzina utworzenia zadania trenowania | 2022-04-14T10:22:42Z |
lastUpdatedDateTime |
Data i godzina ostatniego zaktualizowania zadania szkoleniowego | 2022-04-14T10:23:45Z |
expirationDateTime |
Data i godzina wygaśnięcia zadania trenowania | 2022-04-14T10:22:42Z |
Wdrażanie modelu
Jest to krok umożliwiający udostępnienie wytrenowanego modelu użycia formularzy za pośrednictwem interfejsu API przewidywania środowiska uruchomieniowego.
Napiwek
Użyj tej samej nazwy wdrożenia co projekt podstawowy, aby ułatwić konserwację i minimalne zmiany w systemie w celu obsługi przekierowania ruchu.
Przesyłanie zadania wdrożenia
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Utwórz żądanie PUT przy użyciu następującego adresu URL, nagłówków i treści JSON, aby rozpocząć wdrażanie modelu interpretacji języka konwersacji.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść żądania
{
"trainedModelLabel": "{MODEL-NAME}",
}
Klucz | Symbol zastępczy | Wartość | Przykład |
---|---|---|---|
trainedModelLabel | {MODEL-NAME} |
Nazwa modelu, która zostanie przypisana do wdrożenia. Można przypisywać tylko pomyślnie wytrenowane modele. Ta wartość jest uwzględniana w wielkości liter. | myModel |
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202
powodzenie. W nagłówkach odpowiedzi wyodrębnij operation-location
wartość. Zostanie on sformatowany w następujący sposób:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Możesz użyć tego adresu URL, aby uzyskać stan zadania wdrożenia.
Pobieranie stanu wdrożenia
Zastąp symbole zastępcze w poniższym żądaniu swoim {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
uzyskanym w pierwszym kroku.
Po wysłaniu pomyślnego żądania wdrożenia pełny adres URL żądania sprawdzania stanu zadania (w tym punktu końcowego, nazwy projektu i identyfikatora zadania) jest zawarty w nagłówku operation-location
odpowiedzi.
Użyj następującego żądania GET , aby uzyskać stan zadania wdrożenia. Zastąp wartości symboli zastępczych własnymi wartościami.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Wartość |
---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź. Nie sonduj tego punktu końcowego , dopóki parametr stanu nie zmieni się na "powodzenie".
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Zmiany w wywoływaniu środowiska uruchomieniowego
W systemie w kroku, w którym wywołujesz interfejs API środowiska uruchomieniowego, sprawdź kod odpowiedzi zwrócony z interfejsu API zadania przesyłania. Jeśli zauważysz spójny błąd podczas przesyłania żądania, może to oznaczać awarię w regionie podstawowym. Awaria nie oznacza awarii, może to być przejściowy problem. Ponów próbę przesłania zadania za pomocą utworzonego zasobu pomocniczego. W przypadku drugiego żądania użyj klucza {YOUR-SECONDARY-ENDPOINT}
pomocniczego i , jeśli wykonano powyższe kroki i {DEPLOYMENT-NAME}
będzie to samo, {PROJECT-NAME}
więc żadne zmiany nie są wymagane do treści żądania.
Jeśli powrócisz do korzystania z zasobu pomocniczego, zauważysz niewielki wzrost opóźnienia ze względu na różnicę w regionach, w których wdrożono model.
Sprawdzanie, czy projekty nie są zsynchronizowane
Utrzymanie świeżości obu projektów jest ważną częścią procesu. Należy często sprawdzać, czy jakiekolwiek aktualizacje zostały wprowadzone do projektu podstawowego, aby przenieść je do projektu pomocniczego. W ten sposób, jeśli region podstawowy ulegnie awarii i przejdziesz do regionu pomocniczego, należy oczekiwać podobnej wydajności modelu, ponieważ zawiera on już najnowsze aktualizacje. Ustawienie częstotliwości sprawdzania, czy projekty są zsynchronizowane, jest ważnym wyborem, zalecamy wykonanie tej kontroli codziennie, aby zagwarantować świeżość danych w modelu pomocniczym.
Pobieranie szczegółów projektu
Użyj następującego adresu URL, aby uzyskać szczegóły projektu. Jeden z kluczy zwróconych w treści wskazuje ostatnią datę modyfikacji projektu. Powtórz poniższy krok dwa razy, jeden dla projektu podstawowego, a drugi dla projektu pomocniczego i porównaj znacznik czasu zwrócony dla obu z nich, aby sprawdzić, czy nie są one zsynchronizowane.
Użyj następującego żądania GET , aby uzyskać szczegóły projektu. Możesz użyć adresu URL otrzymanego z poprzedniego kroku lub zastąpić poniższe wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
Key | Opis | Wartość |
---|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. | {YOUR-PRIMARY-RESOURCE-KEY} |
Treść odpowiedzi
{
"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}"
}
Powtórz te same kroki dla replikowanego projektu przy użyciu metod {SECONDARY-ENDPOINT}
i {SECONDARY-RESOURCE-KEY}
. Porównaj zwrócone lastModifiedDateTime
dane z obu projektów. Jeśli projekt podstawowy został zmodyfikowany wcześniej niż pomocniczy, należy powtórzyć kroki eksportowania, importowania, trenowania i wdrażania modelu.
Następne kroki
W tym artykule przedstawiono sposób używania interfejsów API eksportu i importowania do replikowania projektu do zasobu języka pomocniczego w innym regionie. Następnie zapoznaj się z dokumentacją referencyjną interfejsu API, aby zobaczyć, co jeszcze można zrobić za pomocą interfejsów API tworzenia.