지식 커넥터

지식 커넥터는 정의한 인텐트를 보완하는 역할을 하며 자동 응답을 찾기 위해 문서(예: FAQ 또는 문서)를 파싱합니다. 지식 커넥터를 구성하려면 문서 집합 형태의 기술 자료를 하나 이상 정의해야 합니다. 에이전트를 위한 기술 자료를 사용 설정하면 모든 인텐트 감지 요청이 내 기술 자료를 사용하여 자동 응답을 찾도록 만들 수 있습니다. 또는 개별 인텐트 감지 요청별로 하나 이상의 기술 자료를 지정할 수도 있습니다.

지식 커넥터를 사용하는 에이전트는 일반적으로 정의한 인텐트도 사용합니다. 지식 커넥터는 인텐트보다 응답 정확도와 제어가 떨어집니다. 인텐트와 지식 커넥터를 둘 다 사용하는 경우 인텐트는 특수 처리 및 정확성이 필요한 복잡한 사용자 요청을 처리하도록 정의하고, 지식 커넥터로는 문서에서 자동으로 추출된 응답을 통해 단순한 요청을 처리하도록 만들어야 합니다. 자세히 설명하려는 FAQ 콘텐츠가 있는 경우 정의한 인텐트로 질문을 변환하면 직접 제어할 수 있습니다.

지원 언어 목록은 언어 페이지의 지식 커넥터 열을 참조하세요.

시작하기 전에

이 가이드를 읽기 전에 다음을 수행해야 합니다.

  1. Dialogflow 기본사항 읽기
  2. 설정 단계 수행

에이전트 만들기

이 가이드의 단계에서는 에이전트에 대한 가정을 하므로 새 에이전트로 시작하는 것이 좋습니다. 새 에이전트를 만들기 전에 프로젝트의 기존 에이전트를 삭제해야 합니다. 기존 에이전트를 삭제하려면 다음 안내를 따르세요.

  1. Dialogflow 콘솔로 이동합니다.
  2. 로그인 메시지가 표시되면 Dialogflow 콘솔에 로그인합니다. 자세한 내용은 Dialogflow 콘솔 개요를 참조하세요.
  3. 삭제할 에이전트를 선택합니다.
  4. 에이전트 이름 옆의 설정 설정 버튼을 클릭합니다.
  5. 아래로 스크롤하여 일반 설정 탭으로 이동합니다.
  6. 이 에이전트 삭제를 클릭합니다.
  7. 텍스트 필드에 DELETE를 입력합니다.
  8. 삭제를 클릭합니다.

에이전트를 만들려면 다음 안내를 따르세요.

  1. Dialogflow 콘솔로 이동합니다.
  2. 로그인 메시지가 표시되면 Dialogflow 콘솔에 로그인합니다. 자세한 내용은 Dialogflow 콘솔 개요를 참조하세요.
  3. 왼쪽 사이드바 메뉴에서 에이전트 만들기를 클릭합니다. 이미 다른 에이전트가 있는 경우 에이전트 이름을 클릭하고 아래로 스크롤하여 새 에이전트 만들기를 클릭합니다.
  4. 에이전트 이름, 기본 언어, 기본 시간대를 입력합니다.
  5. 프로젝트를 이미 만든 경우 해당 프로젝트를 입력합니다. Dialogflow 콘솔이 프로젝트를 만들 수 있게 하려면 새 Google 프로젝트 만들기를 선택하세요.
  6. 만들기 버튼을 클릭합니다.

베타 기능 사용 설정

베타 API를 사용 설정해야 할 수 있습니다.

  1. Dialogflow 콘솔로 이동합니다.
  2. 에이전트를 선택합니다.
  3. 에이전트 이름 옆의 설정 설정 버튼을 클릭합니다.
  4. 일반 탭에서 아래로 스크롤하여 베타 기능이 사용 설정되어 있는지 확인합니다.
  5. 변경을 마쳤으면 저장을 클릭합니다.

기술 자료 만들기

기술 자료는 사용자 요청에 대한 응답을 찾을 때 Dialogflow에서 사용할 문서 정보를 포함합니다. 아래 샘플에서는 Dialogflow 콘솔, REST API(명령줄 포함), 클라이언트 라이브러리를 사용하여 기술 자료를 만드는 방법을 보여줍니다. API를 사용하려면 KnowledgeBase 유형의 create 메서드를 호출합니다.

