데이터 스토어 에이전트 성능 개선

이 가이드에서는 데이터 스토어 에이전트의 성능을 모니터링하고 개선하기 위한 권장사항을 제공합니다.

에이전트의 성능 추적

에이전트 대화 기록을 모니터링하고 분석 도구를 사용하여 에이전트 통계를 확인할 수 있습니다.

셀프서비스 평가 실행

셀프서비스 평가를 실행하여 데이터 스토어 에이전트 품질을 평가하고 변경사항을 추천할 수 있습니다.

에이전트 응답 개선

테스트 중 일부 응답이 기대에 부합하지 않는 경우 다음을 수행하세요.

대화 여담 처리

최종 사용자가 대화 중에 명확한 질문을 할 수 있습니다. 예를 들어 신용카드 정보 수집 중에 CVV가 무엇인지 명확히 하고 싶을 수 있습니다. 이 경우 에이전트는 질문에 답하고 필요한 신용카드 정보 수집으로 돌아가야 합니다. 이를 위해 질문에 답변하는 데이터 스토어가 포함된 데이터 스토어 핸들러를 만들고 이 핸들러를 신용카드 정보 수집을 처리하는 흐름의 흐름 시작 페이지에 적용하고 이 핸들러가 '현재 페이지'로 돌아가도록 전환 대상을 설정할 수 있습니다.

원치 않는 인텐트 일치 처리

에이전트가 데이터 스토어 핸들러를 사용해야 할 때 인텐트가 일치하는 경우 다음을 시도하여 이를 수정할 수 있습니다.

  • 모호한 학습 문구를 삭제하거나 수정하여 모든 학습 문구가 원하는 인텐트를 정확하게 처리하고 데이터 스토어 콘텐츠와 충돌하지 않도록 합니다.
  • 인텐트 일치를 방지하려면 부정 예시를 사용하세요.

데이터 스토어 필터링

때로는 세션 매개변수 값에 따라 쿼리에 특정 데이터 스토어만 사용할 수 있습니다. 예를 들어 제품 카테고리에 고유한 데이터 스토어가 있을 수 있습니다. 제품 카테고리에 데이터 스토어 필터링을 수행하려면 다음 안내를 따르세요.

  • 세션 매개변수를 제품 카테고리로 설정합니다.
  • 세션 매개변수 값을 확인하고 원하는 데이터 스토어 핸들러가 있는 특정 페이지로 전환하는 조건 경로를 만듭니다.
  • 데이터 스토어 핸들러는 대화를 계속할 수 있도록 호출 페이지로 다시 전환해야 합니다.

맞춤설정

최종 사용자에게 보다 관련이 높은 생성형 답변을 만들려면 사용자 관련 정보를 Dialogflow에 제공할 수 있습니다.

이 정보는 JSON으로 제공됩니다. 예상 스키마가 없으므로 객체 속성을 자유롭게 정의할 수 있습니다. 이 JSON은 대규모 언어 모델에 있는 그대로 전송되므로, 설명적인 속성 이름과 값을 사용하는 것이 가장 좋은 결과로 이어집니다.

예를 들면 다음과 같습니다.

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}

Dialogflow API로 맞춤설정

인텐트 인식 요청을 전송할 때 이 데이터를 Dialogflow에 제공할 수 있습니다. 이 정보는 세션에 지속되지 않기 때문에 모든 인텐트 인식 요청에 제공되어야 합니다.

Sessions.detectIntent 메서드의 queryParams.endUserMetadata 필드에 이 정보를 제공합니다.

세션 참조의 프로토콜 및 버전을 선택합니다.

프로토콜 V3 V3beta1
REST 세션 리소스 세션 리소스
RPC 세션 인터페이스 세션 인터페이스
C++ SessionsClient 해당 사항 없음
C# SessionsClient 해당 사항 없음
Go SessionsClient 해당 사항 없음
자바 SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 없음 해당 사항 없음
Python SessionsClient SessionsClient
Ruby 없음 해당 사항 없음

Dialogflow 메신저로 맞춤설정

Dialogflow 메신저 통합에 이 데이터를 제공할 수 있습니다. setContext 메서드를 참조하세요.

검색 구성

에이전트 동작을 보다 효율적으로 제어하고 답변의 품질을 개선하기 위해 부스트 및 필터 검색 구성을 노출시켜 문서를 부스트, 숨기기, 필터링할 수 있습니다.

부스트 컨트롤을 사용하면 특정 문서에 부스트 값(순위가 높은 경우 0보다 큼, 순위가 낮은 경우 0보다 작음)을 적용하여 검색 결과 순위를 변경할 수 있습니다.

필터 컨트롤을 사용하면 지정된 필터 기준에 따라 검색 결과를 유지하거나 삭제할 수 있습니다.

이 정보는 Dialogflow 요청에 JSON으로 제공됩니다. JSON 형식은 검색 컨트롤 유형에 따라 다릅니다.

부스트 컨트롤

다음 검색 구성은 부스트 컨트롤을 설명합니다.

"searchConfig": {
  "boostSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "spec": [
        {
          "conditionBoostSpecs": {
            "condition": "CONDITION",
            "boost": "1.0"
          }
        }
      ]
    }
  ]
}

필터 컨트롤

다음 검색 구성은 필터 컨트롤을 설명합니다.

"searchConfig": {
  "filterSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "filter": "CONDITION"
    }
  ]
}

Dialogflow API로 검색 구성 설정

인텐트 인식 요청을 전송할 때 이 데이터를 Dialogflow에 제공할 수 있습니다. 이 정보는 세션에 지속되지 않기 때문에 모든 인텐트 인식 요청에 제공되어야 합니다.

Sessions.detectIntent 메서드의 queryParams.searchConfig 필드에 이 정보를 제공합니다.

세션 참조의 프로토콜 및 버전을 선택합니다.

프로토콜 V3 V3beta1
REST 세션 리소스 세션 리소스
RPC 세션 인터페이스 세션 인터페이스
C++ SessionsClient 해당 사항 없음
C# SessionsClient 해당 사항 없음
Go SessionsClient 해당 사항 없음
자바 SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 없음 해당 사항 없음
Python SessionsClient SessionsClient
Ruby 없음 해당 사항 없음

Dialogflow Messenger로 검색 구성 설정

Dialogflow 메신저 통합에 이 데이터를 제공할 수 있습니다.

검색 컨트롤을 적용하려면 웹 사이트에 DF 메신저 코드를 삽입할 때 다음 스니펫을 추가해야 합니다.

<script>
  document.addEventListener('df-messenger-loaded', () => {
    const dfMessenger = document.querySelector('df-messenger');
    const searchConfig = { ... }
    dfMessenger.setQueryParameters(searchConfig);
  });
</script>

setQueryParameters 메서드를 참조하세요.