맞춤 섹션을 사용한 요약은 LLM을 사용하여 고객 서비스 대화를 요약합니다. 모델은 모델이 실행하는 작업을 정의하는 텍스트 프롬프트의 일부인 대화와 맞춤 섹션을 사용하여 요약을 생성합니다.
맞춤 섹션에서 자체 요약 작업 정의를 작성할 수도 있습니다. 사전 정의된 섹션과 맞춤 섹션은 생성기에 설명되어 있습니다.
사전 정의된 섹션
이 기능은 다음 6가지 사전 정의된 섹션을 제공하며, 여기에서 다음을 선택할 수 있습니다.
상황 고객에게 도움이 필요하거나 궁금한 사항입니다.
작업. 상담사가 고객을 지원하기 위해 취하는 조치로 정의됩니다.
해결. 다음과 같은 4가지 옵션이 있습니다.
- Y: 예. 모든 고객 문제 및 문의가 해결되었습니다.
- P: 부분. 여러 고객 문제 및 문의 중 일부만 해결됩니다.
- N: 아니요. 고객 문제 및 문의가 모두 해결되지 않았습니다.
- 해당 사항 없음: 고객이 대화 중에 제기한 구체적인 문제나 문의가 없습니다.
고객 만족도 옵션은 불만족 또는 불만족하지 않음입니다.
- D: 고객이 대화가 끝날 때 불만족스러워하거나 부정적인 감정을 갖습니다.
- N: 고객이 대화가 끝날 때까지 중립적이거나 긍정적인 감정을 갖고 있습니다.
취소 사유 고객이 취소를 요청하는 경우 취소 사유입니다. 그렇지 않으면 해당 사항 없음
항목 대화에서 추출된 중요한 항목의 키-값 쌍입니다.
요약 생성기 만들기
콘솔
Agent Assist Console을 사용하여 요약 생성기를 만들려면 다음 단계를 따르세요.
콘솔에서 요약 페이지로 이동하여 생성기를 선택합니다.
생성기 이름을 입력합니다.
생성기 버전을 선택합니다.
출력 언어를 선택합니다.
사전 정의된 섹션에서 섹션을 선택합니다.
맞춤 섹션 아래에 섹션 추가: 필요에 따라 새 요약 태스크를 정의하고 원하는 경우 개선을 위해 샘플을 추가합니다.
저장을 클릭합니다.
REST
API를 사용하여 요약 생성기를 만들려면 다음 단계를 따르세요.
Generator 리소스에서
CreateGenerator
메서드를 호출합니다.description
필드에 생성기 이름을 입력합니다.output_language_code
필드에 생성기의 출력 언어 코드를 입력합니다.트리거 이벤트
MANUAL_CALL
를 입력합니다.사전 정의된 섹션을 선택하고 SummarizationContext에서 샘플이 포함된 맞춤 섹션을 추가합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators
JSON 요청 본문:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "description": "test", "triggerEvent": "MANUAL_CALL", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "description": "test", "inferenceParameter": { "maxOutputTokens": 1024, "temperature": 0.0, "topK": 40, "topP": 0.8 }, "triggerEvent": "MANUAL_CALL", "createTime": "2024-05-11T00:28:14.790937126Z", "updateTime": "2024-05-11T01:59:15.751724150Z", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
요약 생성기 테스트
다음 이미지와 같이 콘솔의 Test generator(생성기 테스트) 섹션에서 생성기를 테스트할 수 있습니다.
콘솔에서 생성기를 테스트하려면 다음 단계를 따르세요.
콘솔
대화 스크립트 다음 이미지와 같이 발화를 직접 입력하거나 JSON 형식의 스크립트를 업로드할 수 있습니다.
생성을 클릭하여 요약을 표시합니다.
대화 프로필 구성하기
대화 프로필은 대화 중 에이전트에 제공되는 추천을 제어하는 매개변수 집합을 구성합니다. 다음 단계에서는 HumanAgentAssistantConfig
객체로 ConversationProfile
을 만듭니다.
다음 샘플은 대화 프로필을 만드는 방법을 보여줍니다.
콘솔
Agent Assist 콘솔에서 대화 프로필 페이지로 이동합니다.
표시 이름을 입력합니다.
추천 유형으로 대화 요약 (생성기)을 선택합니다.
목록에서 생성기 이름을 선택합니다.
REST
대화 프로필 리소스에서
create
메서드를 호출합니다.새 대화 프로필의 이름을 지정합니다.
언어 코드를 입력합니다.
human_agent_suggestion_config에 생성기 이름을 입력합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
- CONVERSATION_PROFILE_ID: 대화 프로필 ID
- GENERATOR_ID: 생성기 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles
JSON 요청 본문:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
시뮬레이터로 확인
Agent Assist 시뮬레이터에서 대화 프로필을 확인할 수 있습니다.
런타임의 대화
런타임에 사용자와 상담사 간의 대화가 시작되면 상담사 (사람 또는 가상)와 지원 고객 또는 사용자 간의 상호작용인 대화를 만듭니다. 추천을 보려면 사용자 참여자와 상담사 참여자를 모두 만들어 대화에 추가합니다.
대화 만들기
대화를 만들려면 Conversation
리소스에서 create
메서드를 호출합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
- CONVERSATION_PROFILE_ID: 대화 프로필을 만들 때 받은 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
JSON 요청 본문:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
conversations
다음의 경로 세그먼트에 새 대화 ID가 있습니다.
사용자 참여자 만들기
사용자 참여자를 만들려면 Participant
리소스에서 create
메서드를 호출합니다. 대화 ID를 제공하고 role
필드에 END_USER
를 입력합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
- CONVERSATION_ID: 대화 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
JSON 요청 본문:
{ "role": "END_USER", }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
participants
다음의 경로 세그먼트에 새 사용자 참여자 ID가 있습니다.
상담사-참여자 만들기
Participant
리소스에서 create
메서드를 호출합니다. 대화 ID를 제공하고 role
필드에 HUMAN_AGENT
또는 AUTOMATED_AGENT
를 입력합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
- CONVERSATION_ID: 대화 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
JSON 요청 본문:
{ "role": "HUMAN_AGENT", }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
participants
다음의 경로 세그먼트에 새 상담사-참여자 ID가 있습니다.
메시지 분석
메시지를 분석하는 방법에는 두 가지가 있습니다.
대화 중 대화의 상담사 메시지를 추가하고 분석하려면
Participant
리소스에서analyzeContent
메서드를 호출합니다. 대화 ID 및 상담사 참여자 ID를 제공합니다. 대화의 사용자 메시지를 추가하고 분석하려면Participant
리소스에서analyzeContent
메서드를 호출합니다. 대화 ID 및 사용자 참여자 ID를 제공합니다. 다른 Dialogflow 기능에 대해 호출된analyzeContent
메서드를 중복으로 호출하지 마세요.대화 후 대화 중에
analyzeContent
메서드를 사용하지 않는 경우 이 옵션을 사용할 수 있습니다. 대신messages
리소스의batchCreate
메서드를 사용하여 대화의 이전 메시지를 처리할 수 있습니다.
요약 생성
언제든지 두 참여자 중 한 명의 최신 메시지에 대한 추천을 받을 수 있습니다.
conversations.suggestions
리소스에서suggestConversationSummary
메서드를 호출합니다. 대화 ID와 참여자의 최신 메시지 ID를 제공합니다.generateStatelessSuggestion
메서드를 호출합니다.ConversationContext
, 생성기 이름, 트리거 이벤트(MANUAL_CALL
여야 함)를 제공합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 클라우드 프로젝트 ID입니다.
- LOCATION_ID: 위치 ID
- GENERATOR_ID: 생성기 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
JSON 요청 본문:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "conversationContext" { "messageEntries": [{ "role": "HUMAN_AGENT", "text": "Hi, this is ABC messaging, how can I help you today?", "languageCode": "en-US" }, { "role": "END_USER", "text": "I want to return my order, it is broken", "languageCode": "en-US" }] }, "triggerEvents": [ "MANUAL_CALL" ] }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "generatorSuggestion": { "summarySuggestion": { "summarySections": [ { "section": "situation", "summary": "customer wants to return an order." }, { "section": "resolution", "summary": "N" } ] } } }
응답에 요약이 포함됩니다.
대화 완료
대화를 완료하려면 conversations
리소스에서 complete
메서드를 호출합니다. 대화 ID를 입력합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: GCP 프로젝트 ID
- CONVERSATION_ID: 대화를 만들 때 받은 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }