피자 주문용 챗봇의 대화 구성하기

Summary

Watson Assistant를 사용하며 사용자 입력 데이터를 추가해보신 분은 아시겠지만, 이는 다소 성가신 일입니다. 필드를 추가할 때마다 노드가 필요하고, 그 노드는 다른 노드 상에서 필요한 로직을 검증해야합니다. 오류 처리, 도움말, 옵션 필드 및 기타 로직 추가에는 더 많은 노드가 필요합니다. 단순히 사용자 프로파일과 데이터 양식을 작성하는 것만으로도 너무나 긴 노드 그래프와 장황한 애플리케이션 로직을 야기합니다. 그러나 Watson Assistant Slots 기능을 사용하면, 여러 노드를 단 하나의 노드로 통합할 수 있습니다. 이 코드 패턴에서는 하나의 노드를 사용해 온라인 피자 주문용 챗봇을 만드는 방법을 안내합니다. 이 코드를 구현하여 얻은 지식으로 여러분만의 Watson Assistant Slots를 만들 수 있습니다. 또 이 코드 패턴에서는 IBM Cloud Kubernetes 서비스의 사용 방법도 안내합니다!

Description

이 코드 패턴에서는 Node.js와 Watson Assistant로 간단한 챗봇을 만들어 봅니다. 챗봇에 필요한 최소한의 기본 요소만을 제공하는 단일 씬 애플리케이션 레이어에 새로운 Watson Assistant Slots 기능을 사용하여 모든 로직을 Watson Assistant에 담습니다. 이 챗봇은 피자 주문을 받아서 필요한 다양한 정보를 슬롯에 채웁니다. 사용자 프로파일 및 다른 온라인 양식에도 이와 같은 방법을 적용할 수 있습니다.

이 코드 패턴을 완료하면 다음의 내용을 배울 수 있습니다.

  • Node.js와 Watson Assistant를 이용하여 간단한 챗봇 만들기
  • Watson Assistant Slots를 사용하여 필요한 데이터를 입력
  • 슬롯 처리기(slot handler)를 사용하여 슬롯에 맞지 않는 대화를 처리

이 코드 패턴에서는 애플리케이션을 배포하는 방법으로 IBM Cloud에서 Cloud Foundry를 사용하거나 IBM Cloud에서 IBM Container Service를 사용할 수 있습니다.

Flow

flow

  1. 사용자가 클라우드베이스의 Node.js 애플리케이션에 대화를 보냅니다.
  2. 애플리케이션은 Watson Assistant와 상호 작용하여 슬롯을 채웁니다.
  3. Watson Assistant로부터의 응답이 애플리케이션을 통해 사용자에게 회신됩니다.

Instructions

Find the detailed steps for this pattern in the README. Those steps will show you how to:

  1. Clone the repo.
  2. Create IBM Cloud services.
  3. Get IBM Cloud credentials and add to the .env file.
  4. Configure Watson Assistant.
  5. Run the application.