| Studio Interface 목차 |
| 1. Explorer 2. Agents 3. Library 4. Hooks 5. Workflows 6. Variables 7. Knowledge Base 8. Tables 9. Nodes 10. Emulator 11. Inspector 12. Debugger, Logs & JSON 13. Botpress Hub 14. Keyboard Shortcuts 15. Chatbot Settings 16. Studio Preferences 17. Import & Export |

Botpress의 Knowledge Base(지식 베이스, 필요한 모든 지식을 일정한 format으로 정리·축적한 것, 지식 베이스는 제품, 서비스, 부서 또는 주제에 대한 정보를 담은 온라인 라이브러리(저장소)로 이해하시면 됩니다.)는 사용자가 조직의 지식을 관리하고 액세스할 수 있는 강력한 도구입니다.
이는 전통적인 Q&A 시스템을 대체하고 사용자가 PDF, 텍스트 문서, 웹사이트 URL을 포함한 다양한 정보 소스를 업로드할 수 있도록 설계되었습니다.
Botpress에서 Knowledge Base(지식 베이스) 기능을 사용하려면 Knowledge Base(지식 베이스) 에이전트를 활성화해야 합니다.
스튜디오 왼쪽 패널의 Explorer에서 Agent 탭을 클릭하세요 . 사용 가능한 에이전트 목록에서 Knowledge Base(지식 베이스) 에이전트를 찾을 수 있습니다 . Knowledge Base(지식 베이스) 에이전트를 활성화하려면 활성화 버튼을 클릭하십시오 .
파랑색 네모처럼 비활성화(회색)이면 클릭하여 활성화(검정색)으로 변경해주세요.


Configuration
Enable Agent(에이전트 활성화)
에이전트를 활성화하면 대화에 적극적으로 참여할 수 있습니다. 활성화되면 에이전트는 사용자 입력을 처리하고 응답을 생성하며 구성된 대로 작업을 수행합니다.(Enabling the agent allows it to actively participate in conversations. When enabled, the agent will process user input, generate responses, and take actions as configured.)
Configuration(구성)
시작 노드에 대한 응답(Answer on Start Node)
대화가 시작되면 챗봇이 질문에 답변합니다.(Your chatbot will answer questions when the conversation starts)
Answer Manually (advanced)(수동으로 답변(고급))
귀하의 챗봇은 자동으로 응답하지 않습니다. 이 옵션이 활성화되면 {{turn.KnowledgeAgent.answer}}를 사용하여 사용 자에게 수동으로 회신해야 합니다. 이는 Say 노드, 캡처 카드 또는 후크(고급)를 사용하여 수행할 수 있습니다.(Your chatbot will not answer automatically. When this option is enabled, you need to manually reply to the user with {{turn.KnowledgeAgent.answer}}. This can be done with a Say node, on a Capture Card or with a Hook (advanced).)
Provide Context to KBS(KB에 컨텍스트 제공)
컨텍스트를 제공하면 지식 기반이 더 나은 답변을 제공하는 데 도움이 됩니다. 요약 에이전트가 제공한 대화 내용 및/또는 대화 요약 을 포함하는 것이 좋습니다.(Providing context helps knowledge bases give better answers. We recommend including the transcript of the conversation and/or the summary of the conversation provided by the Summary Agent.)
대화 요약:(Summary of the conversation:)
{{conversation.SummaryAgent.summary}}
(구술된 내용을) 글로 옮긴 기록[인쇄/전사한 것]:(Transcript:)
{{conversation.SummaryAgent.transcript}}
Exposed Variables(노출된 변수)
Tt {{turn.KnowledgeAgent.answer}}
[…] {{turn.KnowledgeAgent.citations}}
Reset to default values(기본값으로 재설정)
{{turn.KnowledgeAgent.citations}}
About
검색되는 기술 자료는 현재 워크플로와 동일한 폴더 또 는 상위 폴더에 있는 기술 자료입니다. 에이전트는 사용자가 질문하고 챗봇이 시작 노드에 있거나 워크플로가 지식 베이스가 활성화된 노드 내부의 캡처 카드에 있는 경우에만 응답합니다. 노드에서 기술 자료를 활성화하 려면 워크플로 편집기에서 노드를 클릭한 다음 오른쪽 검사기 패널에서 “기술 자료” 옵션을 활성화합니다.

Knowledge Base(지식 베이스)를 생성하려면 스튜디오 왼쪽 패널의 탐색기에서 Add Knowledge Base (Knowledge Base(지식 베이스) 추가) 아이콘을 클릭하세요 . 원하는 대로 폴더를 만들고 지식 기반을 구성할 수 있습니다.
Botpress에서 지식 베이스를 생성할 때, 지식 베이스의 내용과 여기에 포함된 정보의 종류를 설명하는 간략한 설명을 제공하는 것이 중요합니다.
이를 통해 시스템은 예상되는 질문 유형을 이해하고 사용자에게 올바른 답변을 찾을 수 있는 더 나은 기회를 제공합니다.
당신이 냉장고, 세탁기, 오븐 등 다양한 종류의 가전제품을 판매하는 회사에서 근무한다고 가정해 보겠습니다. Botpress에서 Knowledge Base(지식 베이스)를 생성하면 고객 지원 팀이 이러한 제품에 대한 일반적인 질문에 대한 정보와 답변을 빠르게 찾을 수 있습니다.
Knowledge Base(지식 베이스)를 만들 때 Knowledge Base(지식 베이스)의 목적과 범위를 간략하게 설명하는 설명을 제공합니다.
예를 들어, “이 Knowledge Base(지식 베이스)는 문제 해결 팁, 사용자 설명서 및 자주 묻는 질문을 포함하여 가전 제품 라인에 대한 정보와 지원을 제공합니다.”
이 설명은 NLU 엔진(자연어 이해(Natural Language Understanding)를 수행하는 소프트웨어)이 Knowledge Base(지식 베이스)의 초점을 이해하고 관련 정보 소스를 식별하여 “세탁기 필터를 어떻게 청소합니까?”와 같은 고객 질문에 답변하는 데 도움이 됩니다. 또는 “오븐이 제대로 가열되지 않으면 어떻게 해야 하나요?”
Knowledge Base(지식 베이스)와 workflow는 폴더를 만들고 이 폴더들은 도서관의 책들을 정리하듯 계층적 구조를 갖도록 만들어두면 활용하기 쉽고 이용자가 쉽게 이해할 수 있습니다.