웹 UI

Dialogflow 콘솔을 사용하여 기술 자료를 만듭니다.

  1. Dialogflow 콘솔로 이동합니다.
  2. 에이전트를 선택합니다.
  3. 왼쪽 사이드바 메뉴에서 지식을 클릭합니다.
  4. 기술 자료 만들기를 클릭합니다.
  5. 기술 자료 이름을 입력합니다.
  6. 저장을 클릭합니다.

지식 커넥터의 왼쪽 패널 스크린샷

REST 및 명령줄

KnowledgeBase 유형의 create 메서드를 호출합니다.

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: GCP 프로젝트 ID
  • knowledge-base-display-name: 원하는 기술 자료 이름

HTTP 메서드 및 URL:

POST https://dialogflow.googleapis.com/v2beta1/projects/project-id/knowledgeBases

JSON 요청 본문:

{
  "displayName": "knowledge-base-display-name"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

기술 자료에 문서 추가

현재 새로 만든 기술 자료에는 문서가 없으므로 이 자료에 문서를 추가해 보겠습니다. 이 예에서는 Cloud Storage FAQ 문서를 사용합니다. FAQ 파서가 대부분의 FAQ 형식을 처리할 수 있으므로 어떤 FAQ 문서이든 사용할 수 있습니다. 지원되는 모든 콘텐츠 옵션에 대한 설명은 아래의 지원되는 콘텐츠를 참조하세요.

아래 샘플에서는 Dialogflow 콘솔, REST API(명령줄 포함), 클라이언트 라이브러리를 사용하여 지식 문서를 만드는 방법을 보여줍니다. API를 사용하려면 Document 유형의 create 메서드를 호출합니다.

웹 UI

Dialogflow 콘솔을 사용하여 지식 문서를 만듭니다.

  1. 위의 단계에 이어서 진행하는 것이 아니라면 기술 자료 설정으로 이동하세요.
    1. Dialogflow 콘솔로 이동합니다.
    2. 에이전트를 선택합니다.
    3. 왼쪽 사이드바 메뉴에서 지식을 클릭합니다.
    4. 기술 자료 이름을 클릭합니다.
  2. 새 문서 또는 첫 번째 문서 만들기를 클릭합니다.
  3. 문서 이름을 입력합니다.
  4. Mime 유형으로 text/html을 선택합니다.
  5. 지식 유형에 FAQ를 선택합니다.
  6. 데이터 소스에 URL을 선택합니다.
  7. URL 필드에 https://cloud.google.com/storage/docs/faq를 입력합니다.
  8. 만들기를 클릭합니다.

지식 커넥터의 새 문서 스크린샷

REST 및 명령줄

아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: GCP 프로젝트 ID
  • knowledge-base-id: 이전 요청에서 반환된 기술 자료 ID
  • document-display-name: 원하는 지식 문서 이름

HTTP 메서드 및 URL:

POST https://dialogflow.googleapis.com/v2beta1/projects/project-id/knowledgeBases/knowledge-base-id/documents

JSON 요청 본문:

{
  "displayName": "document-display-name",
  "mimeType": "text/html",
  "knowledgeTypes": "FAQ",
  "contentUri": "https://cloud.google.com/storage/docs/faq"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

지식 커넥터 설정

지식 커넥터 설정에 액세스하려면 다음 단계를 따르세요.

  1. Dialogflow 콘솔로 이동합니다.
  2. 에이전트를 선택합니다.
  3. 왼쪽 사이드바 메뉴에서 지식을 클릭합니다.

에이전트에 기술 자료를 하나 이상 사용 설정할 수 있습니다. 요청에서 특정 기술 자료를 지정하여 덮어쓰지 않으면 모든 인텐트 감지 요청에 사용 설정된 기술 자료가 사용됩니다. 설정에서 기술 자료를 선택하고 사용 설정 또는 사용 중지를 클릭하여 선택한 기술 자료를 사용 설정하거나 사용 중지하세요.

또한 기술 결과 환경설정 조정 값을 설정할 수도 있습니다. 이 값은 인텐트 감지 요청에 잠재적으로 일치하는 인텐트 및 기술 자료가 있는 경우 Dialogflow에서 사용됩니다. 인텐트 감지 응답을 참조하세요.

다양한 응답 및 통합

다양한 응답과 통합을 통해 지식 커넥터를 사용할 수 있습니다.

  1. 위의 단계에 이어서 진행하는 것이 아니라면 기술 자료 설정으로 이동하세요.
    1. Dialogflow 콘솔로 이동합니다.
    2. 에이전트를 선택합니다.
    3. 왼쪽 사이드바 메뉴에서 지식을 클릭합니다.
    4. 기술 자료 이름을 클릭합니다.
  2. 응답 섹션까지 아래로 스크롤하고 원하는 대로 응답을 추가합니다.
    1. 인텐트에 대한 첫 번째 응답을 정의할 때 질문과 답변을 제공하려는 곳에 $Knowledge.Question[1]$Knowledge.Answer[1]을 사용합니다.
    2. $Knowledge.Question$Knowledge.Answer의 색인은 1부터 시작하므로 응답을 추가할 때 이 색인 숫자를 늘립니다.
  3. 편집을 마쳤으면 저장을 클릭합니다.

응답을 정의할 때에는 다음과 같은 사항을 고려해야 합니다.

  • 정의된 응답의 수가 지식 커넥터 응답 일치 수인 N보다 크면 N개의 응답만 반환됩니다.
  • 명시적으로 정의한 인텐트 일치 항목보다 정확도가 낮을 수 있으므로 가능한 경우 사용자에게 응답을 3개 이상 제공하는 것이 좋습니다.

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

지식 커넥터 통합 스크린샷

기술 자료를 사용하여 인텐트 감지

인텐트 감지 요청을 수행할 때 가능한 응답에 기술 자료를 하나 이상 지정할 수 있습니다.

아래 샘플에서는 Dialogflow 콘솔, REST API(명령줄 포함), 클라이언트 라이브러리를 사용하여 인텐트를 감지하는 방법을 보여줍니다. API를 사용하려면 Sessions 유형의 detectIntent 메서드를 호출합니다.

웹 UI

Dialogflow 시뮬레이터를 통해 에이전트와 상호작용하고 지식 커넥터 응답을 제공받을 수 있습니다.

  1. 기술 자료를 사용 설정하려면 위의 단계를 따릅니다.
  2. 위의 단계에 따라 응답을 정의합니다.
  3. 시뮬레이터에 '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"]
 }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

인텐트 감지 응답

Sessions 유형 detectIntent 메서드의 응답은 DetectIntentResponse입니다. 응답 필드가 입력되는 방식은 여러 요인의 영향을 받습니다.

정의한 인텐트와 기술 자료에 모두 잠재적 일치 항목이 있는 경우 각 항목의 일치 신뢰도와 기술 결과 환경설정(지식 커넥터 설정 참조)을 사용하여 어떤 일치 항목을 선택할지 판단합니다. 선택된 일치 항목은 DetectIntentResponse.queryResult 필드에 입력되고 다른 잠재적 일치 항목은 DetectIntentResponse.alternativeQueryResults 필드에 입력됩니다. 두 필드 모두에 QueryResult 메시지가 포함됩니다.

기술 자료가 잠재적 일치 항목을 제공하는 경우:

  • 일치 신뢰도를 기준으로 내림차순으로 정렬된 잠재적 지식 답변 목록이 QueryResult.knowledgeAnswers에 입력됩니다.
  • 기술 자료에 다양한 응답이 정의된 경우 QueryResult.fulfillmentMessages에 다양한 응답 메시지가 입력됩니다.

인텐트 감지 요청을 수행하는 경우 지식 쿼리가 실패할 수 있습니다. 이 경우 전반적인 인텐트 감지 요청이 실패하지 않도록 정의한 인텐트가 선택됩니다. DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo 필드에서 지식 쿼리 오류 정보를 찾을 수 있습니다.

지원 콘텐츠

다음 표에는 지식 유형 및 소스별로 지원되는 MIME 유형이 나와 있습니다.

지식 유형 \ 소스 업로드된 파일(Document.content 권장하지 않음) 업로드된 파일(Document.raw_content 권장) Cloud Storage의 파일(Document.contentUri) 공개 URL의 파일(Document.contentUri)
FAQ text/csv text/csv text/csv text/html
기술 자료 문서 text/plain, text/html text/plain, text/html, application/pdf text/plain, text/html, application/pdf 해당 없음

문서 콘텐츠에는 다음과 같은 알려진 문제, 제한사항, 권장사항이 포함됩니다.

일반:

  • 공개 URL의 파일은 검색 색인에 존재할 수 있도록 Google 검색 색인 생성기가 크롤링한 것이어야 합니다. Google Search Console을 사용하여 이를 확인할 수 있습니다.
  • CSV 파일은 구분자로 쉼표를 사용해야 합니다.
  • Google에서는 현재 에이전트의 FAQ와 기술 자료 문서 중 하나의 사용을 지원하지만 두 개를 모두 지원하지는 않습니다. FAQ와 기술 자료 문서의 신뢰도 점수는 비교 보정을 거치지 않았으므로 FAQ와 기술 자료 문서를 모두 사용하는 경우 점수가 가장 높은 쪽이 항상 최선의 결과를 가져오는 것은 아닙니다.
  • Dialogflow는 응답을 생성할 때 콘텐츠에서 HTML 태그를 삭제합니다. 따라서 가능하다면 HTML 태그 사용을 지양하고 일반 텍스트를 사용하는 것이 가장 좋습니다.
  • Google 어시스턴트 응답에는 말풍선당 640자의 글자 수 제한이 적용되므로 Google 어시스턴트로 의사 소통할 때 길게 답변하면 잘리게 됩니다.
  • 최대 문서 크기는 버전 및 요금제에 따라 다릅니다.
    • Standard: 50MB
    • Essentials: 50MB
    • Plus: 무제한
  • Cloud Storage 파일을 사용할 때에는 공개 URI 또는 사용자 계정이나 서비스 계정에 액세스 권한이 있는 비공개 URI를 사용해야 합니다.

FAQ에만 해당되는 내용:

  • CSV의 첫 번째 열에 질문이 있어야 하고 두 번째 열에 헤더가 없는 답변이 있어야 합니다.
  • CSV가 가장 정확하게 파싱되므로 가능하다면 CSV를 사용하세요.
  • QA 조합이 하나만 있는 공용 HTML 콘텐츠는 지원되지 않습니다.
  • 문서 1개당 QA 조합 개수는 2,000개를 넘을 수 없습니다.
  • 답변이 다른 중복 질문은 지원되지 않습니다.

기술 자료 문서에만 해당되는 내용:

  • 기술 자료 문서는 현재 실험용으로 제공됩니다. 검색 또는 어시스턴트와 같은 Google 제품에서 체험과 테스트 과정을 거친 유사한 기술을 기반으로 합니다. Dialogflow에서 어떻게 작동하는지에 대한 의견을 보내주세요.
  • 콘텐츠의 텍스트가 조밀할 때 가장 좋은 결과가 나옵니다. 콘텐츠를 한 문장씩 여러 단락으로 나누지 마세요.
  • 표와 목록은 지원되지 않습니다.
  • 문서 1개당 단락 수는 2,000개를 넘을 수 없습니다.
  • 자료가 긴 경우(1,000단어 초과) 여러 개의 작은 자료로 나누어보세요. 자료가 여러 문제를 다루는 경우 개별 문제를 다루는 더 짧은 자료로 나눌 수 있습니다. 자료가 한 가지 문제만 다루는 경우 자료의 초점을 문제 설명에 맞추고 문제 해결을 간결하게 유지하세요.
  • 자료의 핵심 콘텐츠만 제공하는 것이 좋습니다(문제 설명 및 해결). 작성자 이름, 수정 내역, 관련 링크, 광고와 같은 부가적인 콘텐츠는 중요하지 않습니다.
  • 자료가 도움이 될 수 있는 문제에 대한 설명 또는 이 자료가 답변할 수 있는 샘플 쿼리를 포함 해보세요.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Dialogflow 문서
도움이 필요하시나요? 지원 페이지를 방문하세요.