Condividi tramite


Quando usare le app del flusso di lavoro del flusso di lavoro di conversazione

Quando si creano applicazioni di grandi dimensioni, è consigliabile valutare se il caso d'uso sarebbe meglio servito da un'unica app di conversazione (architettura flat) o più app orchestrate.

Panoramica dell'orchestrazione

Il flusso di lavoro di orchestrazione è una funzionalità che consente di connettere progetti diversi dalla comprensione del linguaggio di conversazioneLUIS e di rispondere a domande personalizzate in un progetto. È quindi possibile usare questo progetto per le stime usando un endpoint. Il progetto di orchestrazione effettua una stima su cui deve essere chiamato il progetto figlio, instrada automaticamente la richiesta e restituisce con la relativa risposta.

Il punto chiave è che l'orchestrazione prevede due passaggi:

  1. Stima del progetto figlio da chiamare.
  2. Instradare l'espressione all'app figlio di destinazione e restituire la risposta dell'app figlio.

Vantaggi

  • Scomposizione chiara e sviluppo più veloce:

    • Se lo schema complessivo ha un numero notevole di domini, l'approccio di orchestrazione può aiutare a decomponere l'applicazione in diverse app figlio (ognuna che gestisce un dominio specifico). Ad esempio, un'app di conversazione automobilistica potrebbe avere un dominio di spostamento, un dominio multimediale e così via.
    • Lo sviluppo di ogni app di dominio in parallelo è più semplice. Persone e team con competenze di dominio specifiche possono lavorare in modo collaborativo e in parallelo su singole app.
    • Poiché ogni app di dominio è più piccola, il ciclo di sviluppo diventa più veloce. Le app di dominio di dimensioni ridotte richiedono molto meno tempo per eseguire il training di una singola app di grandi dimensioni.
  • Soglie di punteggio di attendibilità più flessibili:

    • Poiché sono disponibili app figlio separate che servono ogni dominio, è facile impostare soglie separate per app figlio diverse.
  • Miglioramenti della qualità dell'intelligenza artificiale in base alle esigenze:

    • Alcune applicazioni richiedono che alcune entità siano limitate al dominio. L'orchestrazione semplifica questo risultato. Dopo che il progetto di orchestrazione ha previsto quale app figlio deve essere chiamata, le altre app figlio non verranno chiamate.

    Ad esempio, se l'app contiene un'entità predefinita, considerare l'espressione "Ricerca per categorie usare un jack?", nel contesto di una Person.Name domanda del veicolo. In questo contesto , jack è uno strumento automobilistico e non deve essere riconosciuto come nome di una persona. Usando l'orchestrazione, questa espressione può essere reindirizzata a un'app figlio creata per rispondere a tali domande, che non ha un'entità Person.Name .

Svantaggi

  • Entità ridondanti nelle app figlio:
    • Se è necessaria una determinata entità predefinita restituita in tutte le espressioni indipendentemente dal dominio, ad esempio Quantity.Number o Geography.Location, non è possibile aggiungere un'entità all'app orchestrazione (è un modello di sola finalità). È necessario aggiungerlo a tutte le singole app figlio.
  • Efficienza:
    • Le app di orchestrazione accettano due inferenze del modello. Una per prevedere quale app figlio chiamare, un'altra per la stima nell'app figlio. I tempi di inferenza in genere saranno più lenti rispetto alle singole app con un'architettura flat.
  • Suddivisione di training/test per orchestratore:
    • Il training di un'app di orchestrazione non consente di suddividere in modo granulare i dati tra i set di test e di training. Ad esempio, non è possibile eseguire il training di una suddivisione da 90 a 10 per l'app figlio A e quindi una suddivisione da 80 a 20 per l'app figlio B. Questo può essere un punto secondario, ma vale la pena tenere presente.

Panoramica dell'architettura flat

L'architettura flat è l'altro metodo di sviluppo di app conversazionali. Anziché usare un'app di orchestrazione per inviare espressioni a una di più app figlio, si sviluppa un'app singolare (o flat) per gestire le espressioni.

Vantaggi

  • Semplicità:
    • Per le app o i domini di piccole dimensioni, l'approccio dell'agente di orchestrazione può essere eccessivamente complesso.
    • Poiché tutte le finalità e le entità sono allo stesso livello di app, potrebbe essere più semplice apportare modifiche a tutte le entità insieme.
  • È più semplice aggiungere entità che devono sempre essere restituite:
    • Se si desidera restituire alcune entità predefinite o di elenco per tutte le espressioni, è sufficiente aggiungerla insieme ad altre entità in una singola app. Se si usa l'orchestrazione, come indicato in precedenza, è necessario aggiungerla a ogni app figlio.

Svantaggi

  • Unwieldy per le app di grandi dimensioni:
    • Per le app di grandi dimensioni (ad esempio > 50 finalità o entità) può diventare difficile tenere traccia degli schemi e dei set di dati in evoluzione. Questo è particolarmente evidente nei casi in cui l'app deve servire diversi domini. Ad esempio, un'app di conversazione automobilistica potrebbe avere un dominio di spostamento, un dominio multimediale e così via.
  • Controllo limitato sulle corrispondenze di entità:
    • In un'architettura flat non è possibile limitare le entità da restituire solo in determinati casi. È possibile eseguire questa operazione usando l'orchestrazione assegnando tali entità specifiche a specifiche app figlio.

Passaggi successivi