Making Chatbot within 15min
[dify
LLM
workflow
]
“15분만에 챗봇을 만든다…”
Dify활용 2탄이다. 로코드로 15분만에 챗봇 만들기…
여기서는 소프트웨어 테스팅과 관련된 내용을 ‘ISTQB CTFL 실라버스’를 기반으로 답변해 주는 챗봇을 만들어 보도록 하겠다.
챗봇 템플릿을 사용해 보겠다. 앱 만들기 → 템플릿 들어가면 다양한 템플릿들이 있다. 여기에서는 1행 3열에 있는 「Knowledge Retrieval + Chatbot」을 선택한다.
선택하면 다음과 같이 Flow화면이 생성되는데 Start 는 그대로 두고 Knowledge Retrieval로 들어가 Knowledge가 되는 파일을 등록한다. 여기서는 kstqb에 공개되어 있는 ISTQB_CTFL_파운데이션레벨(FL)_실러버스_v.4.0_한글_v1.0.pdf
를 사용할 것이다. ‘지식’ 섹션에 있는 ‘+’ 를 클릭하면 된다.
파일을 등록하면 여러 옵션이 나타나는데 인덱스 모드만 ‘경제적’으로 바꾸고 나머지는 디폴트 그대로 사용한다.
‘저장하고 처리’ 버튼을 누르면 완료되며, 다시 스튜디오로 이동해 Knowledge Retrieval의 설정에서 지식 ‘+’를 클릭하면 등록한 파일이 보이고 이를 선택하면 된다.
다음은 LLM설정인데 컨텍스트 섹션을 클릭해 Knowledge Retrieval /resultArray 를 선택해 준다. SYSTEM섹션에 사전에 만들어진 프롬프팅이 인상적이다.
설정은 끝났다. 이제 테스트를 돌려본다.
(당연한 예기이지만, LLM에서는 openAI의 API Key값이 필요하다. 여기에서는 LLM에 등록이 되어 있다는 가정으로 진행했다. 등록은 좌측상단 사용자 → 설정 → 모델제공자 → OpenAI 섹션에서 등록해 준다).
이제부터 재미있는 부분인데 dify는 채팅 서버를 지원한다. ‘발행’ » ‘사이트에 삽입’ 을 선택하면 iframe, javascript, chrome extension 3가지로 지원한다. 여기서는 javaScript로 임의의 페이지에 채팅 기능을 넣어 보겠다.
저 자바스크립트를 복사해 넣고자 하는 html 페이지에 붙여 넣으면 된다. 훌륭하게 잘 붙었다..
예전같으면 저 기능을 자체 구현하려면 많은 수고가 들어갔지만, dify는 설치만을 통해 거의 노코드로 기능을 만들 수 있었다. 5년전만 하더라도 챗봇 전문 서비스를 하는 업체도 있었는데 이제 원하면 자체 컨텐츠로 온프레미스로 구축을 쉽게 할 수 있게 된 것이다.