뉴질랜드 다이어리(NZ Diary) 라빠

[Wit.AI 를 이용하여 Facebook Messenger 챗봇 만들기] #2. Glitch? 본문

개발

[Wit.AI 를 이용하여 Facebook Messenger 챗봇 만들기] #2. Glitch?

Donochi 2020. 8. 21. 08:59

챗봇 만들기, 그 두번째로 wit.ai 를 통해 처리된 자연어 분석에 따라 응답을 생성해보도록 합시다. 이 작업을 위해서는 node.js back-end 서버를 구동해 줄 플랫폼이 필요합니다. 다양한 옵션이 존재하지만, 그중 가장 사용성이 뛰어난 Glitch 에서 작업해 보려고 합니다.


일단 Glitch 가 뭔지부터 잠시 보고 갈까요?

https://glitch.com/

 

Glitch: The friendly community where everyone builds the web

Simple, powerful, free tools to create and use millions of apps.

glitch.com

Glitch 는 Trello, Stack Overflow 로 유명한 Fog Greek Software 에서 제공하는 서비스입니다. 간단하게 웹 페이지나 웹서버를 구성할 수 있고, Remix 라는 기능을 통해서 다른사람의 작업을 바탕으로 손쉽게 새로운 프로젝트를 만들 수도 있습니다. 최근 Glitch 에 집중하기 위해 회사명을 Glitch 로 변경하기도 했습니다. 

Remix 는 block-coding platform 인 Scratch 에도 잘 적용되어있죠? Github 의 Folk 와 비슷하다고 생각하시면 됩니다.

새 프로젝트를 시작하려면 위와 같이 세가지 템플릿을 선택할 수 있습니다. Glitch 가 node 에 집중하고 있는것을 알 수 있죠?

2020년 8월 현재 모든 서비스를 무료로 이용 할 수 있습니다. 다만, 각각의 앱이 5분동안 inactive 상태가 되면 앱이 sleep 상태로 진입하게 됩니다. 그 이후 다시 요청이 있을경우 앱이 재구동되도록 설계되어 있습니다. (유료 멤버쉽을 가입하면 이 제한을 없앨 수 있습니다.) Glitch 를 통해서 프로토타이핑을 할때라면 이런 제약은 아무런 문제가 되지 않습니다. ;)

그럼 몇가지 특징을 살펴볼까요?

1. Package managing

package.json 파일을 선택하면, Add Package 라는 버튼이 활성화 되고, 이 버튼을 통해서 손쉽게 패키지 관리가 가능합니다. 

2. Code rewind

기본적으로 Git 이 포함되어 있으므로, 개발 이력을 관리하고, 특정 시점으로 복귀하는것도 가능합니다.

참고로 저도 Glitch 를 알게된 지가 그다지 오래되지 않은데요, 다른 무료 호스팅 플랫폼에 비해 그 생산성이 월등합니다. 꼭 한번씩 구경해보세요.

일단 node 와 javascript 에 대해서는 어느정도 이해하고 계시리라 생각하고, Glitch 에 있는 프로젝트를 하나 remix 해 봅시다.

검색창에 koreanchatbot 을 검색하고 프로젝트를 remix 합니다

기본적인 내용은 모두 구성이 되어 있습니다.

app.js : node 서버를 구성하고, wit 로 부터 메시지가 들어오면 handler 를 호출하여 응답을 생성하고, facebook 에 메세지를 전송합니다.
wit_handler.js: wit 에서 분석한 내용을 바탕으로 응답을 생성합니다.

wit_handler.js

뭐..간단하죠? 

물론, 이제 시작이고, 앞으로 다양한 intent 와 entity 에 따라 응답을 구성해주어야 합니다.

자 이렇게 서버의 구성이 마무리 되었습니다.

다음에는 facebook 앱을 설정하고, 이미 구성한 wit.ai 와 glitch 를 연결해주도록 하겠습니다. 갈길이 머지 않았네요.