문서 KB(Knowledge Base, 지식 베이스) 소스를 사용하면 사용자는 PDF , HTML 파일, TXT 파일, DOC 파일 및 DOCX 파일 을 포함한 다양한 파일 형식을 업로드할 수 있습니다 . 이 기능을 통해 사용자는 매뉴얼, 가이드, 보고서 등과 같은 다양한 유형의 문서를 통합하여 포괄적인 Knowledge Base(지식 베이스)를 생성할 수 있습니다.
회사가 의료 장비를 다루는 시나리오를 고려해 보겠습니다. 조직의 지원팀은 제품 사용 및 유지 관리에 대한 문의를 자주 접합니다. 이 문제를 해결하기 위해 그들은 Botpress의 문서 지식 소스를 활용하여 고객이 관련 정보에 쉽게 액세스할 수 있도록 하기로 결정했습니다.
이 기능을 사용하여 팀은 문제 해결 단계가 포함된 PDF 설명서 , HTML 가이드 및 TXT 문서 등 의료 장비와 관련된 다양한 파일을 업로드합니다 . 이러한 문서를 “제품 설명서” , “문제 해결 가이드” 및 “사용 지침” 과 같은 적절한 카테고리로 구성하여 고객이 필요한 정보를 신속하게 찾을 수 있도록 합니다.
예를 들어, 사용자가 “XYZ 장치를 교정하는 방법”을 검색하면 Botpress는 업로드된 문서를 검색하고 Knowledge Base(지식 베이스)에서 관련 지침을 반환합니다.
파일 제한 : 지식 베이스에 최대 100개의 문서를 업로드할 수 있으며 문서당 크기는 50MB 로 제한됩니다.(최대 5,000Mb=5Gbyte) 이 기능은 최적의 활용을 위해 설계되었습니다.
www.seenbuy.kr을 Adobe Acrobat 9 Pro로 다운로드해보았습니다.
url로는 5 페이지, pdf로는 60페이지의 용량이 2Mbyte(2,102kbyte) 나옵니다.
이 자료를 기준으로 최대 5,000Mb=5Gbyte를 상한선으로 역산하면 ‘url로는 125 페이지, pdf 페이지로는 1,500 페이지, 50Mbyte’이하로 어도비 아크로벳을 이용하여 다운로드를 받아야 합니다.
또한 100개의 문서를 욜릴 수 있으므로 최대 ‘url로는 12,500 페이지, pdf 페이지로는 150,000 페이지, 50Mbyte=5Gbyte’를 올릴 수 있습니다.
어도비 아크로뱃(Adobe Acrobat) 버전별 전체 웹사이트 다운로드 방법
Adobe Acrobat의 버전별 출시일은 다음과 같습니다. 저희는 Adobe Acrobat 9 Pro을 가지고 있는데 이 상품부터 되므로 Adobe Acrobat 9 Pro이후의 모든 버전들이 메뉴들이 약간 차이가 있을 뿐 전체 웹페이지를 가져오는 기능을 가지고 있으니 활용해주세요.
| 버전 | 출시일 |
|---|---|
| Adobe Acrobat 9 Pro | 2008년 10월 23일 |
| Adobe Acrobat X Pro | 2010년 10월 25일 |
| Adobe Acrobat XI Pro | 2012년 10월 24일 |
| Adobe Acrobat DC | 2015년 6월 16일 |
| Adobe Acrobat DC 2017 | 2017년 10월 3일 |
| Adobe Acrobat DC 2018 | 2018년 5월 21일 |
| Adobe Acrobat DC 2019 | 2019년 5월 20일 |
| Adobe Acrobat DC 2020 | 2020년 5월 20일 |
| Adobe Acrobat DC 2021 | 2021년 5월 20일 |
| Adobe Acrobat DC 2022 | 2022년 5월 20일 |
Windows, Mac, iOS, Android 등 다양한 플랫폼에서 사용할 수 있습니다.
이 상품은 저희 회사에 가지고 있는 버전이라 정리하였습니다.
copy114.kr을 4레벨까지 캡처하니 내용은 대부분은 상품에 관한 것이고 pdf 파일로 620페이지가 생성되었고 용량은 21,980KByte입니다.
‘메모리가 부족합니다.’라고 나옵니다. 프로그램 메모리 부족입니다. 아크로뱃 닫고 다시 시도하셔야 합니다.
다운로드하는 방법을 마저 정리해주세요. [파일] -> [PDF 작성] -> [웹페이지에서]

pdf file로 만들 웹사이트 주소를 넣어주시고 [다중 레벨 캡처]를 선택해줍니다.
(참고 : [찾아보기]는 로컬 PC에 있는 html 웹 페이지 파일을 열어서 pdf로 만들때 사용합니다. )

