Modello personalizzato di riassunto V1 per la chat

Il modello personalizzato Riepilogo di Agent Assist per la funzionalità ti consente di fornire riepiloghi delle conversazioni agli agenti al termine di ogni conversazione, sfruttando un modello addestrato esclusivamente su dati specifici dei clienti. Ciò è diverso dalla personalizzazione tramite un modello linguistico di grandi dimensioni, come descritto in Riepilogo con sezioni personalizzate. I riepiloghi aiutano gli agenti a creare le note della conversazione e a comprendere la cronologia delle comunicazioni dell'utente finale. Ad esempio, un output di riepilogo di una conversazione potrebbe essere simile al seguente:

Puoi anche importare un modello di riepilogo personalizzato di Agent Assist da utilizzare con le conversazioni di CCAI Insights.

Prima di iniziare

  1. Assicurati che i dati siano nel formato richiesto. Hai anche la possibilità di utilizzare un set di dati di esempio o di testare la funzionalità utilizzando il modello di riepilogo demo, senza che sia necessario un set di dati.

Addestra ed esegui il deployment di un modello di riepilogo utilizzando l'API

Creare un set di dati conversazione e importare le trascrizioni

Chiama il metodo create sulla risorsa ConversationDataset per creare un set di dati di conversazione. Includi il percorso del bucket Cloud Storage contenente i dati della trascrizione per importarli nel nuovo set di dati della conversazione.

Esempio di richiesta:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "inputConfig": {
    "gcsSource": {
      "uris": ["gs://PATH_NAME/*"]
    }
  }
}

La risposta contiene un ID set di dati di conversazione. Esempio di risposta:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.ConversationDataset",
    "name": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID",
    "displayName": "CONVERSATION_DATASET_NAME",
    "createTime": "2022-06-16T23:13:22.627380457Z"
  }
}

Creare un modello di conversazione

Chiama il metodo create sulla risorsa ConversationModel per creare un modello di conversazione di riepilogo. Ogni progetto avrà a disposizione fino a 120 ore nodo per l'addestramento ogni mese e potrà eseguire un job di addestramento contemporaneamente.

Campi obbligatori:

  • datasets: fornisci un singolo set di dati contenente i dati della trascrizione che hai utilizzato per addestrare il modello.
  • summarizationModelMetadata: impostalo su un oggetto vuoto o compila il campo per eseguire l'override del valore predefinito.

Esempio di richiesta:

{
  "displayName": "CONVERSATION_DATASET_NAME",
  "datasets": [{
    "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID"
  }],
  "summarizationModelMetadata": {
    "trainingModelType": "SUMMARIZATION_MODEL"
  },
  "languageCode": "en-US"
}

La risposta è un'operazione di lunga durata, che puoi eseguire il polling utilizzando GetOperation API per verificare il completamento. L'addestramento può richiedere diverse ore. La risposta restituisce lo stato e l'ID modello.

Esempio di risposta:

{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.CreateConversationModelOperationMetadata",
    "conversationModel": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
    "state": "TRAINING",
    "createTime": "2022-06-16T23:27:50Z"
  }
}

Valutare un modello conversazionale

Al termine dell'addestramento del modello, chiama l'API ListConversationModelEvaluations per verificare la qualità del modello.

In ListConversationModelEvaluationsRequest, specifica il nome del modello da controllare.

{
  "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a"
}

ListConversationModelEvaluationsResponse include un punteggio Rouge-L per valutare il riepilogo automatico.

{
  "conversationModelEvaluations": [{
    "name": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a/evaluations/c10ac25411a23fe1",
    "displayName": "Training Auto Generated Evaluation",
    "createTime": "2022-06-04T03:38:35.151096Z",
    "evaluationConfig": {
    },
    "summarizationMetrics": {
      "rougel": 0.4474459
    }
  }]
}

Eseguire il deployment di un modello di conversazione

Una volta completato l'addestramento del modello, puoi eseguirne il deployment utilizzando l'API DeployConversationModel.

In DeployConversationModelRequest, specifica name del modello da eseguire il deployment. La risposta è un'operazione di lunga durata, che puoi eseguire il polling utilizzando GetOperation API per verificare il completamento.

Configurare un profilo di conversazione

Un profilo di conversazione configura un insieme di parametri che controllano i suggerimenti forniti a un agente durante una conversazione. I passaggi seguenti creano un ConversationProfile con un oggetto HumanAgentAssistantConfig.

Creare un profilo di conversazione

