Kurz: Ladění sady dovedností s pomocí ladicích relací

Sada dovedností koordinuje akce dovedností, které analyzují, transformují nebo vytvářejí prohledávatelný obsah. Výstup jedné dovednosti se často stává vstupem jiného. Pokud vstupy závisejí na výstupech, můžou chyby v definicích sady dovedností a přidružení polí vést ke zmeškaným operacím a datům.

Ladicí relace je nástroj webu Azure Portal, který poskytuje ucelenou vizualizaci sady dovedností. Pomocí tohoto nástroje můžete přejít k podrobnostem o konkrétních krocích, abyste snadno zjistili, kde může dojít k poklesu akce.

V tomto článku pomocí ladicí relace vyhledejte a opravte chybějící vstupy a výstupy. Kurz je all-inclusive. Poskytuje ukázková data, soubor REST, který vytváří objekty, a pokyny pro ladění problémů v sadě dovedností.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

Poznámka:

Tento kurz také používá služby Azure AI pro rozpoznávání jazyka, rozpoznávání entit a extrakci klíčových frází. Vzhledem k tomu, že úloha je tak malá, služby Azure AI se na pozadí klepnou na bezplatné zpracování až na 20 transakcí. To znamená, že toto cvičení můžete dokončit bez nutnosti vytvářet fakturovatelné prostředky služeb Azure AI.

Nastavení ukázkových dat

Tato část vytvoří ukázkovou sadu dat ve službě Azure Blob Storage, aby indexer a sada dovedností měly obsah pro práci.

  1. Stáhněte si ukázková data (clinical-trials-pdf-19) skládající se z 19 souborů.

  2. Vytvořte účet úložiště Azure nebo vyhledejte existující účet.

    • Pokud se chcete vyhnout poplatkům za šířku pásma, zvolte stejnou oblast jako Azure AI Search.

    • Zvolte typ účtu StorageV2 (pro obecné účely verze 2).

  3. Na portálu přejděte na stránky služeb Azure Storage a vytvořte kontejner objektů blob. Osvědčeným postupem je zadat úroveň přístupu "privátní". Pojmenujte kontejner clinicaltrialdataset.

  4. V kontejneru vyberte Nahrát a nahrajte ukázkové soubory, které jste stáhli a rozbalíte v prvním kroku.

  5. Na portálu zkopírujte připojovací řetězec pro Azure Storage. Připojovací řetězec můžete získat z klíčů Nastavení> Access na portálu.

Zkopírování klíče a adresy URL

Volání REST vyžadují koncový bod vyhledávací služby a klíč rozhraní API pro každý požadavek. Tyto hodnoty můžete získat z webu Azure Portal.

  1. Přihlaste se k webu Azure Portal, přejděte na stránku Přehled a zkopírujte adresu URL. Příkladem koncového bodu může být https://mydemo.search.windows.net.

  2. V části Nastavení> Klíče zkopírujte klíč správce. Správa klíče slouží k přidávání, úpravám a odstraňování objektů. Existují dva zaměnitelné klíče správce. Zkopírujte jeden z nich.

    Snímek obrazovky s adresou URL a klíči rozhraní API na webu Azure Portal

Platný klíč rozhraní API vytváří na základě požadavku vztah důvěryhodnosti mezi aplikací, která požadavek odesílá, a vyhledávací službou, která ji zpracovává.

Vytvoření zdroje dat, sady dovedností, indexu a indexeru

V této části vytvořte pracovní postup "buggy", který můžete opravit v tomto kurzu.

  1. Spusťte Visual Studio Code a otevřete debug-sessions.rest soubor.

  2. Zadejte následující proměnné: adresu URL vyhledávací služby, klíč rozhraní API pro správu vyhledávacích služeb, připojovací řetězec úložiště a název kontejneru objektů blob, který ukládá soubory PDF.

  3. Odešlete všechny žádosti zase. Vytvoření indexeru trvá několik minut.

  4. Zavřete soubor.

Kontrola výsledků na portálu

