Azure Bot Service 작동 방법

완료됨

이 단원에서는 대화형 비주얼 디자이너에서 Bot Framework Composer를 사용하여 봇을 디자인하는 방법을 살펴봅니다. Bot Framework Composer 내에서 AI 및 언어 기능을 사용하여 봇을 확장하는 방법을 알아봅니다. 또한 봇을 만들고, 봇 기능을 확장하고, Azure Bot Service에 봇을 게시하는 방법을 기본적으로 이해합니다.

봇 패키지의 아키텍처는 무엇인가요?

Azure Bot Service 및 Bot Framework는 전체 봇 만들기 프로세스를 지원합니다. 지원되는 프로세스에는 디자인, 빌드, 테스트 및 게시 작업이 포함됩니다.

봇 개발자는 Bot Framework Composer를 사용하여 봇 패키지를 만듭니다. 이 패키지에는 입력 채널 및 인증을 포함한 봇 통합 및 연결에 대한 봇 논리 및 세부 정보가 포함되어 있습니다. 봇 패키지에는 사용자 지정 봇 코드도 포함되어 있습니다. Azure Bot Service는 봇 패키지를 호스트합니다. Azure Bot은 봇 상호 작용을 위한 기본 엔드포인트를 제공하는 몇 가지 추가 기능이 있는 Azure Web App으로 간주할 수 있습니다. 사용자는 Bot Service를 통해 봇과 상호 작용할 수 있습니다. 한편 외부 채널 및 기타 통합을 위해 들어오고 나가는 REST 상호 작용을 관리할 수 있습니다.

참고

Visual Studio 또는 Visual Studio Code를 통해 Bot Framework SDK를 사용하여 봇 패키지를 서비스할 수도 있습니다.

Azure Bot Service 아키텍처의 다이어그램.

만들 봇의 유형을 고려합니다.

봇을 빌드하기 전에 만들려는 봇의 종류를 결정해야 합니다. 결정할 때 다음 질문을 고려합니다.

  • 봇은 어떤 용도로 사용됩니까? 빌드하려는 봇의 종류를 결정합니다. 계획을 통해 구현하려는 기능을 정의할 수 있습니다.

  • 봇이 해결하려는 문제는 무엇인가요? 이 대답에 대해 명확히 하십시오. 봇을 빌드할 때 고객의 문제를 해결하는 것이 주요 고려 사항입니다. 또한 사용자의 문제를 다른 환경보다 더 나은, 더 쉬운 또는 더 빠른 해결 방법도 고려해야 합니다.

  • 누가 봇을 사용합니까? 봇을 디자인할 때 사용자가 봇을 사용할 것으로 예상하는 것이 안전합니다. 고객별로 다른 사용자 환경을 기대합니다. 대상을 아는 것은 봇 디자인이 얼마나 복잡해야 하는지를 결정하는 데 도움이 됩니다. 봇에 대해 구현할 언어를 고려합니다.

    봇을 디자인할 때 최상의 사용자 환경을 보장하는 것이 최우선 과제입니다.

  • 봇은 어디에 사용됩니까? 봇을 실행할 플랫폼을 결정해야 합니다. 예를 들어 모바일 디바이스에서 실행되도록 설계된 봇에는 SMS(짧은 메시지 서비스) 메시지 보내기와 같은 기능이 필요할 수 있습니다.

    Important

    게시 환경은 플랫폼마다 다릅니다.

Bot Framework Composer에서 핵심 봇 기능 개발

Composer를 사용하여 봇을 디자인, 빌드, 확장 및 테스트할 수 있습니다. Composer는 봇을 빌드하기 위한 시각적 편집 캔버스입니다. 일반적으로 Azure Bot Service 만들기 프로세스의 시작점입니다.

Composer의 비주얼 디자이너를 사용하여 봇의 핵심 기능을 직관적으로 개발할 수 있습니다. 이를 사용하여 다음을 할 수 있습니다.

  • QnA Maker를 사용하여 봇에 자연어 이해 기능을 추가합니다. LUIS(Language Understanding Intelligence Service), QnA 또는 FAQ와 같은 기능을 사용할 수 있습니다.
  • 언어 생성 템플릿을 사용하여 봇에 대한 텍스트 및 음성 변형 응답을 생성합니다.
  • 여러 언어로 봇을 빌드합니다.
  • 포함된 웹 채팅을 사용하여 Composer 내에서 직접 봇을 테스트합니다.
  • Azure App Service 및 Azure Functions에 봇을 게시합니다.
  • LUIS 앱 및 QnA Maker 기술 자료와 같은 외부 서비스를 통합합니다.

대화 상자 및 대화 흐름 만들기

대화 상자는 봇이 사용자와 갖는 대화를 제어합니다. 대화 상자에는 봇 응답 및 봇이 작업을 수행하는 방법에 대한 지침을 정의하는 언어 생성 응답 템플릿이 포함되어 있습니다. 예를 들어 식당에서 저녁 식사를 예약하거나 Outlook 일정 항목을 만듭니다.