Per creare un profilo di conversazione, chiama il metodo create sulla risorsa ConversationProfile. Fornisci un nome per il nuovo profilo conversazione, il tuo Google Cloud ID progetto e l'ID modello. In CreateConversationProfileRequest, specifica il modello di conversazione da utilizzare e la funzionalità di suggerimento da CONVERSATION_SUMMARIZATION.

Di seguito è riportato un esempio di JSON:

{
  "displayName": "CONVERSATION_PROFILE_NAME",
  "humanAgentAssistantConfig": {
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
          "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID",
        }
      }]
    }
  },
  "languageCode": "en-US"
}

La risposta è un oggetto ConversationProfile contenente il profilo della conversazione name:

{
  "name": "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "CONVERSATION_PROFILE_NAME",
  "automatedAgentConfig": {
  },
  "humanAgentAssistantConfig": {
    "notificationConfig": {
    },
    "humanAgentSuggestionConfig": {
      "featureConfigs": [{
        "suggestionFeature": {
          "type": "CONVERSATION_SUMMARIZATION"
        },
        "conversationModelConfig": {
        }
      }]
    },
    "messageAnalysisConfig": {
    }
  },
  "languageCode": "en-US",
  "createTime": "2022-06-06T21:06:46.841816Z",
  "updateTime": "2022-06-06T21:06:46.841816Z",
  "projectNumber": "344549229138"
}

Gestire le conversazioni in fase di runtime

Quando inizia un dialogo tra un utente finale e un agente umano, crei una conversazione. Le sezioni seguenti illustrano questa procedura.

Creare una conversazione

Per creare una conversazione, chiama il metodo create sulla risorsa Conversation.

La risposta contiene il nuovo ID conversazione.

Crea un partecipante utente finale

Per creare un partecipante utente finale, chiama il metodo create sulla risorsa Participant. Fornisci l'ID conversazione e END_USER per il campo role.

Il segmento di percorso dopo participants contiene il nuovo ID partecipante utente finale.

Crea un partecipante agente umano

Per creare un partecipante agente umano, chiama il metodo create sulla risorsa Participant. Fornisci l'ID conversazione e HUMAN_AGENT per il campo role.

Il segmento di percorso dopo participants contiene il nuovo ID partecipante dell'agente umano.

Analizza messaggio

Opzione 1: durante una conversazione

Per aggiungere e analizzare un messaggio dell'agente umano per la conversazione, chiama il metodo analyzeContent nella risorsa Participant. Fornisci l'ID conversazione e l'ID partecipante dell'agente umano.

Per aggiungere e analizzare un messaggio dell'utente finale per la conversazione, chiama il metodo analyzeContent sulla risorsa Participant. Fornisci l'ID conversazione e l'ID partecipante utente finale.

Non effettuare chiamate duplicate al metodo analyzeContent se è stato chiamato per altre funzionalità di Dialogflow.

Opzione 2: dopo una conversazione

Puoi utilizzare questa opzione se non utilizzi il metodo analyzeContent durante la conversazione. In alternativa, puoi utilizzare il metodo batchCreate nella risorsa messages per importare i messaggi storici della conversazione.

Ricevere un suggerimento

Puoi ricevere un suggerimento in qualsiasi momento per l'ultimo messaggio di uno dei partecipanti.

Opzione 1. suggestConversationSummary

Chiama il metodo suggestConversationSummary sulla risorsa conversations.suggestions. Fornisci l'ID conversazione e l'ID messaggio più recente di uno dei partecipanti.

Opzione 2. generateStatelessSummary

Chiama il metodo generateStatelessSummary. Fornisci l'Messages della conversazione e l'ID messaggio più recente di uno dei partecipanti.

Ecco una richiesta JSON di esempio per generateStatelessSummary:

{
  "statelessConversation": {
    "messages": [{
      "content": "Hello, how can I help you today?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "I would like to cancel my plan.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, I have canceled your plan. Is there anything else that I can do to help you?",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }, {
      "content": "No, thank you.",
      "languageCode": "en-US",
      "participantRole": "END_USER"
    }, {
      "content": "Okay, have a great day!",
      "languageCode": "en-US",
      "participantRole": "HUMAN_AGENT"
    }],
    "parent": "projects/PROJECT_ID/locations/global"
  },
  "conversationProfile": {
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [{
          "suggestionFeature": {
            "type": "CONVERSATION_SUMMARIZATION"
          },
          "conversationModelConfig": {
            "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID"
          }
        }]
      }
    },
    "languageCode": "en-US"
  }
}

La risposta contiene Summarization suggerimenti.

Completare la conversazione

Per completare la conversazione, chiama il metodo complete sulla risorsa conversations. Fornisci l'ID conversazione.