이 가이드에서는 데이터 스토어 에이전트의 성능을 모니터링하고 개선하기 위한 권장사항을 제공합니다.
에이전트의 성능 추적
에이전트 대화 기록을 모니터링하고 분석 도구를 사용하여 에이전트 통계를 확인할 수 있습니다.
셀프서비스 평가 실행
셀프서비스 평가를 실행하여 데이터 스토어 에이전트 품질을 평가하고 변경사항을 추천할 수 있습니다.
에이전트 응답 개선
테스트 중 일부 응답이 기대에 부합하지 않는 경우 다음을 수행하세요.
- 특정 질문에 대한 FAQ 항목을 추가하여 답을 덮어쓸 수 있습니다.
- 구조화된 FAQ에서 품질이 낮은 답변이 표시되는 경우 구조화되지 않은 FAQ를 사용해 보세요.
- 검색 구성을 사용하면 정답을 제공하는 데 도움이 됩니다.
- 파싱 및 청크 구성을 사용하여 응답을 최적화하세요.
- 특정 문구를 금지하려면 에이전트 설정: 금지된 문구을 참조하세요.
- 책임감 있는 AI(RAI) 콘텐츠 필터링을 맞춤설정하려면 상담사 설정: 안전 필터를 참고하세요.
대화 여담 처리
최종 사용자가 대화 중에 명확한 질문을 할 수 있습니다. 예를 들어 신용카드 정보 수집 중에 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 메서드를 참조하세요.