많은 대화 상자는 간단한 질문 및 응답 시퀀스를 통한 선형입니다. 그러나 일부 대화 상자에는 고급 대화 논리도 포함되어 있습니다. 이 논리에는 분기, 루핑 및 컨텍스트 기반 동적 및 적응형 대화가 포함될 수 있습니다. 이러한 유형의 대화 상자는 일반적으로 외부 데이터를 사용하고, 상태 저장 대화 데이터를 유지 관리하며, 대화에서 필요한 중단을 만듭니다.

기술 및 기타 봇을 통해 외부 흐름 포함

Composer 기술, NuGet 패키지 및 기타 Azure Bot Service 봇을 사용자의 봇으로 가져와서 더 복잡한 대화 흐름을 만들 수 있습니다. 중첩된 일련의 봇을 만들어 더 모듈화되고 재사용이 가능한 봇 기능 세트를 만들 수 있습니다. 이러한 더 작은 모듈식 구성 요소를 여러 조합으로 결합하여 서로 다른 부모 봇에 대한 기능 세트를 제공할 수 있습니다. 예를 들어 "다음 회의는 언제인가요?"나 "회의실이 필요한가요?" 같은 입력 및 응답을 사용하여 일정 항목 관리와 관련된 대화 흐름을 처리하는 봇이 존재할 수 있습니다. 봇을 하나의 기술로 패키징하면 이 기술(및 연결된 일정 대화 처리 기능)을 사용자가 만드는 다른 봇에 쉽게 통합할 수 있습니다.

카드, 이미지 및 단추를 사용하여 대화 개선

여러 시각적 및 대화형 메서드를 사용하여 봇 사용자에 대한 대화를 개선할 수 있습니다. 카드를 사용하여 서식 있는 텍스트, 이미지 및 단추 기반 콘텐츠를 만들어 일반 텍스트보다 더 상호 작용적인 환경을 제공합니다. Composer는 썸네일, 로그인, 오디오 및 비디오를 비롯한 여러 카드 유형을 제공합니다.

LUIS 및 QnA Maker를 통해 언어 이해 및 인텔리전스 확장

LUIS는 완전한 의도 및 엔터티 관리 시스템을 통해 자연어 처리를 제공합니다. 이전에 만든 LUIS 앱을 통합하거나 Composer 내에 새 앱을 만들어 강력한 자연어 이해 기능을 봇에 추가할 수 있습니다.

QnA Maker는 클라우드 기반 서비스입니다. 기존 FAQ 스타일 문서 및 웹 사이트에서 질문 및 답변 쌍을 추출하는 데 사용합니다. 그런 다음, 기술 전문가가 수동으로 큐레이팅할 수 있는 기술 자료로 해당 정보를 가져올 수 있습니다. 봇을 QnA 기술 자료와 통합할 수 있습니다. 이 통합을 사용하면 지정된 자연어 입력에 가장 적합한 답을 찾을 수 있습니다.

웹 채팅으로 봇 테스트

웹 채팅을 사용하여 Composer에서 직접 봇의 기능을 테스트할 수 있습니다. 웹 채팅은 로컬 봇 런타임에서 봇을 실행합니다. 즉, Azure에 게시하지 않고 개발 머신에서 로컬로 봇을 테스트할 수 있습니다. 웹 채팅에는 봇 기능의 모든 측면을 테스트하기 위한 완전한 디버깅, 음성 텍스트 레코딩 및 봇 상태 검사 기능이 있습니다.

Bot Framework SDK를 사용하여 미들웨어 추가 및 봇 기능 확장

봇 소스 코드를 편집하고 봇 기능을 확장하려면 Bot Framework SDK를 사용하여 Visual Studio, Visual Studio Code 또는 원하는 지원되는 IDE를 사용할 수 있습니다. 봇을 NuGet 패키지로 패키지하고 게시합니다. 쉽게 통합할 수 있도록 Composer에 이러한 패키지를 가져옵니다. 봇 개발 수명 주기 전반에 걸쳐 Composer 및 Bot Framework SDK 간에 원활하게 이동할 수 있습니다. 이 이동성을 통해 항상 모든 개발 작업에 가장 효과적인 도구를 사용할 수 있습니다.

Azure에 봇 게시

Azure Bot Service는 Azure에서 봇 기능을 호스트합니다. Composer 인터페이스에서 직접 봇을 게시하여 Composer 내에서 엔드투엔드 개발 환경을 만듭니다.

Azure Bot Service는 Azure Web App 리소스에서 봇을 호스트합니다. 이 리소스에는 외부 리소스에 연결하기 위한 코드, 논리 및 기본 HTTP REST 엔드포인트가 포함되어 있습니다. Azure Bot Service는 즉시 사용할 수 있는 Bot Service 채널도 제공합니다. Bot Service 채널은 Facebook, Slack, Teams, 전화 통신 등과 같은 다른 채팅 서비스 프로토콜에 봇 상호 작용을 조정하는 어댑터 계층을 제공합니다.

Composer에서 게시하는 경우 게시 프로세스에서 종속 Azure 리소스를 만들거나 가져올 수도 있습니다. 이러한 리소스에는 LUIS, QnA Maker, Azure Cosmos DB, Application Insights 및 Blob Storage가 포함됩니다.