Agent Assist 요약 맞춤 모델을 사용하면 고객별 데이터로만 학습된 모델을 활용하여 각 대화가 완료된 후 상담사에게 대화 요약을 제공할 수 있습니다. 이는 맞춤 섹션이 있는 요약에 설명된 대로 대규모 언어 모델을 통한 맞춤설정과 다릅니다. 요약은 상담사가 대화 메모를 작성하고 최종 사용자 커뮤니케이션 기록을 이해하는 데 도움이 됩니다. 예를 들어 대화에 관한 요약 출력은 다음과 유사할 수 있습니다.
맞춤 Agent Assist 요약 모델을 가져와 CCAI Insights 대화에 사용할 수도 있습니다.
시작하기 전에
API를 사용하여 요약 모델 학습 및 배포
대화 데이터 세트 만들기 및 스크립트 가져오기
ConversationDataset
리소스에서 create
메서드를 호출하여 대화 데이터 세트를 만듭니다. 스크립트 데이터가 포함된 Cloud Storage 버킷의 경로를 포함하여 새 대화 데이터 세트로 가져옵니다.
요청 예시:
{ "displayName": "CONVERSATION_DATASET_NAME", "inputConfig": { "gcsSource": { "uris": ["gs://PATH_NAME/*"] } } }
응답에 대화 데이터 세트 ID가 포함됩니다. 샘플 응답:
{ "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" } }
대화 모델 만들기
ConversationModel
리소스에서 create
메서드를 호출하여 요약 대화 모델을 만듭니다. 각 프로젝트는 매달 학습에 사용할 수 있는 노드 시간 최대 120시간을 보유하며 학습 작업을 동시에 하나 실행할 수 있습니다.
필수 필드:
datasets
: 모델을 학습하는 데 사용한 스크립트 데이터가 포함된 단일 데이터 세트를 제공합니다.summarizationModelMetadata
: 빈 객체로 설정하거나 필드를 채워 기본값을 재정의합니다.
요청 예시:
{ "displayName": "CONVERSATION_DATASET_NAME", "datasets": [{ "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID" }], "summarizationModelMetadata": { "trainingModelType": "SUMMARIZATION_MODEL" }, "languageCode": "en-US" }
응답은 완료 여부를 확인하기 위해 GetOperation API
를 사용하여 폴링할 수 있는 장기 실행 작업입니다. 학습은 몇 시간 정도 걸릴 수 있습니다. 응답은 상태 및 모델 ID를 반환합니다.
응답 예:
{ "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" } }
대화 모델 평가
모델 학습이 완료되면 ListConversationModelEvaluations
API를 호출하여 모델 품질을 확인합니다.
ListConversationModelEvaluationsRequest
에서 확인할 모델의 이름을 지정합니다.
{ "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a" }
ListConversationModelEvaluationsResponse
에는 자동 요약을 평가하기 위한 Rouge-L 점수가 포함됩니다.
{ "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 } }] }
대화 모델 배포
모델 학습이 완료되면 DeployConversationModel
API를 사용하여 모델을 배포할 수 있습니다.
DeployConversationModelRequest
에서 배포할 모델의 name
를 지정합니다. 응답은 완료 여부를 확인하기 위해 GetOperation API
를 사용하여 폴링할 수 있는 장기 실행 작업입니다.
대화 프로필 구성하기
대화 프로필은 대화 중 에이전트에 제공되는 추천을 제어하는 매개변수 집합을 구성합니다. 다음 단계에서는 HumanAgentAssistantConfig
객체로 ConversationProfile
을 만듭니다.
대화 프로필 만들기
대화 프로필을 만들려면 ConversationProfile
리소스에서 create
메서드를 호출합니다.
새 대화 프로필의 이름, Google Cloud프로젝트 ID, 모델 ID를 입력합니다. CreateConversationProfileRequest
에서 사용할 대화 모델과 추천 기능을 CONVERSATION_SUMMARIZATION
로 지정합니다.
다음은 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" }
응답은 대화 프로필 name
을 포함하는 ConversationProfile
객체입니다.
{ "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" }
런타임 중 대화 처리
최종 사용자와 상담사의 대화가 시작될 때 대화를 만듭니다. 다음 섹션에서는 이러한 프로세스를 안내합니다.
대화 만들기
대화를 만들려면 Conversation
리소스에서 create
메서드를 호출합니다.
응답에 새 대화 ID가 포함됩니다.
최종 사용자 참여자 만들기
최종 사용자 참여자를 만들려면 Participant
리소스에서 create
메서드를 호출합니다. 대화 ID를 제공하고 role
필드에 END_USER
를 입력합니다.
participants
다음의 경로 세그먼트에 새로운 최종 사용자 참여자 ID가 있습니다.
상담사 참여자 만들기
상담사 참여자를 만들려면 Participant
리소스에서 create
메서드를 호출합니다. 대화 ID를 제공하고 role
필드에 HUMAN_AGENT
를 입력합니다.
participants
다음의 경로 세그먼트에 새로운 상담사 참여자 ID가 있습니다.
메시지 분석
옵션 1: 대화 중
대화의 상담사 메시지를 추가하고 분석하려면 Participant
리소스에서 analyzeContent
메서드를 호출합니다. 대화 ID 및 상담사 참여자 ID를 제공합니다.
대화의 최종 사용자 메시지를 추가하고 분석하려면 Participant
리소스에서 analyzeContent
메서드를 호출합니다. 대화 ID 및 최종 사용자 참여자 ID를 제공합니다.
다른 Dialogflow 기능에서 analyzeContent
메서드가 호출된 경우 이 메서드를 중복으로 호출하지 마세요.
옵션 2: 대화 후
대화 중에 analyzeContent
메서드를 사용하지 않는 경우 이 옵션을 사용할 수 있습니다. 대신 messages
리소스의 batchCreate
메서드를 사용하여 대화의 이전 메시지를 처리할 수 있습니다.
추천 받기
언제든지 두 참여자 중 한 명의 최신 메시지에 대한 추천을 받을 수 있습니다.
옵션 1. suggestConversationSummary
conversations.suggestions
리소스에서 suggestConversationSummary
메서드를 호출합니다. 대화 ID와 참여자의 최신 메시지 ID를 제공합니다.
옵션 2. generateStatelessSummary
generateStatelessSummary
메서드를 호출합니다. 대화의 Messages
와 참여자의 최신 메시지 ID를 제공합니다.
다음은 generateStatelessSummary
의 JSON 요청 예시입니다.
{ "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" } }
응답에 Summarization
추천이 포함됩니다.
대화 완료
대화를 완료하려면 conversations
리소스에서 complete
메서드를 호출합니다. 대화 ID를 입력합니다.