Vzorový kód záměrně vytvoří index chyb v důsledku problémů, ke kterým došlo během provádění sady dovedností. Problém je, že index chybí data.

  1. Na webu Azure Portal na stránce Přehled vyhledávací služby vyberte kartu Indexy.

  2. Vyberte klinické studie.

  3. Do zobrazení JSON v Průzkumníkovi služby Search zadejte tento řetězec dotazu JSON. Vrátí pole pro konkrétní dokumenty (identifikované jedinečným metadata_storage_path polem).

    "select": "metadata_storage_path, organizations, locations",
    "count"=true`
    
  4. Spusťte dotaz. Měly by se zobrazit prázdné hodnoty pro organizations a locations.

    Tato pole by měla být naplněna dovedností sady dovedností Pro rozpoznávání entit, která slouží k detekci organizací a umístění kdekoli v obsahu objektu blob. V dalším cvičení budete sadu dovedností ladit, abyste zjistili, co se nepovedlo.

Dalším způsobem, jak prozkoumat chyby a upozornění, je prostřednictvím webu Azure Portal.

  1. Otevřete kartu Indexery a vyberte clinical-trials-idxr.

    Všimněte si, že zatímco úloha indexeru proběhla celkově úspěšně, došlo k upozorněním.

  2. Výběrem možnosti Úspěch zobrazíte upozornění (pokud by došlo většinou k chybám, podrobný odkaz by se nezdařil). Zobrazí se dlouhý seznam všech upozornění vygenerovaných indexerem.

    Snímek obrazovky s upozorněními zobrazení

Spuštění ladicí relace

  1. V levém navigačním podokně vyhledávací služby v části Správa hledání vyberte Relace ladění.

  2. Vyberte + Přidat ladicí relaci.

  3. Pojmenujte relaci.

  4. Připojení relaci k vašemu účtu úložiště. Vytvořte kontejner s názvem "ladicí relace". Tento kontejner můžete opakovaně použít k uložení všech dat relace ladění.

  5. Pokud jste nakonfigurovali důvěryhodné připojení mezi vyhledáváním a úložištěm, vyberte pro připojení identitu spravovanou uživatelem nebo systémovou identitu. V opačném případě použijte výchozí hodnotu (Žádné).

  6. V šabloně Indexeru zadejte název indexeru. Indexer obsahuje odkazy na zdroj dat, sadu dovedností a index.

  7. Přijměte výchozí volbu dokumentu pro první dokument v kolekci. Ladicí relace funguje jenom s jedním dokumentem. Můžete zvolit, který dokument chcete ladit, nebo použít jenom první dokument.

  8. Uložte relaci. Uložením relace se spustí kanál rozšiřování definovaný sadou dovedností pro vybraný dokument.

    Snímek obrazovky konfigurace nové ladicí relace

  9. Po dokončení inicializace ladicí relace se ve výchozím nastavení zvýrazní graf dovedností na kartě Obohacení AI. Graf dovedností poskytuje vizuální hierarchii sady dovedností a její pořadí provádění postupně a paralelně.

    Snímek obrazovky s editorem vizuálu ladicí relace

Vyhledání problémů se sadou dovedností

Všechny problémy hlášené indexerem najdete na kartě Sousední chyby nebo upozornění .

Snímek obrazovky s kartou Chyby a upozornění

Všimněte si, že karta Chyby/Upozornění poskytuje mnohem menší seznam, než je seznam zobrazený dříve, protože tento seznam podrobně popisuje pouze chyby pro jeden dokument. Podobně jako seznam zobrazený indexerem můžete vybrat zprávu s upozorněním a zobrazit podrobnosti tohoto upozornění.

Vyberte chyby nebo upozornění a zkontrolujte oznámení. Měli byste vidět čtyři:

  • "Nelze provést dovednost, protože jeden nebo více vstupů dovedností byly neplatné. Chybí požadovaný vstup dovednosti. Name: 'text', Source: '/document/content'."

  • "Nelze namapovat výstupní pole "umístění" na index vyhledávání. Zkontrolujte vlastnost outputFieldMappings vašeho indexeru. Chybí hodnota /document/merged_content/locations.

  • "Nelze mapovat výstupní pole "organizace" na index vyhledávání. Zkontrolujte vlastnost outputFieldMappings vašeho indexeru. Chybí hodnota /document/merged_content/organizations.

  • "Provedené dovednosti, ale mohou mít neočekávané výsledky, protože jeden nebo více vstupů dovedností bylo neplatné. Nepovinný vstup dovednosti chybí. Název: languageCode, Source: /document/languageCode. Problémy s analýzou jazyka výrazů: Chybí hodnota /document/languageCode.

Mnoho dovedností má parametr languageCode. Kontrolou operace můžete vidět, že v tomto kódu jazyka chybí EntityRecognitionSkill.#1vstup kódu , což je stejná dovednost rozpoznávání entit, která má potíže s výstupem "umístění" a "organizace".

Vzhledem k tomu, že všechny čtyři oznámení jsou o této dovednosti, je dalším krokem ladění této dovednosti. Pokud je to možné, začněte tím, že nejprve vyřešíte vstupní problémy, než přejdete k problémům s výstupem.

Oprava chybějících hodnot zadávání dovedností

Na kartě Chyby/Upozornění existují dva chybějící vstupy pro operaci označenou EntityRecognitionSkill.#1. Podrobnosti první chyby vysvětlují, že chybí požadovaný vstup pro text. Druhá označuje problém se vstupní hodnotou /document/languageCode.

  1. V grafu dovedností rozšiřování>AI vyberte dovednost označenou #1, aby se podrobnosti zobrazily v pravém podokně.

  2. Vyberte kartu Provádění a vyhledejte vstup pro text.

  3. Výběrem symbolu </> otevřete vyhodnocovače výrazů. Zobrazený výsledek pro tento vstup nevypadá jako textový vstup. Vypadá to jako řada znaků nového řádku \n \n\n\n\n místo textu. Nedostatek textu znamená, že není možné identifikovat žádné entity, takže buď tento dokument nesplňuje požadavky dovednosti, nebo existuje jiný vstup, který by se měl použít.

    Snímek obrazovky s vyhodnocovačem výrazů pro textový vstup

  4. Přepněte levé podokno na Rozšířenou datovou strukturu a posuňte se dolů seznam uzlů rozšiřování pro tento dokument. Všimněte si, že \n \n\n\n\n objekt "content" nemá žádný zdroj původu, ale jiná hodnota pro "merged_content" má výstup OCR. Ačkoli neexistuje žádná indikace, zdá se, že obsah tohoto SOUBORU PDF je soubor JPEG, jak je důkazem extrahovaného a zpracovávaného textu v "merged_content".

    Snímek obrazovky s rozšířenou datovou strukturou

  5. V pravém podokně vyberte Spuštění pro dovednost #1 a otevřete vyhodnocovače< výrazů /> pro vstup "text".

  6. Změňte výraz z /document/content na /document/merged_contenta pak vyberte Vyhodnotit. Všimněte si, že obsah je teď blokem textu, a proto je možné ho rozpoznat.

    Snímek obrazovky s vyhodnocovačem výrazů pro pevný vstup merged_content

  7. Přepněte do editoru JSON dovedností.

  8. Na řádku 16 se v části "vstupy" změňte /document/content na /document/merged_content.

     {
       "name": "text",
       "source": "/document/merged_content"
     },
    
  9. V podokně Podrobností dovedností vyberte Uložit .

    Snímek obrazovky s příkazem Uložit pro podrobnosti sady dovedností

  10. V nabídce okna relace vyberte Spustit . Tím se zahájí další spuštění sady dovedností pomocí dokumentu.

  11. Po dokončení provádění relace ladění zkontrolujte kartu Chyby/Upozornění a zobrazí se, že chyba pro textové zadání je pryč, ale ostatní upozornění zůstávají. Dalším krokem je vyřešení upozornění na "languageCode".

    Snímek obrazovky s aktualizovanými chybami a upozorněními

  12. Vyberte kartu Spouštění a vyhledejte vstup pro "languageCode".

  13. Výběrem symbolu </> otevřete vyhodnocovače výrazů. Všimněte si potvrzení, že vlastnost languageCode není platným vstupem.

    Snímek obrazovky s vyhodnocovačem výrazů pro vstup jazyka

Existují dva způsoby, jak tuto chybu prozkoumat. První je podívat se, odkud vstup pochází – z jaké dovednosti v hierarchii má tento výsledek vzniknout? Na kartě Spuštění v podokně podrobností dovedností by se měl zobrazit zdroj vstupu. Pokud neexistuje žádný zdroj, znamená to chybu mapování polí.

  1. Na kartě Spouštění zkontrolujte vstupy a vyhledejte "languageCode". Pro tento vstup není uvedený žádný zdroj.

  2. Přepněte levé podokno na Rozšířenou datovou strukturu. Posuňte se dolů seznam uzlů rozšiřování pro tento dokument. Všimněte si, že neexistuje žádný uzel LanguageCode, ale pro jazyk existuje jeden. Takže v nastavení dovedností je překlep.

    Snímek obrazovky rozšířené datové struktury se zvýrazněným jazykem

  3. Stále v rozšířené datové struktuře otevřete vyhodnocovače< výrazů /> pro uzel "jazyk" a zkopírujte výraz /document/language.

  4. V pravém podokně vyberte dovednost Nastavení pro dovednost #1 a otevřete vyhodnocovač <výrazů /> pro vstup "languageCode".

  5. Vložte novou hodnotu /document/language do pole Výraz a vyberte Vyhodnotit. Měl by zobrazit správný vstup "en".

  6. Zvolte Uložit.

  7. Vyberte Spustit.

Po dokončení provádění relace ladění zkontrolujte kartu Chyby/Upozornění a zobrazí se, že jsou všechna vstupní upozornění pryč. Teď zůstávají jenom dvě upozornění týkající se výstupních polí pro organizace a umístění.

Oprava chybějících výstupních hodnot dovedností

Zprávy říkají, že chcete zkontrolovat vlastnost outputFieldMappings vašeho indexeru, takže se tam pustíme.

  1. Přejděte do grafu dovedností a vyberte Mapování výstupních polí. Mapování jsou ve skutečnosti správná, ale normálně byste zkontrolovali definici indexu, abyste zajistili, že pole existují pro "umístění" a "organizace".

    Snímek obrazovky s mapováním výstupních polí

  2. Pokud s indexem není žádný problém, dalším krokem je zkontrolovat výstupy dovedností. Stejně jako předtím vyberte rozšířenou datovou strukturu a posuňte uzly a vyhledejte "umístění" a "organizace". Všimněte si, že nadřazený objekt je "obsah" místo "merged_content". Kontext je nesprávný.

    Snímek obrazovky s rozšířenou datovou strukturou s nesprávným kontextem

  3. Přepněte zpět na Skill Graph a vyberte dovednost rozpoznávání entit.

  4. Navigujte Nastavení dovedností a vyhledejte "kontext".

    Snímek obrazovky s opravou kontextu v nastavení dovedností

  5. Poklikejte na nastavení "kontext" a upravte ho tak, aby se četlo /document/merged_content.

  6. Zvolte Uložit.

  7. Vyberte Spustit.

Všechny chyby byly vyřešeny.

Potvrzení změn v sadě dovedností

Při zahájení ladicí relace vytvořila vyhledávací služba kopii sady dovedností. To bylo provedeno k ochraně původní sady dovedností ve vaší vyhledávací službě. Teď, když jste dokončili ladění sady dovedností, je možné potvrdit opravy (přepsat původní sadu dovedností).

Pokud nejste připravení potvrdit změny, můžete také uložit ladicí relaci a později ji znovu otevřít.

  1. V hlavní nabídce relace ladění vyberte Potvrdit změny .

  2. Vyberte OK a potvrďte, že chcete aktualizovat sadu dovedností.

  3. Zavřete relaci ladění a otevřete indexery z levého navigačního podokna.

  4. Vyberte clinical-trials-idxr.

  5. Vyberte Obnovit.

  6. Vyberte Spustit.

  7. Výběrem možnosti Aktualizovat zobrazíte stav příkazů resetování a spuštění.

Po dokončení spuštění indexeru by mělo být zelené zaškrtnutí a vedle časového razítka pro poslední spuštění na kartě Historie spuštění by mělo být slovo Úspěch. Pokud chcete zajistit, aby se změny použily:

  1. V levém navigačním podokně otevřete indexy.

  2. Vyberte index clinical-trials a na kartě Průzkumník služby Search zadejte tento řetězec dotazu: $select=metadata_storage_path, organizations, locations&$count=true pokud chcete vrátit pole pro konkrétní dokumenty (identifikované jedinečným metadata_storage_path polem).

  3. Vyberte Hledat.

Výsledky by měly ukázat, že organizace a umístění jsou teď naplněné očekávanými hodnotami.

Vyčištění prostředků

Pokud pracujete s vlastním předplatným, je vhodné vždy na konci projektu zkontrolovat, jestli budete vytvořené prostředky ještě potřebovat. Prostředky, které necháte spuštěné, vás stojí peníze. Prostředky můžete odstraňovat jednotlivě nebo můžete odstranit skupinu prostředků, a odstranit tak celou sadu prostředků najednou.

Prostředky můžete najít a spravovat na portálu pomocí odkazu Všechny prostředky nebo skupiny prostředků v levém navigačním podokně.

Bezplatná služba je omezená na tři indexy, indexery a zdroje dat. Jednotlivé položky na portálu můžete odstranit, abyste zůstali pod limitem.

Další kroky

Tento kurz se týká různých aspektů definice a zpracování sady dovedností. Další informace o konceptech a pracovních postupech najdete v následujících článcích: