Sdílet prostřednictvím


Kdy používat konverzační jazyk nebo aplikace pracovních postupů orchestrace

Při vytváření velkých aplikací byste měli zvážit, jestli je váš případ použití nejvhodnější pro jednu konverzační aplikaci (plochou architekturu) nebo více aplikací, které jsou orchestrované.

Přehled orchestrace

Pracovní postup orchestrace je funkce, která umožňuje propojit různé projekty ze služby LUIS, porozumění konverzačnímu jazyku a vlastní odpovědi na otázky v jednom projektu. Tento projekt pak můžete použít k předpovědím pomocí jednoho koncového bodu. Projekt orchestrace vytvoří predikci, kterou podřízený projekt má být volána, automaticky směruje požadavek a vrátí odpověď.

Orchestrace zahrnuje dva kroky:

  1. Predikce, který podřízený projekt se má volat
  2. Směrování promluvy do cílové podřízené aplikace a vrácení odpovědi podřízené aplikace

Výhody orchestrace

  • Vymazání rozkladu a rychlejšího vývoje:

    • Pokud má vaše celkové schéma velký počet domén, může vám přístup k orchestraci pomoct rozložit aplikaci do několika podřízených aplikací (každá obsluhuje konkrétní doménu). Například konverzační aplikace v automobilovém průmyslu může mít navigační doménu nebo doménu médií.
    • Paralelní vývoj jednotlivých doménových aplikací je jednodušší. Lidé a týmy s konkrétními znalostmi v doméně můžou spolupracovat na jednotlivých aplikacích společně a paralelně.
    • Vzhledem k tomu, že každá doménová aplikace je menší, bude cyklus vývoje rychlejší. Trénovat aplikace s menší velikostí domény trvá mnohem méně času než jedna velká aplikace.
  • Flexibilnější prahové hodnoty skóre spolehlivosti:

    • Vzhledem k tomu, že samostatné podřízené aplikace obsluhují každou doménu, je snadné nastavit samostatné prahové hodnoty pro různé podřízené aplikace.
  • Pokud je to vhodné, vylepšení kvality AI:

    • Některé aplikace vyžadují, aby určité entity měly být omezené na doménu. Orchestrace usnadňuje dosažení tohoto úkolu. Jakmile projekt orchestrace předpovídá, které podřízené aplikace se mají volat, ostatní podřízené aplikace se nevolá.

      Pokud například vaše aplikace obsahuje předem připravenou entituPerson.Name, zvažte promluvu "Návody použít konektor?" v kontextu otázky vozidla. V tomto kontextu je jack automobilový nástroj a neměl by být rozpoznán jako jméno osoby. Když použijete orchestraci, můžete tuto promluvu přesměrovat na podřízenou aplikaci vytvořenou tak, aby odpovídala na takovou otázku, která nemá entitu Person.Name .

Nevýhody orchestrace

  • Redundantní entity v podřízených aplikacích:

    • Pokud potřebujete konkrétní předem připravenou entitu, která se vrací ve všech promluvách bez ohledu na doménu, nebo Quantity.Number Geography.Locationneexistuje způsob, jak do aplikace orchestrace přidat entitu (jedná se o model pouze záměru). Musíte ho přidat do všech jednotlivých podřízených aplikací.
  • Efficiency:

    • Aplikace pro orchestraci mají dva odvozování modelů. Jedna pro předpověď, kterou podřízenou aplikaci má volat, a druhou pro předpověď v podřízené aplikaci. Doba odvozování je obvykle pomalejší než jedna aplikace s plochou architekturou.
  • Rozdělení trénování/testování pro orchestrátor:

    • Trénování aplikace pro orchestraci neumožňuje podrobné rozdělení dat mezi testovací a trénovací sady. Například nemůžete trénovat rozdělení 90–10 pro podřízenou aplikaci A a potom trénovat rozdělení 80–20 pro podřízenou aplikaci B. Toto omezení může být menší, ale je vhodné mít na paměti.

Přehled ploché architektury

Plochá architektura je druhou metodou vývoje konverzačních aplikací. Místo použití aplikace pro orchestraci k odesílání promluv do jedné z několika podřízených aplikací vytvoříte jednotné (nebo ploché) aplikace pro zpracování promluv.

Výhody ploché architektury

  • Jednoduchost:

    • U malých aplikací nebo domén může být přístup orchestrátoru příliš složitý.
    • Vzhledem k tomu, že všechny záměry a entity jsou na stejné úrovni aplikace, může být jednodušší provádět změny u všech z nich.
  • Přidávání entit, které by se měly vždy vrátit, je jednodušší:

    • Pokud chcete, aby se určité předem připravené entity nebo entity seznamu vracely pro všechny promluvy, stačí je přidat jenom spolu s dalšími entitami v jedné aplikaci. Pokud používáte orchestraci, jak už bylo zmíněno, musíte ji přidat do každé podřízené aplikace.

Nevýhody ploché architektury

  • Nepraktné pro velké aplikace:

    • U velkých aplikací (například více než 50 záměrů nebo entit) může být obtížné sledovat vyvíjející se schémata a datové sady. Tento problém je zřejmé v případech, kdy aplikace musí obsluhovat několik domén. Například konverzační aplikace v automobilovém průmyslu může mít navigační doménu nebo doménu médií.
  • Omezená kontrola nad shodami entit:

    • V ploché architektuře neexistuje způsob, jak omezit vrácení entit pouze v určitých případech. Když používáte orchestraci, můžete tyto konkrétní entity přiřadit konkrétním podřízeným aplikacím.