Configurazione del routing di base

Questa guida descrive come configurare le regole e le configurazioni di routing dei messaggi di base per i tuoi agenti in Omnichannel Gateway.

Panoramica del meccanismo di routing

Affinché i tuoi agenti virtuali raggiungano gli utenti finali, devi configurare una route. Una route definisce il modo in cui il traffico conversazionale in entrata dai canali di comunicazione viene indirizzato ai tuoi agenti. Questa guida presuppone che tu abbia già creato configurazioni degli endpoint sia per i canali di comunicazione (origini) sia per gli agenti virtuali (destinazioni).

Policy di routing

Un criterio di routing definisce esattamente come viene indirizzato il traffico da un'origine a una destinazione. Omnichannel Gateway supporta due tipi principali di policy di routing a seconda del caso d'uso: policy di routing statiche e policy di routing ponderate.

Policy di routing statico

Una norma di routing statico (staticRoutingPolicy) instrada il traffico verso un agente di destinazione specifico senza prendere in considerazione altri fattori, come i pesi o altre logiche di business condizionali. Per la maggior parte dei casi d'uso, è sufficiente una policy di routing statico. Quando inizia una conversazione sul canale di origine, l'itinerario si attiva immediatamente e aggiunge gli endpoint di destinazione specificati. Con un criterio di routing statico, definisci:

  • Configurazioni dell'endpoint di destinazione: un elenco di configurazioni di backend di destinazione per ricevere traffico. Se non è possibile connettersi a uno di questi backend durante l'esecuzione del routing, il routing non andrà a buon fine.
  • Scadenza: la durata massima consentita per connettersi a tutti gli endpoint di destinazione prima che il tentativo di connessione venga considerato non riuscito o non integro (ad esempio, 10s).

Policy di routing ponderata

Una policy di routing ponderato (weightedRoutingPolicy) instrada il traffico in un gruppo di potenziali endpoint di destinazione in base a una distribuzione ponderata specificata. Quando inizia una sessione di conversazione, la route seleziona in modo casuale la partizione di traffico da inizializzare nelle istanze dell'agente virtuale. Con una policy di routing ponderata, definisci un elenco di partitions, in cui ogni partizione specifica:

  • Configurazioni dell'endpoint di destinazione: un elenco di configurazioni di backend di destinazione per ricevere il traffico partizionato.
  • Ponderazione: un numero intero non negativo che rappresenta la proporzione relativa di traffico che questa partizione deve ricevere. Un peso maggiore indica che la partizione deve essere selezionata più spesso rispetto a quelle con pesi inferiori. Ad esempio, l'assegnazione di pesi pari a 80 e 20 distribuisce circa l'80% delle sessioni conversazionali in entrata alla prima partizione e il 20% alla seconda.
  • Scadenza: la durata massima consentita per connettersi a tutti gli endpoint di destinazione nella partizione selezionata prima che il routing non vada a buon fine.

Configurare regole di routing di base

Questa sezione tratterà le policy di routing di base più comuni supportate.

Aggiunta di un criterio di routing statico

L'esempio seguente mostra come creare una route con una policy di routing statico che invia sempre il traffico da un canale di comunicazione di origine configurato (agent-source) a una destinazione dell'agente virtuale designata (agent-destination).

Per creare la route, esegui il seguente comando di esempio. Sostituisci i segnaposto con i dettagli di configurazione del progetto e dell'endpoint di destinazione:

curl

curl -i -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelRoutes" \
  -d @- <<EOF

{
  "displayName": "Static Routing Route",
  "sourceEndpointConfig": [
    "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/agent-source"
  ],
  "staticRoutingPolicy": {
    "destinationEndpointConfigs": [
      "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/agent-destination"
    ],
    "deadline": "10s"
  }
}

EOF

Aggiunta di una policy di routing ponderata

L'esempio seguente mostra come creare una route con una policy di routing ponderato che divide il traffico in entrata da un canale di comunicazione di origine (agent-source) tra due diverse destinazioni di agenti virtuali (ad esempio primary-destination che riceve l'80% e experiment-destination che riceve il 20% del traffico).

Per creare la route, esegui il seguente comando di esempio. Sostituisci i segnaposto con i dettagli di configurazione del progetto e dell'endpoint di destinazione:

curl

curl -i -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "Content-Type: application/json" \
  "https://agenticapplications.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/omnichannelRoutes" \
  -d @- <<EOF

{
  "displayName": "Weighted Routing Route",
  "sourceEndpointConfig": [
    "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/agent-source"
  ],
  "weightedRoutingPolicy": {
    "partitions": [
      {
        "destinationEndpointConfigs": [
          "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/primary-destination"
        ],
        "weight": 80,
        "deadline": "10s"
      },
      {
        "destinationEndpointConfigs": [
          "projects/PROJECT_ID/locations/LOCATION/omnichannelEndpointConfigs/experiment-destination"
        ],
        "weight": 20,
        "deadline": "10s"
      }
    ]
  }
}

EOF

Le policy di routing ponderato fungono da meccanismo molto efficace per eseguire implementazioni sicure e graduali (deployment canary) di nuovi agenti virtuali o versioni del modello nei canali esistenti. Iniziando con una piccola percentuale di traffico (ad esempio il 5% o il 10%) che punta a un agente sperimentale, puoi osservare il rendimento e la risposta degli utenti in produzione prima di aggiustare in modo incrementale i pesi relativi per l'implementazione completa.