전체 사이트 가져오기(E)를 하는 경우에는 분홍색 네모를 선택하시면 되고, 웹사이트의 용량이 큰 경우에는 좌측 파랑색 네모를 선택하시어 레벨을 설정하시면 됩니다. 크롤링 중 어려운 부분은 파싱인데, 파싱을 잘 하여 웹페이지url별로 pad file을 잘 만들어주어 만족스럽습니다. 용량이 큰 페이지가 많은 웹사이트의 경우에는 용량이 크므로 다운로드가 느려진다는 점은 감내해햐할 것 같습니다.

언젠가는 전체 웹사이트를 인쇄하거나 메모를 위해 다른 사람에게 이메일로 보내야 할 수도 있습니다. 기존 방식은 각 페이지를 하나씩 인쇄하고 모든 링크를 얻었기를 바라는 것이었습니다. 그러나 Adobe Acrobat Pro DC를 사용하면 더 좋은 방법이 있습니다.( 출처 : How to Make a PDF of an Entire Website )
참고: 무료 Acrobat Reader에서는 작동하지 않습니다. 그리고 Acrobat은 로그인이 필요한 웹 사이트에서 PDF를 만들 수 없습니다.

( 이미지 출처 : How to Make a PDF of an Entire Website )

( 이미지 출처 : How to Make a PDF of an Entire Website )
Adobe Acrobat 플랜 및 가격( https://www.adobe.com/kr/acrobat/pricing.html?promoid=DZTH12D8&mv=other )에서 pro를 구입하셔야 합니다.


웹 페이지 KB(Knowledge Base 지식 베이스) 소스를 사용하면 사용자가 웹 사이트 URL을 Knowledge Base(지식 베이스)에 업로드할 수 있습니다. 이 기능을 통해 사용자는 기사, 블로그 게시물, 온라인 포럼 등 다양한 유형의 웹 콘텐츠를 통합하여 포괄적인 Knowledge Base(지식 베이스)를 생성할 수 있습니다.
XML-Sitemaps.com(https://www.xml-sitemaps.com) 와 Online XML sitemap Generator(https://www.web-site-map.com/) 같은 온라인 사이트맵 생성기로 사이트맵을 만들어 보세요. 사이트맵이 잘 만들어지면 해당 도메인은 Add from URLs(URL에서 추가)으로 Knowledge Base(지식 베이스)를 만들 수 있습니다.
Knowledge Base(지식 베이스)에 웹 페이지를 추가하려면 URL에서 추가 필드에 URL(한 줄에 하나의 URL)을 입력하기만 하면 됩니다. Botpress는 자동으로 웹 페이지에서 콘텐츠를 검색하여 Knowledge Base(지식 베이스)에 추가합니다. Knowledge Base(지식 베이스)에 추가가 잘 되면 해당 소스를 클릭하면 아래와 같은 text들이 보입니다. 이미지와 동영상은 이미지와 동영상이 있는 url 경로만 표시되고 텍스트만 추출하였음을 알 수 있습니다. (이미지와 동영상이 있는 url 경로까지 크롤링하여 Knowledge Base(지식 베이스) 소스로 활용하는 것 같지는 않습니다.)


| 도메인 | 사이트빌더 | 언어 | Add from URL(s) | Add from Sitemap | 원인 또는 후속조치 |
| ear114.net, kpco.kr | 워드프레스 | 한국어 | O | X(Google XML Sitemaps 플러그인 문제), O(일부는 Knowledgd Base에 Add from URL(s) 로 가능합니다.) | https://www.ear114.net/sitemap_index.xml은 바로 크롤링됩니다.(크롤링을 완료할때까지는 yoast sitemap를 비활성화하면 안됩니다.) kpco.kr은 yoast sitemap을 활성화하면 치명적인 에러가 나와 실험해보지 못함. |
| seenbuy.kr, copy114.kr | 워드프레스 | 한국어 | X | X | |
| ahrefs.com(Ahref) | 워드프레스 | 영어 | O(예 : https://ahrefs.com/blog/content-briefs/) | ||
| 워드프레스 정보꾸러미 | 워드프레스 | 한국어 | O | sitemap_index.xml은 file이 없어 Add from Sitemap를 test하지 못 함. | |
| marketology.co.kr(마켓톨로지) | 한국어 | O | O(https://marketology.co.kr/sitemap_index.xml : sitemap_index.xml) | yoast로 만들어진 사이트맵 | |
| wordpress.com(워드프레스) | 영어 | O | X(https://wordpress.com/sitemap.xml) | jetpack으로 만들어졌는데 Add from Sitemap으로 못 가져옴. |
seenbuy.kr, copy114.kr 에서 Add from URL(s) 작동하지 않는 문제 찾기
seenbuy.kr, copy114.kr 처럼 Add from URL(s) 시도시 No text could be extracted 에러가 발생하는 것에 대한 해결 방법 : HTTrack
이 방법은 궁극의 Botpress의 Knowledge Base(지식 베이스) 소스 추가 방법입니다.
어도비 아크로뱃보다 훨씬 빠릅니다.
아래의 게시글을 참조하여 웹사이트 전체를 다운로드합니다.
대부분은 다운르도가 첫페이지부터 잘 되는데, 혹시 첫페이지의 다운로드에 실패하면 첫페이지는 크롬에서 [다른 이름 저장]한후 html file로 저장한 후 이 html file을 [Documents(서류)]로 추가해주시고 루트 디렉토리 바로 밑의 서브 디렉토리별로 다운로드해줍니다.
https://www.copy114.kr/blog/category/as공유/ 를 다운로드한 경우, 컴퓨터에 ‘D:\Documents\copy114-download-httrack\new\www.copy114.kr\blog\category\as공유’ 같이 저장됩니다.
카테고리별로 계층적으로 다수의 index페이지가 만들어집니다. 제가 다운로드한 부분은 D:\Documents\copy114-download-httrack\new\www.copy114.kr\blog\category\as공유\이하입니다. 윈도우 검색기에서 D:\Documents\copy114-download-httrack\new\www.copy114.kr\blog\category\as공유\ 경로로 이동한후 검색 명령을 *.html로 주고 검색결과가 나오면 이름으로 정렬하고 (shift 와 마우스를 이용하여 일괄 선택하거나 contol(Ctrl)와 마우스를 이용하여 건건히 선택하는 방식으로) 모든 index.html file를 선택한후 [Documents(서류)]로 추가해주시면 됩니다.

Add from URLs(URL에서 추가)이 안되면 Add from Site Map(사이트 맵에서 추가)도 안 됩니다. 이 경우, 어도비 아크로뱃으로 pdf file을 만들어 올리는 방법밖에 없습니다.
개별 url들을 Add from URLs(URL에서 추가)로 가져오기 해보아서 잘 되면 XML-Sitemaps.com(https://www.xml-sitemaps.com) 와 Online XML sitemap Generator(https://www.web-site-map.com/) 같은 온라인 사이트맵 생성기로 사이트맵을 만들어서 제출하면 편리합니다. 온라인 사이트맵 생성기는 사이트빌더와 상관없이 작동한다는 점이 큰 장점입니다. 한계는 무료 버전 이용시, 보통 500개 정도의 url만 사이트맵을 만들 수 있습니다.
특정 사이트의 사이트맵 주소를 알 수 없는 경우, 구글 검색명령어 중 site 명령어와 구글 확장 프로그램인 Link Klipper – Extract all links 로 [Extract All Links]클릭하여 다운로드하면 사이트맵 전체를 쉽게 확보할 수 있습니다. 구글 색인이 잘 되어 있다면, 이 방법이 아래의 Sitemap.xml 제작 도구들을 활용하는 것보다 더 쉽습니다. ‘
구글 검색명령어 중 site 명령어(예, ‘site:www.abc.com’)로 검색하고 이 검색결과를 구글 확장 프로그램인 Link Klipper – Extract all links 로 [Extract All Links]클릭하여 다운로드한 후 다운로드한 .xml file를 열어 추출한 모든 url를 복사한후, [Add from URLs(URL)]에붙여넣기 해주세요.
사이트 맵 URL을 입력하여 Knowledge Base(지식 베이스)에 여러 웹 페이지를 추가할 수도 있습니다 . sitemap 파일에는 Knowledge Base(지식 베이스)에 추가하려는 URL 목록이 포함되어 있습니다. Botpress는 자동으로 이러한 웹 페이지의 콘텐츠를 검색하여 Knowledge Base(지식 베이스)에 추가합니다.

Could not fetch sitemap : There are errors in your xml file: not well-formed(invalid toket) ( Status Code : 400) 라는 에러가 나옵니다. 또한 Knowledge Base(지식 베이스)로 추가가 되지 않습니다. 전부다 이런 에러가 발생하지는 않고 일부는 추가되고 일부는 추가되지 않습니다.
이 에러의 원인은 워드프레스가 아닙니다. yoast 플러그인으로 만든, sitemap_index.xml 형식의 sitemap은 botpress에서 잘 가져옵니다. 워드프레스외에 사이트빌더로 만들어진 사이트들의 sitemap들은 어떤 하지(Add from Site Map(사이트 맵에서 추가)가 잘 되는지)는 나중에 업데이트하겠습니다.(참고로, 워드프레스외에 사이트빌더들의 사이트맵 url 주소를 찾는 것이 쉽지 않습니다.)
저는 워드프레스에서 Google XML Sitemaps plugin 으로 사이트맵을 작성하는데 Google XML Sitemaps plugin 으로 생성된 이 사이트맵은 사이트맵 루트에
https://www.abc.com/sitemap-misc.xml(misc용 사이트맵)
https://www.abc.com/sitemap-tax-post_tag.xml(tag용 사이트맵)
https://www.abc.com/sitemap-tax-category.xml(category용 사이트맵)
https://www.abc.com/sitemap-pt-page-2016-05.xml(page용 사이트맵)
https://www.abc.com/sitemap-authors.xml(authors용 사이트맵)
https://www.abc.com/sitemap-archives.xml(archives용 사이트맵)
와 같은 사이트맵을 생성하는데, 이들 사이트맵들이 생성됩니다.
botpress는 이들 상위사이트맵들의 하위 사이트맵들을 알아서 url로 추가해주는 점은 바람직합니다. 그렇다고 해서 이들 사이트맵들을 그대로 붙여넣기 하시면 안됩니다. 아래의 사이트맵들은 CMS라는 워드프레스 특성상 생성된 것들로 Knowledge Base에 추가하기에 부적당하므로 꼭 빼주세요. 이렇게 하시면 boetpress의 Knowledge Base rescource에서 수많은 misc, tag, category, archives에 해당하는 페이지들을 일일이 삭제하는 문제에 직면할 수 있습니다.
https://www.abc.com/sitemap-misc.xml(misc용 사이트맵)
https://www.abc.com/sitemap-tax-post_tag.xml(tag용 사이트맵)
https://www.abc.com/sitemap-tax-category.xml(category용 사이트맵)
https://www.abc.com/sitemap-archives.xml(archives용 사이트맵)
또한 https://www.abc.com/sitemap-tax-category.xml(category용 사이트맵) 와 https://www.abc.com/sitemap-pt-page-2016-05.xml(page용 사이트맵)의 하위 사이트맵에 들어가 있는 내용과 https://www.abc.com/sitemap-authors.xml(authors용 사이트맵)의 하위사이트맵에 들어가 있는 내용은 중복됩니다.
따라서 https://www.abc.com/sitemap-tax-category.xml(category용 사이트맵) 와 https://www.abc.com/sitemap-pt-page-2016-05.xml(page용 사이트맵) 또는 https://www.abc.com/sitemap-authors.xml(authors용 사이트맵)만 Add from URLs(URL에서 추가)로 가져오기하여 추가하는데, authors용 사이트맵인 https://www.abc.com/sitemap-authors.xml들을 추가하면 page 내용이 빠질 수 있으므로 https://www.abc.com/sitemap-tax-category.xml(category용 사이트맵) 와 https://www.abc.com/sitemap-pt-page-2016-05.xml(page용 사이트맵)들 또는 https://www.abc.com/sitemap-authors.xml(authors용 사이트맵)들만 Add from URLs(URL에서 추가)로 가져오기하여 주세요.
활용 Tip
웹사이트의 컨텐츠가 부족한 경우 또는 챗봇 의뢰인이 Documents(서류)를 줄 수 없는 경우에 wiki백과를 활용하면 상당한 수준의 스마트한 챗봇을 만들 수 있습니다. (참고로, 한국어 위키백과인 나무위키도 있으나 나무위키는 Topical Relevance(Google에서 높은 순위를 차지하는 데 도움이 되는 주제와 관련된 키워드를 찾는 완벽한 솔루션)을 이용하여 지식의 근원이 되는 웹페이지를 찾아내기 어렵습니다.)
구글 지식패널(지식그래프)가 그러하듯, 어차피 지식의 근원은 wiki백과입니다. Topical Relevance(Google에서 높은 순위를 차지하는 데 도움이 되는 주제와 관련된 키워드를 찾는 완벽한 솔루션) 을 이용하여 Frequency와 Relevance에 있는 검색어 중 적당하다고 판단되는 검색어를 찾습니다.
예를들면, Topical Relevance에서 ‘검색엔진최적화’로 data를 얻으니 ‘검색엔진최적화, google, 검색엔진, 구글, 네이버,태그, 링크, 백링크’등이 보입니다.
아래와 같은 sameAs들이 보일 것입니다.
{“@type”: “Thing”, “name”: “검색엔진최적화”, “sameAs”: [“https://ko.wikipedia.org/wiki/검색엔진최적화”,
“https://www.google.com/search?q=검색엔진최적화&kgmid=/m/019qb_”]},
‘https://ko.wikipedia.org/wiki/검색엔진최적화’가 검색 엔진 최적화에 해당하는 위키백과의 url 주소이므로 이것을 copy하여 Web Pages(웹페이지)로 추가해주시면 됩니다.
Topical Relevance 활용법은 아래의 게시글을 참조해주세요.
Google 검색 결과 페이지는 의미 수없이 많은 전세계 검색자들이 수십년간 키워드 검색 또는 자연어 검색을 했을때 검색 결과의 순서를 변경하며 검색자들에게 보여준후, 검색자들로부터 정답을 품고 있는 페이지 링크라고 선택을 받은 페이지들입니다.
검색 결과 품질을 최대한으로 올려 놓은 모범이 되는 검색결과페이지들이므로 AI의 지식 베이스로 매우 우수합니다.
Link Klipper – Extract all links 크롬 확장프로그램을 이용하고 있습니다.

[CTRL]와 우측 마우스를 이용하면 원하는 부분만 링크를 축출할 수 있습니다. 참고로, 다른 URL extractor를 이전에 설치했던 경우에는 [CTRL]와 우측 마우스로 선택하는 것이 안 되는 경우가 있습니다.

참고 : youtube 동영상은 botpress에서 Knowlege base로 추가할 수 없습니다. 유튜브 채널의 동영상들은 link klipper로 다운로드하면 https://www.youtube.com/watch?v=s8gjtGp0q08 형식의 모든 동영상 url을 다운로드 할 수 있습니다. 그러나 이 url들을 Add from URLs(URL에서 추가)으로 추가하면 ‘Title: YouTube is not currently available on this device. Description: To learn more, please visit the YouTube Help Center: https://www.youtube.com/help Publish Date: 2017-09-12T16:43:00.000Z’와 같은 메세지가 나오면서 추가할 수 없다고 나옵니다.

‘2. 웹페이지’가 특정 url이라면 ‘3. 웹검색’은 (도메인별) 웹사이트 검색이라고 이해하면 쉽습니다.
웹 검색 Knowledge Base(지식 베이스) 소스를 사용할 때 검색에 포함하거나 제외할 웹사이트를 지정할 수 있습니다. 이를 통해 특정 요구 사항에 맞게 검색을 사용자 정의할 수 있습니다. 고려할 수 있는 세 가지 옵션은 다음과 같습니다.
Machine Learning이 되어 있지 않은 AI는 말은 배웠으나 아직 특정 분야에 대한 학습을 하지 않은 상태입니다.
이를 극복하고 LLM개발에서 자주 제안되어지는 것이 검색 증강 LLM(retrieval-augmented LLM)와 미세조정(Fine-Tuning)입니다.
검색 증강 LLM(retrieval-augmented LLM)을 기반이 되는 것은 역시 google.com등과 같은 검색 포털이므로 검색엔진을 Search on specific websites(특정 웹사이트에서 검색)에 넣어주세요. 그리고 지식그래프의 원천인 wikipedia(https://ko.wikipedia.org/)와 대표적인 faq 커뮤니티인 쿼라 (Quora, https://www.quora.com/), 레딧(Reddit, Reddit) 등을 넣어주시는 것을 권합니다. 쿼라와 레딧은 한국어 컨텐츠가 부족해 효과를 발휘할지 모르겠으나 AI가 다국어 학습이 잘 된다면 작동할 것 입니다.
웹 검색 Knowledge Base(지식 베이스) 소스를 활용하면 특정 기간을 기준으로 검색 결과를 필터링하여 검색 기능을 더욱 향상시킬 수 있습니다. 이 기능을 사용하면 결과 범위를 좁혀 Knowledge Base(지식 베이스)에 대한 가장 관련성이 높은 최신 정보를 얻을 수 있습니다.
웹 검색 기능을 향상하고 기간별로 검색 결과를 필터링하려면 다음 옵션을 활용할 수 있습니다.
이러한 옵션을 활용하면 웹 검색 기간을 맞춤화하고 검색 결과가 Knowledge Base(지식 베이스) 요구 사항에 부합하는지 확인할 수 있습니다. 실시간 업데이트를 선호하든, 보다 광범위한 최신 정보를 선호하든 이러한 옵션을 사용하면 이에 따라 검색 결과를 세분화하는 데 도움이 됩니다.
텍스트 문서 KB 소스를 사용하면 사용자는 FAQ, 가이드, 매뉴얼과 같은 일반 텍스트 정보를 생성/추가할 수 있습니다. 이 지식 베이스는 Botpress의 이전 Q&A 시스템을 대체하며 사용자가 다양한 주제에 대한 정보에 빠르게 액세스할 수 있도록 설계되었습니다.
다음은 냉장고 , 세탁기 , 오븐 등 다양한 유형의 가전제품을 판매하는 회사에서 텍스트 문서 Knowledge Base(지식 베이스)를 사용할 수 있는 방법에 대한 예입니다 .
이 회사의 고객 지원 팀이 자사 제품의 일반적인 문제를 해결하는 방법에 대한 많은 질문을 받았다고 가정해 보겠습니다. 팀은 이 정보에 빠르고 쉽게 액세스할 수 있도록 Botpress에 Knowledge Base(지식 베이스)를 만들기로 결정했습니다.
팀에서는 텍스트 문서 Knowledge Base(지식 베이스)를 사용하여 각 제품 유형에 대한 문제 해결 팁이 포함된 일련의 텍스트 문서 문서를 만듭니다. 이러한 문서는 제목(예: “냉장고”, “세탁기”, “오븐”)별로 정리하고 일반적인 문제에 대한 설명(예: “냉각 안 됨”, “회전하지 않음”, “가열되지 않음”)을 추가합니다.
따라서 사용자가 냉장고가 냉각되지 않는 등의 특정 문제를 검색하면 Botpress의 NLU(자연어 이해) 기능이 텍스트 문서 Knowledge Base(지식 베이스)에서 관련 응답을 검색하여 사용자에게 필요한 문제 해결 정보를 제공합니다.
테이블은 table이 미리 만들어져 있어야 지식 베이스로 이용할 수 있습니다. 아래의 table부분을 먼저 살펴보세요.

데이터 테이블을 지식 기반에 연결하면 사용자가 직접 정보를 검색할 수 있습니다. 이는 데이터를 검색하는 간단하고 사용자 친화적인 방법을 제공하므로 방대한 데이터 세트에 특히 유용할 수 있습니다.
이익
테이블을 지식 기반에 통합함으로써 최종 사용자는 테이블 데이터에서 바로 정보를 쉽게 요청하고 받을 수 있습니다. 봇 빌더로서 귀하는 Botpress에서 이를 쉽게 구현할 수 있다는 점을 높이 평가할 것입니다.
요구사항
계속하기 전에 다음 사항을 확인하세요.
Searchable 속성을 가지고 있는 데이터 테이블에서 하나 이상의 열을 속성으로 표시하세요.(Mark at least one column in your data table with a Searchable property.)Table, and select the table that will be utilized for this feature.)이 Searchable속성은 열을 생성하는 동안 또는 나중에 열을 마우스 오른쪽 버튼으로 클릭하고 “편집”을 선택한 다음 Searchable을 전환하여 활성화할 수 있습니다.(The Searchable property can be enabled either during the creation of a column or later on by right-clicking the column, selecting “Edit”, and toggling on Searchable.)
파랑색 네모를 클릭하면 분홍색 네모가 보여지는데 아래의 Searchable을 사용함으로 클릭하시면 됩니다.

사용예
정리된 데이터 테이블이 있는 경우 사용자는 다음과 같은 질문을 할 수 있습니다.
예를 들어 의자 e-숍을 운영하는 경우 사용자는 다음과 같은 질문을 통해 제품 정보를 얻을 수 있습니다.
수동 응답 옵션
답변을 보내기 전에 검토하고 선별하려면 Knowledge Agent에서 “Answer Manually(수동으로 답변)” 옵션을 켜면 됩니다.
제한 사항
‘[제품/항목/행]’ 유형([products / items / rows]”-type)의 질문에는 이 기능이 정확한 개수를 제공하지 못할 수 있다는 점에 유의하세요. 내부적으로 지식 베이스는 답변을 제공하기 전에 검색을 실행하며, 모든 결과가 반환되지는 않으므로 실제 개수는 다를 수 있습니다.
Botpress의 Knowledge Base(지식 베이스)기능은 사용자에게 다양한 주제에 대한 정보에 빠르게 액세스할 수 있도록 설계되었습니다. 그러나 지식 베이스에 저장할 수 있는 정보의 양은 저장 할당량에 따라 제한됩니다.
저장 할당량은 Knowledge Base(지식 베이스)에 저장할 수 있는 최대 데이터 양입니다.
스토리지(저장) 할당량 제한
모든 챗봇의 벡터 제한은 5000개 입니다 . 이는 약 200개의 블로그 기사 또는 1000개의 PDF 페이지에 해당합니다.(All chatbots have a limit of 5000 vectors – which is the equivalent to approximately 200 blog articles or 1000 PDF pages). 여기서 말하는 벡터는 무엇을 말하는지 모르겠습니다. 이는 ‘약 200개의 블로그 기사 또는 1000개의 PDF 페이지에 해당합니다’는 (최대 5,000Mb=5Gbyte[=업로드할 수 있는 문서의 갯수 100개 * 문서당 크기는 50MB])는 ‘약 200개의 블로그 기사 또는 1000개의 PDF 페이지’에 해당한다는 이야기 같은데, 정확히 이해하지 못했습니다.
노드에서 Knowledge Base(지식 베이스)를 활성화/비활성화에 관하여 미리 알아두셔야할 것은 Knowledge Base(지식 베이스) 에이전트가 활성화되어 있어도 [정보 캡처(Capture Infomation)] 카드가 없는 노드에서는 Knowledge Base(지식 베이스) 에이전트를 활성화할 수 없습니다. 또한 [정보 캡처(Capture Infomation)] 카드는 각각의 종류별로 Knowledge Base(지식 베이스) 에이전트를 활성화할 수 있고 또한 Knowledge Base(지식 베이스)로 어떤 Knowledge Base(지식 베이스)를 이용할지 세부적으로 정의할 수 있습니다.
참고로 [정보 캡처(Capture Infomation)] 카드에는 SingleChoice, MultipleChoice, Boolean , Confirmation, Number, EmailAddress, PhoneNumber, FullAddress, Price, RawInput, Percentage, Quantity, Color, TimeMeasurement, WeightMeasurement, CronSchedule, OperatingSystem, QuantityofPeople, VolumeMeasurement, TemperatureMeasurement, Person, DateTime와 같이 많은 카드가 있으며 이중에서 가장 많이 사용하는 것은 아무래도 RawInput 카드입니다.

Botpress에서는 [정보 캡처(Capture Infomation)] 카드을 활용하는 특정 노드에 대한 Knowledge Base(지식 베이스) 기능을 활성화하거나 비활성화할 수 있습니다.
정보 캡처 카드가 있는 노드에서 Knowledge Base(지식 베이스)를 활성화하려면:

이 옵션을 활성화하면 상호 작용 중에 사용자가 응답을 요청할 때 Knowledge Base(지식 베이스)에서 답변을 제공할 수 있습니다. 사용자의 입력이 지식 베이스에 저장된 정보와 관련이 있는 경우 Botpress의 NLU(Natural Language Understanding)는 지식 베이스에서 해당 답변을 검색하여 사용자에게 표시합니다. 그런 다음 대화는 정보 캡처의 다음 단계로 진행됩니다. 이 기능은 적절한 경우 Knowledge Base(지식 베이스)에서 가져온 빠르고 정확한 답변을 제공하여 사용자 경험을 향상시키는 데 도움이 됩니다.
Botpress에서 Capture Info action(정보 캡처 작업)을 사용하는 노드에서 Knowledge Base(지식 베이스) 기능을 비활성화하면 시스템은 상호 작용 중에 답변을 제공하기 위해 Knowledge Base(지식 베이스)를 Knowledge Base(지식 베이스)의 정보를 포함하지 않고 단순히 사용자의 응답을 캡처합니다.
지식 베이스를 비활성화한다는 것은 사용자에게 응답을 요청하고 사용자의 입력이 지식 베이스를 사용하여 응답할 수 있는 쿼리와 일치할 때 Botpress의 NLU가 지식 베이스에서 답변을 검색하지 않음을 의미합니다. 대신 Knowledge Base(지식 베이스)의 정보를 포함하지 않고 대화가 계속됩니다.
Knowledge Base(지식 베이스)를 비활성화하면 기본적으로 해당 특정 노드에 대한 잠재적인 정보 소스에서 이를 제외하게 됩니다. 이는 사용자 응답을 다르게 처리하려는 경우 또는 다른 메커니즘을 사용하여 답변을 제공하거나 해당 특정 노드에서 정보를 캡처하려는 경우 유용할 수 있습니다.(By disabling the Knowledge Base, you essentially exclude it as a potential source of information for those specific nodes. This may be useful if you want to handle user responses differently or if you prefer to rely on other mechanisms to provide answers or capture information in those particular nodes.)
여행사를 위한 챗봇의 예를 살펴보겠습니다. 봇은 사용자의 여행 선호도에 관한 정보를 수집하고 관련 권장 사항을 제공하도록 설계되었습니다. 봇은 특정 노드에서 정보 캡처 작업을 사용하여 사용자로부터 특정 세부 정보를 수집합니다.
노드: 목적지 캡처작업: 정보 캡처시나리오: 사용자에게 원하는 여행 목적지를 제공하라는 요구합니다.지식 응답 활성화: 활성화사용자 입력: "파리에 가고 싶습니다." 응답: 봇의 NLU(자연어 이해)는 사용자의 입력을 인식합니다. 기술 자료와 관련이 있습니다. 여행지와 관련된 지식베이스에서 정보를 검색하고 "파리는 낭만적인 분위기, 에펠탑과 같은 상징적인 랜드마크, 활기찬 문화 현장으로 유명합니다."라는 적절한 답변을 표시합니다
Node: Capture DestinationAction: Capture InfoScenario: The user is asked to provide their desired travel destination.Enable Knowledge Answering: EnabledUser Input: "I want to go to Paris."Response: The bot's Natural Language Understanding (NLU) recognizes that the user's input is relevant to the Knowledge Base. It retrieves information from the Knowledge Base related to travel destinations and displays an appropriate answer: "Paris is known for its romantic atmosphere, iconic landmarks such as the Eiffel Tower, and vibrant cultural scene."
그런 다음 대화는 여행 날짜나 예산과 같은 추가 정보를 캡처하는 다음 단계로 진행됩니다.
노드: 교통 캡처작업: 정보 캡처시나리오: 사용자에게 여행 시 선호하는 교통 수단을 지정하라는 메시지가 표시됩니다. 지식 응답 활성화: 비활성화됨 사용자 입력: "나는 기차로 여행하는 것을 선호합니다." 응답: 이 노드에 대해 지식 기반 기능이 비활성화되어 있기 때문입니다. , 봇의 NLU는 기술 자료를 참조하지 않습니다. Knowledge Base(지식 베이스)의 정보를 포함하지 않고 단순히 사용자의 응답을 캡처합니다.
Node: Capture TransportationAction: Capture InfoScenario: The user is asked to specify their preferred mode of transportation for travel.Enable Knowledge Answering: DisabledUser Input: "I prefer to travel by train."Response: Since the Knowledge Base feature is disabled for this node, the bot's NLU does not consult the Knowledge Base. It simply captures the user's response without incorporating any information from the Knowledge Base.
답변이나 추가 정보를 제공하기 위해 Knowledge Base(지식 베이스)를 활용하지 않고 해당 노드에 대해 정의된 특정 논리 또는 작업을 기반으로 대화가 다음 단계로 계속됩니다.
자동 생성된 참조를 비활성화하려면 다음 코드와 함께 실행 코드 카드(Execute Code card)를 활용하세요.
To disable auto-generated references, utilize the with the following code:
workflow.kbAnswerWithoutRef = event.preview.split("References:")[0].
그런 다음 텍스트나 캡처 카드에 @kbAnswerWithoutRef를 입력하세요. 워크플로에서 kbAnswerWithoutRef 변수를 생성해야 합니다.(Then, input @kbAnswerWithoutRef into your text or capture card. Make sure to create the variable kbAnswerWithoutRef in your workflow.)
openAI의 chatGPT, 구글의 Bard 등이 시원치 않은 결과 값을 내놓을 때 또는 자사 사이트에 지식이 축적되어 있지 않거나 따로 PDF, TXT등 문서로 된 지식베이스 소스로가 없을때 는 위키백과( ttps://ko.wikipedia.org/)를 활용하세요.
https://www.topicalrelevance.com/ 에 주제어를 입력하고 주제 관련성(topical relevance) 스키마를 생성해주세요.
여러 항목들 중, “about”: 부분을 살펴보세요.
https://en.wikipedia.org/wiki/Wikipedia,
https://en.wikipedia.org/wiki/Wikimedia_Foundation 와 같이 https://en.wikipedia.org/wiki/로 시작하는 주소들이 지식베이스 소스들로 적당합니다.
“about”:
[{“@type”: “Thing”, “name”: “wikipedia”, “sameAs”: [“https://en.wikipedia.org/wiki/Wikipedia”,
“https://www.google.com/search?q=wikipedia&kgmid=/m/0d07ph”]},
{“@type”: “Thing”, “name”: “wikimedia foundation”, “sameAs”: [“https://en.wikipedia.org/wiki/Wikimedia_Foundation”,
“https://www.google.com/search?q=wikimedia+foundation&kgmid=/m/0wdqqk0”]},
{“@type”: “Thing”, “name”: “english wikipedia”, “sameAs”: [“https://en.wikipedia.org/wiki/English_Wikipedia”,
“https://www.google.com/search?q=english+wikipedia&kgmid=/m/01wfbm”]},
{“@type”: “Thing”, “name”: “encyclopedia”, “sameAs”: [“https://en.wikipedia.org/wiki/Encyclopedia”,
“https://www.google.com/search?q=encyclopedia&kgmid=/m/02jfw”]},
{“@type”: “Thing”, “name”: “nupedia”, “sameAs”: [“https://en.wikipedia.org/wiki/Nupedia”,
“https://www.google.com/search?q=nupedia&kgmid=/m/05fcc0z”]},
{“@type”: “Thing”, “name”: “vandalism”, “sameAs”: [“https://en.wikipedia.org/wiki/Vandalism”,
“https://www.google.com/search?q=vandalism&kgmid=/m/09381k”]},
{“@type”: “Thing”, “name”: “wiki”, “sameAs”: [“https://en.wikipedia.org/wiki/Wiki”,
참고 자료 : 1. How to Make a PDF of an Entire Website
2. Knowledge Graphs & LLMs: Fine-Tuning Vs. Retrieval-Augmented Generation