Rychlý start: Pracovní postup Orchestrace
V tomto článku můžete začít s projekty pracovních postupů Orchestraation pomocí sady Language Studio a rozhraní REST API. Pokud si chcete vyzkoušet příklad, postupujte podle těchto kroků.
Požadavky
- Předplatné Azure – Vytvořte si ho zdarma.
- Projekt pro porozumění konverzačnímu jazyku
Přihlášení k sadě Language Studio
Přejděte do sady Language Studio a přihlaste se pomocí svého účtu Azure.
V okně Zvolit prostředek jazyka, které se zobrazí, vyhledejte své předplatné Azure a zvolte prostředek jazyka. Pokud prostředek nemáte, můžete vytvořit nový.
Podrobnosti o instanci Požadovaná hodnota Předplatné Azure Vaše předplatné Azure. Skupina zdrojů Azure Vaše skupina prostředků Azure. Název prostředku Azure Název vašeho prostředku Azure. Umístění Platné umístění pro váš prostředek Azure Například "USA – západ 2". Cenová úroveň Podporovaná cenová úroveň vašeho prostředku Azure. Službu můžete vyzkoušet pomocí úrovně Free (F0).
Vytvoření projektu pracovního postupu orchestrace
Po vytvoření zdroje jazyka vytvořte projekt pracovního postupu orchestrace. Projekt je pracovní oblast pro vytváření vlastních modelů ML na základě vašich dat. K vašemu projektu má přístup jenom vy a ostatní, kteří mají přístup k používanému prostředku jazyka.
Pro účely tohoto rychlého startu dokončete rychlý start pro porozumění konverzačnímu jazyku a vytvořte projekt pro porozumění konverzačnímu jazyku, který se použije později.
V sadě Language Studio vyhledejte část s popiskem Vysvětlení otázek a konverzačního jazyka a vyberte Pracovní postup orchestrace.
Tím přejdete na stránku projektu pracovního postupu Orchestraation. Vyberte Vytvořit nový projekt. Pokud chcete vytvořit projekt, budete muset zadat následující podrobnosti:
Hodnota | Popis |
---|---|
Name | Název projektu |
Popis | Volitelný popis projektu. |
Primární jazyk promluv | Primární jazyk projektu. Vaše trénovací data by měla být primárně v tomto jazyce. |
Až budete hotovi, vyberte Další a zkontrolujte podrobnosti. Výběrem možnosti Vytvořit projekt dokončete proces. Teď byste měli vidět obrazovku Schémata sestavení v projektu.
Sestavení schématu
Po dokončení rychlého startu pro porozumění konverzačnímu jazyku a vytvoření projektu orchestrace je dalším krokem přidání záměrů.
Připojení k dříve vytvořenému projektu pro porozumění konverzačnímu jazyku:
- Na stránce schématu sestavení v projektu orchestrace vyberte Přidat a přidejte záměr.
- V zobrazeném okně zadejte název záměru.
- Vyberte Ano, chci ho připojit k existujícímu projektu.
- V rozevíracím seznamu připojených služeb vyberte Konverzační language Understanding.
- V rozevíracím seznamu s názvem projektu vyberte projekt pro porozumění konverzačnímu jazyku.
- Vyberte Přidat záměr a vytvořte svůj záměr.
Trénování vašeho modelu
Pokud chcete vytrénovat model, musíte zahájit trénovací úlohu. Výstupem úspěšné trénovací úlohy je trénovaný model.
Zahájení trénování modelu v sadě Language Studio:
V nabídce na levé straně vyberte Úlohy trénování .
V horní nabídce vyberte Spustit trénovací úlohu .
Vyberte Vytrénovat nový model a do textového pole zadejte název modelu. Existující model můžete také přepsat tak, že vyberete tuto možnost a zvolíte model, který chcete přepsat z rozevírací nabídky. Přepsání natrénovaného modelu je nevratné, ale nebude mít vliv na nasazené modely, dokud nový model nenasadíte.
Pokud jste projektu povolili ruční rozdělení dat při označování promluv, zobrazí se dvě možnosti rozdělení dat:
- Automatické rozdělení testovací sady z trénovacích dat: Označené promluvy se náhodně rozdělí mezi trénovací a testovací sady podle vybraných procent. Výchozí procentuální rozdělení je 80 % pro trénování a 20 % pro testování. Pokud chcete tyto hodnoty změnit, zvolte, kterou sadu chcete změnit, a zadejte novou hodnotu.
Poznámka:
Pokud zvolíte možnost Automatické rozdělení testovací sady z trénovacích dat , rozdělí se jenom promluvy ve vaší trénovací sadě podle zadaných procent.
- Použijte ruční rozdělení trénovacích a testovacích dat: Přiřaďte jednotlivé promluvy buď trénovací, nebo testovací sadě během kroku označování projektu.
Poznámka:
Použití ručního rozdělení trénovacích a testovacích dat bude povoleno pouze v případě, že přidáte promluvy do testovací sady na stránce s daty značek. Jinak se zakáže.
Vyberte tlačítko Trénovat.
Poznámka:
- Pouze úspěšně dokončené trénovací úlohy vygenerují modely.
- Trénování může nějakou dobu trvat několik minut až několik hodin na základě velikosti označených dat.
- Najednou můžete mít spuštěnou pouze jednu úlohu trénování. Další trénovací úlohu nelze spustit tak dlouho, dokud se nespustí spuštěná úloha.
Nasazení modelu
Obecně platí, že po trénování modelu byste zkontrolovali jeho podrobnosti o vyhodnocení. V tomto rychlém startu jednoduše nasadíte model a zpřístupníte ho pro vyzkoušení v sadě Language Studio nebo můžete volat rozhraní API pro predikce.
Nasazení modelu v sadě Language Studio:
V nabídce na levé straně vyberte Nasazení modelu .
Vyberte Přidat nasazení a spusťte novou úlohu nasazení.
Výběrem možnosti Vytvořit nové nasazení vytvořte nové nasazení a v rozevíracím seznamu níže přiřaďte natrénovaný model. Existující nasazení můžete také přepsat tak, že vyberete tuto možnost a v rozevíracím seznamu níže vyberete natrénovaný model, který k němu chcete přiřadit.
Poznámka:
Přepsání existujícího nasazení nevyžaduje změny volání rozhraní API pro predikce, ale výsledky, které získáte, budou založené na nově přiřazeného modelu.
Pokud připojujete jednu nebo více aplikací LUIS nebo projektů pro porozumění konverzačním jazykům, musíte zadat název nasazení.
Pro vlastní odpovědi na otázky nebo nepřipojené záměry se nevyžadují žádné konfigurace.
Projekty LUIS musí být publikovány do slotu nakonfigurovaného během nasazování orchestrace a vlastní databáze pro odpovědi na otázky musí být také publikovány v produkčních slotech.
Výběrem možnosti Nasadit odešlete úlohu nasazení.
Po úspěšném nasazení se vedle něj zobrazí datum vypršení platnosti. Vypršení platnosti nasazení je v případě, že nasazený model nebude dostupný pro predikci, což obvykle nastane dvanáct měsíců po vypršení platnosti konfigurace trénování.
Testovací model
Po nasazení modelu ho můžete začít používat k předpovědím prostřednictvím rozhraní API pro predikce. V tomto rychlém startu použijete Language Studio k odeslání promluvy, získání předpovědí a vizualizaci výsledků.
Testování modelu ze sady Language Studio
V nabídce na levé straně vyberte Testovací nasazení .
Vyberte model, který chcete testovat. Můžete testovat jenom modely, které jsou přiřazené k nasazením.
V rozevíracím seznamu s názvem nasazení vyberte název nasazení.
Do textového pole zadejte promluvu, která se má otestovat.
V horní nabídce vyberte Spustit test.
Po spuštění testu by se ve výsledku měla zobrazit odpověď modelu. Výsledky můžete zobrazit v zobrazení karet entit nebo je zobrazit ve formátu JSON.
Vyčištění prostředků
Pokud už projekt nepotřebujete, můžete projekt odstranit pomocí sady Language Studio. V levé navigační nabídce vyberte Projekty , vyberte projekt, který chcete odstranit, a pak v horní nabídce vyberte Odstranit .
Požadavky
- Předplatné Azure – Vytvořte si ho zdarma.
Vytvoření prostředku jazyka z webu Azure Portal
Vytvoření nového prostředku z webu Azure Portal
Přejděte na web Azure Portal a vytvořte nový prostředek jazyka Azure AI.
Vyberte Pokračovat a vytvořte prostředek.
Vytvořte prostředek jazyka s následujícími podrobnostmi.
Podrobnosti o instanci Požadovaná hodnota Oblast Jedna z podporovaných oblastí Název Název vašeho prostředku jazyka Cenová úroveň Jedna z podporovaných cenových úrovní
Získání klíčů prostředků a koncového bodu
Na webu Azure Portal přejděte na stránku přehledu prostředků.
V nabídce na levé straně vyberte Klíče a koncový bod. Pro požadavky rozhraní API použijete koncový bod a klíč.
Vytvoření projektu pracovního postupu orchestrace
Po vytvoření zdroje jazyka vytvořte projekt pracovního postupu orchestrace. Projekt je pracovní oblast pro vytváření vlastních modelů ML na základě vašich dat. K vašemu projektu má přístup jenom vy a ostatní, kteří mají přístup k používanému prostředku jazyka.
Pro účely tohoto rychlého startu dokončete rychlý start CLU a vytvořte projekt CLU, který se použije v pracovním postupu orchestrace.
Odešlete požadavek PATCH pomocí následující adresy URL, hlaviček a textu JSON k vytvoření nového projektu.
Adresa URL požadavku
Při vytváření požadavku rozhraní API použijte následující adresu URL. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text
Jako tělo použijte následující ukázkový JSON.
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "Orchestration",
"description": "Project description"
}
Klíč | Zástupný symbol | Hodnota | Příklad |
---|---|---|---|
projectName |
{PROJECT-NAME} |
Název projektu. U této hodnoty se rozlišují malá a velká písmena. | EmailApp |
language |
{LANGUAGE-CODE} |
Řetězec určující kód jazyka pro promluvy použité v projektu. Pokud je projekt vícejazyčný, zvolte kód jazyka většiny promluv. | en-us |
Sestavení schématu
Po dokončení rychlého startu clu a vytvoření projektu orchestrace je dalším krokem přidání záměrů.
Odešlete požadavek POST pomocí následující adresy URL, hlaviček a textu JSON pro import projektu.
Adresa URL požadavku
Při vytváření požadavku rozhraní API použijte následující adresu URL. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:import?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text
Poznámka:
Každý záměr by měl být pouze z jednoho typu (CLU, LUIS a qna).
Jako tělo použijte následující ukázkový JSON.
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectKind": "Orchestration",
"settings": {
"confidenceThreshold": 0
},
"projectName": "{PROJECT-NAME}",
"description": "Project description",
"language": "{LANGUAGE-CODE}"
},
"assets": {
"projectKind": "Orchestration",
"intents": [
{
"category": "string",
"orchestration": {
"kind": "luis",
"luisOrchestration": {
"appId": "00000000-0000-0000-0000-000000000000",
"appVersion": "string",
"slotName": "string"
},
"cluOrchestration": {
"projectName": "string",
"deploymentName": "string"
},
"qnaOrchestration": {
"projectName": "string"
}
}
}
],
"utterances": [
{
"text": "Trying orchestration",
"language": "{LANGUAGE-CODE}",
"intent": "string"
}
]
}
}
Klíč | Zástupný symbol | Hodnota | Příklad |
---|---|---|---|
api-version |
{API-VERSION} |
Verze rozhraní API, které voláte. Zde použitá verze musí být stejná verze rozhraní API v adrese URL. | 2022-03-01-preview |
projectName |
{PROJECT-NAME} |
Název projektu. U této hodnoty se rozlišují malá a velká písmena. | EmailApp |
language |
{LANGUAGE-CODE} |
Řetězec určující kód jazyka pro promluvy použité v projektu. Pokud je projekt vícejazyčný, zvolte kód jazyka většiny promluv. | en-us |
Trénování vašeho modelu
Pokud chcete vytrénovat model, musíte zahájit trénovací úlohu. Výstupem úspěšné trénovací úlohy je trénovaný model.
K odeslání trénovací úlohy vytvořte požadavek POST pomocí následující adresy URL, hlaviček a textu JSON.
Adresa URL požadavku
Při vytváření požadavku rozhraní API použijte následující adresu URL. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text požadavku
V požadavku použijte následující objekt. Model bude pojmenován MyModel
po dokončení trénování.
{
"modelLabel": "{MODEL-NAME}",
"trainingMode": "standard",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"testingSplitPercentage": 20,
"trainingSplitPercentage": 80
}
}
Klíč | Zástupný symbol | Hodnota | Příklad |
---|---|---|---|
modelLabel |
{MODEL-NAME} |
Název vašeho modelu. | Model1 |
trainingMode |
standard |
Trénovací režim. V orchestraci je k dispozici pouze jeden režim pro trénování, což je standard . |
standard |
trainingConfigVersion |
{CONFIG-VERSION} |
Verze trénovacího konfiguračního modelu. Ve výchozím nastavení se používá nejnovější verze modelu. | 2022-05-01 |
kind |
percentage |
Rozdělte metody. Možné hodnoty jsou percentage nebo manual . Další informace najdete v tématu trénování modelu . |
percentage |
trainingSplitPercentage |
80 |
Procento označených dat, která se mají zahrnout do trénovací sady Doporučená hodnota je 80 . |
80 |
testingSplitPercentage |
20 |
Procento označených dat, která se mají zahrnout do testovací sady Doporučená hodnota je 20 . |
20 |
Poznámka:
testingSplitPercentage
A trainingSplitPercentage
jsou vyžadovány pouze v případě, že Kind
je nastavena percentage
hodnota a součet obou procent by měl být roven 100.
Po odeslání požadavku rozhraní API obdržíte 202
odpověď, která značí úspěch. V hlavičce odpovědi extrahujte operation-location
hodnotu. Bude formátován takto:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Tuto adresu URL můžete použít k získání stavu trénovací úlohy.
Get Training Status
Trénování může trvat 10 až 30 minut. Pomocí následujícího požadavku můžete pokračovat v dotazování stavu úlohy trénování, dokud se úspěšně nedokončil.
Stav průběhu trénování modelu získáte pomocí následujícího požadavku GET . Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.
Adresa URL požadavku
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text odpovědi
Po odeslání požadavku se zobrazí následující odpověď. Pokračujte v dotazování na tento koncový bod, dokud se parametr stavu nezmění na "úspěch".
{
"result": {
"modelLabel": "{MODEL-LABEL}",
"trainingConfigVersion": "{TRAINING-CONFIG-VERSION}",
"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": "xxxxxx-xxxxx-xxxxxx-xxxxxx",
"createdDateTime": "2022-04-18T15:44:44Z",
"lastUpdatedDateTime": "2022-04-18T15:45:48Z",
"expirationDateTime": "2022-04-25T15:44:44Z",
"status": "running"
}
Key | Hodnota | Příklad |
---|---|---|
modelLabel |
Název modelu | Model1 |
trainingConfigVersion |
Verze konfigurace trénování. Ve výchozím nastavení se používá nejnovější verze . | 2022-05-01 |
startDateTime |
Čas zahájení trénování | 2022-04-14T10:23:04.2598544Z |
status |
Stav úlohy trénování | running |
estimatedEndDateTime |
Odhadovaný čas dokončení trénovací úlohy | 2022-04-14T10:29:38.2598544Z |
jobId |
ID trénovací úlohy | xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx |
createdDateTime |
Datum a čas vytvoření trénovací úlohy | 2022-04-14T10:22:42Z |
lastUpdatedDateTime |
Datum a čas poslední aktualizace trénovací úlohy | 2022-04-14T10:23:45Z |
expirationDateTime |
Datum a čas vypršení platnosti trénovací úlohy | 2022-04-14T10:22:42Z |
Nasazení modelu
Obecně platí, že po trénování modelu byste zkontrolovali jeho podrobnosti o vyhodnocení. V tomto rychlém startu jednoduše nasadíte model a zavoláte rozhraní API pro predikce pro dotazování výsledků.
Odeslání úlohy nasazení
Vytvořte požadavek PUT pomocí následující adresy URL, hlaviček a textu JSON a začněte nasazovat model pracovního postupu orchestrace.
Adresa URL požadavku
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text požadavku
{
"trainedModelLabel": "{MODEL-NAME}",
}
Klíč | Zástupný symbol | Hodnota | Příklad |
---|---|---|---|
trainedModelLabel | {MODEL-NAME} |
Název modelu, který se přiřadí k vašemu nasazení. Úspěšně natrénované modely můžete přiřadit pouze. U této hodnoty se rozlišují malá a velká písmena. | myModel |
Po odeslání požadavku rozhraní API obdržíte 202
odpověď, která značí úspěch. V hlavičce odpovědi extrahujte operation-location
hodnotu. Bude formátován takto:
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Tuto adresu URL můžete použít k získání stavu úlohy nasazení.
Získání stavu úlohy nasazení
Stav úlohy nasazení získáte pomocí následujícího požadavku GET . Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.
Adresa URL požadavku
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text odpovědi
Po odeslání požadavku se zobrazí následující odpověď. Pokračujte v dotazování na tento koncový bod, dokud se parametr stavu nezmění na "úspěch".
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Dotazování modelu
Po nasazení modelu ho můžete začít používat k předpovědím prostřednictvím rozhraní API pro predikce.
Po úspěšném nasazení můžete začít dotazovat nasazený model na předpovědi.
Vytvořte požadavek POST pomocí následující adresy URL, hlaviček a textu JSON a začněte testovat model pracovního postupu orchestrace.
Adresa URL požadavku
{ENDPOINT}/language/:analyze-conversations?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Text požadavku
{
"kind": "Conversation",
"analysisInput": {
"conversationItem": {
"text": "Text1",
"participantId": "1",
"id": "1"
}
},
"parameters": {
"projectName": "{PROJECT-NAME}",
"deploymentName": "{DEPLOYMENT-NAME}",
"directTarget": "qnaProject",
"targetProjectParameters": {
"qnaProject": {
"targetProjectKind": "QuestionAnswering",
"callingOptions": {
"context": {
"previousUserQuery": "Meet Surface Pro 4",
"previousQnaId": 4
},
"top": 1,
"question": "App Service overview"
}
}
}
}
}
Text odpovědi
Po odeslání požadavku získáte následující odpověď na predikci.
{
"kind": "ConversationResult",
"result": {
"query": "App Service overview",
"prediction": {
"projectKind": "Orchestration",
"topIntent": "qnaTargetApp",
"intents": {
"qnaTargetApp": {
"targetProjectKind": "QuestionAnswering",
"confidenceScore": 1,
"result": {
"answers": [
{
"questions": [
"App Service overview"
],
"answer": "The compute resources you use are determined by the *App Service plan* that you run your apps on.",
"confidenceScore": 0.7384000000000001,
"id": 1,
"source": "https://video2.skills-academy.com/azure/app-service/overview",
"metadata": {},
"dialog": {
"isContextOnly": false,
"prompts": []
}
}
]
}
}
}
}
}
}
Vyčištění prostředků
Pokud už projekt nepotřebujete, můžete projekt odstranit pomocí rozhraní API.
Vytvořte požadavek DELETE pomocí následující adresy URL, hlaviček a textu JSON k odstranění projektu pro porozumění konverzačnímu jazyku.
Adresa URL požadavku
{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}?api-version={API-VERSION}
Hlavičky
K ověření požadavku použijte následující hlavičku.
Key | Hodnota |
---|---|
Ocp-Apim-Subscription-Key |
Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API. |
Po odeslání požadavku rozhraní API obdržíte 202
odpověď s informací o úspěchu, což znamená, že projekt byl odstraněn.