지식 커넥터는 정의된 인텐트를 보완하며, 자동 응답을 찾도록 기술 문서(예: FAQ 또는 문서)를 파싱합니다. 지식 커넥터를 구성하려면 기술 문서 집합 형태의 기술 자료를 하나 이상 정의해야 합니다.
에이전트에 기술 자료를 사용 설정하면 모든 인텐트 감지 요청은 기술 자료를 사용하여 자동 응답을 찾을 수 있습니다. 또는 인텐트 감지 요청별로 기술 자료를 한 개 이상 지정할 수도 있습니다.
지식 커넥터를 사용하는 에이전트는 일반적으로 정의된 인텐트도 사용합니다. 지식 커넥터의 응답 정확도와 제어는 인텐트보다 낮습니다. 인텐트를 정의하여 복잡한 사용자 요청을 처리하고, 지식 커넥터는 단순한 요청을 처리하도록 해야 합니다.
지원되는 언어 목록은 언어 참조 페이지의 지식 커넥터 열을 참조하세요.
제한사항
지식 커넥터 기능은 global
리전에서만 사용할 수 있습니다.
베타 기능 사용 설정
베타 기능이 사용 설정되어 있는지 확인합니다.
- Dialogflow ES 콘솔로 이동합니다.
- 에이전트를 선택합니다.
- 에이전트 이름 옆에 있는 설정 settings 버튼을 클릭합니다.
- 일반 탭에서 아래로 스크롤하여 베타 기능이 사용 설정되어 있는지 확인합니다.
- 변경을 마쳤으면 저장을 클릭합니다.
기술 자료 및 문서 만들기
기술 자료 사용 방법의 안내에 따라 기술 자료 및 문서를 만듭니다.
지식 커넥터 설정
에이전트에 대한 기술 자료를 사용 설정 또는 사용 중지할 수 있습니다. 인텐트 일치 요청에 기술 자료를 지정하지 않은 경우 사용 설정한 기술 자료가 반영됩니다. 기술 자료를 사용 설정 또는 사용 중지하려면 다음 단계를 따르세요.
- Dialogflow ES 콘솔로 이동합니다.
- 에이전트를 선택합니다.
- 왼쪽 사이드바 메뉴에서 기술을 클릭합니다.
- 목록에서 기술 자료를 하나 이상 선택합니다.
- 사용 설정 또는 사용 중지를 클릭합니다.
최종 사용자 표현식이 인텐트와 일치하는 경우 기술 결과의 선호도를 지정할 수 있습니다.
- 기술 결과 환경설정 조정 섹션까지 아래로 스크롤합니다.
- 슬라이더를 약하게(인텐트에 대한 우선권)에서 강하게(기술에 대한 우선권)로 조정합니다. 자세한 내용은 아래의 인텐트 감지 응답을 참조하세요.
응답 구성
기본적으로 기술 자료는 가장 일치하는 기술 답변으로 채워진 단일 기본 텍스트 응답으로 구성됩니다. 이 응답을 변경하고 리치 응답 메시지를 추가할 수 있습니다. 기술 응답에는 기술 자료별로 최대 3개의 답변이 포함될 수 있고 구성된 응답에서 이러한 답변을 참조할 수 있습니다. 응답을 추가하려면 다음 안내를 따르세요.
- 기술 페이지에서 기술 자료 이름을 클릭합니다.
- 아래로 스크롤하여 응답 섹션으로 이동하고 원하는 대로 응답을 추가합니다.
- 첫 번째 응답을 정의할 때 질문과 답변을 지정하는
$Knowledge.Question[1]
과$Knowledge.Answer[1]
를 사용합니다. $Knowledge.Question
및$Knowledge.Answer
의 색인은 1부터 시작하므로 응답을 추가할 때 이 색인 숫자를 늘립니다.
- 첫 번째 응답을 정의할 때 질문과 답변을 지정하는
- 편집이 완료되었으면 저장을 클릭합니다.
응답을 정의할 때에는 다음과 같은 사항을 고려해야 합니다.
- 정의된 응답의 수가 지식 커넥터 응답 일치 수인 N보다 크면 N개의 응답만 반환됩니다.
- 명시적으로 정의된 인텐트 일치 항목보다 정확도가 낮을 수 있으므로 가능하다면 사용자에게 응답을 3개 제공하는 것이 좋습니다.
예를 들면 다음과 같습니다.
기술 자료를 사용하여 인텐트 감지
인텐트 감지 요청을 수행할 때 가능한 응답에 기술 자료를 하나 이상 지정할 수 있습니다. 요청에서 기술 자료를 명시적으로 제공하면 사용 설정 또는 사용 중지된 기술 자료에 대한 설정이 재정의됩니다.
아래 샘플에서는 Dialogflow 콘솔, REST API(명령줄 포함), 클라이언트 라이브러리를 사용하여 인텐트를 감지하는 방법을 보여줍니다.
API를 사용하려면 Sessions
유형의 detectIntent
메서드를 호출합니다.
웹 UI
Dialogflow 시뮬레이터를 통해 에이전트와 상호작용하고 지식 커넥터 응답을 받을 수 있습니다.- 기술 자료를 사용 설정하려면 위의 단계를 따릅니다.
- 위의 단계에 따라 응답을 정의합니다.
- 시뮬레이터에 'How do I sign up?'을 입력합니다.
REST
Sessions
유형의 detectIntent
메서드를 호출하고 queryParams
필드에 기술 자료를 지정합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: GCP 프로젝트 ID
- KNOWLEDGE_BASE_ID: 기술 자료 ID
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
JSON 요청 본문:
{ "queryInput": { "text": { "text": "How do I sign up?", "languageCode": "en-US" } }, "queryParams": { "knowledgeBaseNames": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"] } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ ... "queryResult": { "queryText": "How do I sign up?", "parameters": {}, "allRequiredParamsPresent": true, "fulfillmentText": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "intent": { "name": "projects/my-gcp-project/agent/intents/487c7242-a769-408a-a339-47b95e10dac4", "displayName": "Knowledge.KnowledgeBase.MzkzNTAyMDE3NDQxNDk3MDg4MA" }, "intentDetectionConfidence": 0.99371547, "languageCode": "en-us", "knowledgeAnswers": { "answers": [ { "answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "matchConfidenceLevel": "HIGH", "matchConfidence": 0.99371547 }, { "answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage and Cloud Bigtable).", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0012244871 }, { "answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0011537358 } ] } } }
Java
CTS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
CTS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
CTS에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
인텐트 응답 인식
Sessions
유형 detectIntent
메서드의 응답은 DetectIntentResponse
입니다.
응답 필드가 입력되는 방식은 여러 요인의 영향을 받습니다.
정의된 인텐트와 기술 자료에 모두 잠재적 일치 항목이 있는 경우 각 항목의 일치 신뢰도와 기술 결과 환경설정(지식 커넥터 설정 참조)을 사용하여 어떤 일치 항목을 선택할지 판단합니다.
선택된 일치 항목은 DetectIntentResponse.queryResult
필드에 입력되고 다른 잠재적 일치 항목은 DetectIntentResponse.alternativeQueryResults
필드에 입력됩니다.
두 필드 모두에 QueryResult
메시지가 포함됩니다.
기술 자료가 잠재적 일치 항목을 제공하는 경우:
- 일치 신뢰도를 기준으로 내림차순으로 정렬된 잠재적 지식 답변 목록이
QueryResult.knowledgeAnswers
에 입력됩니다. - 기술 자료에 리치 응답이 정의된 경우
QueryResult.fulfillmentMessages
에 리치 응답 메시지가 입력됩니다.
인텐트 감지 요청을 수행하는 경우 지식 쿼리가 실패할 수 있습니다.
이 경우 인텐트 감지 요청이 전체적으로 실패하지 않도록 정의된 인텐트가 선택됩니다.
DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
필드에서 지식 쿼리 오류 정보를 찾을 수 있습니다.
기술 자료 관리
기술 자료 관리에 대한 자세한 내용은 기술 자료 관리를 참조하세요.