Bot Framework SDK란?What is the Bot Framework SDK?

적용 대상: SDK v4APPLIES TO: SDK v4

Azure Bot Service와 함께 봇 프레임 워크는 intelligent bot을 한 곳에서 빌드, 테스트, 배포 및 관리 하는 도구를 제공 합니다.The Bot Framework, along with the Azure Bot Service, provides tools to build, test, deploy, and manage intelligent bots, all in one place. Bot 프레임 워크에는 bot, 도구, 템플릿 및 관련 AI 서비스를 빌드하기 위한 모듈식 및 확장 가능한 SDK가 포함 되어 있습니다.The Bot Framework includes a modular and extensible SDK for building bots, as well as tools, templates, and related AI services. 개발자는이 프레임 워크를 사용 하 여 음성을 사용 하 고 자연어를 이해 하 고 질문 및 답변을 처리할 수 있는 봇을 만들 수 있습니다.With this framework, developers can create bots that use speech, understand natural language, handle questions and answers, and more.

봇이란?What is a bot?

봇은 컴퓨터를 사용하는 것보다는 사용자 또는 적어도 지능형 로봇을 다루는 것과 같은 환경을 제공합니다.Bots provide an experience that feels less like using a computer and more like dealing with a person - or at least an intelligent robot. 직접적인 사용자의 개입을 더 이상 요구할 수 없는 자동화된 시스템으로 저녁 식사를 예약하거나 프로필 정보를 수집하는 등 간단한 반복 작업을 이동할 수 없습니다.They can be used to shift simple, repetitive tasks, such as taking a dinner reservation or gathering profile information, on to automated systems that may no longer require direct human intervention. 사용자는 텍스트, 대화형 카드 및 음성을 사용하여 봇과 대화합니다.Users converse with a bot using text, interactive cards, and speech. 빠른 질문 및 대답이거나 지능적으로 서비스에 대한 액세스를 제공하는 복잡한 대화를 통해 봇과 상호 작용할 수 있습니다.A bot interaction can be a quick question and answer, or it can be a sophisticated conversation that intelligently provides access to services.

Bot은 대화형 인터페이스를 포함 하는 웹 응용 프로그램으로 간주할 수 있습니다.A bot can be thought of as a web application that has a conversational interface. 사용자가 Facebook, 여유 시간, Microsoft 팀 등의 채널을 통해 봇에 연결 합니다.A user connects to a bot though a channel such as Facebook, Slack, or Microsoft Teams.

  • 입력 및 관련 작업 수행에 대 한 bot 이유가 있습니다.The bot reasons about input and performs relevant tasks. 여기에는 사용자를 대신 하 여 사용자에 게 추가 정보를 요청 하거나 서비스에 액세스할 수 있습니다.This can include asking the user for additional information or accessing services on behalf of the user.
  • Bot 사용자의 입력에 대 한 인식을 수행 하 여 사용자에 게 요청 하거나 말하고 있는지를 해석 합니다.The bot performs recognition on the user's input to interpret what the user is asking for or saying.
  • 봇은 사용자에 게 보낼 응답을 생성 하 여 봇이 수행 하거나 수행한 작업을 전달 합니다.The bot generates responses to send to the user to communicate what the bot is doing or has done.
  • 봇이 구성 된 방법 및 채널에 등록 되는 방법에 따라 사용자는 텍스트 또는 음성을 사용 하 여 봇과 상호 작용할 수 있으며 대화에는 이미지 및 비디오가 포함 될 수 있습니다.Depending on how the bot is configured and how it is registered with the channel, users can interact with the bot through text or speech, and the conversation might include images and video.

원격 봇은 텍스트, 음성, 이미지 또는 비디오를 통해 장치의 사용자와 상호 작용 합니다.A remote bot interacts with a user on a device via text, speech, images, or video

Bot은 인터넷에서 사용 되 고 Api를 사용 하 여 메시지를 보내고 받는 최신 웹 응용 프로그램과 매우 비슷합니다.Bots are a lot like modern web applications, living on the internet and using APIs to send and receive messages. 봇의 기능은 봇의 종류에 따라 크게 다릅니다.What's in a bot varies widely depending on what kind of bot it is. 최신 봇 소프트웨어는 많은 기술 및 도구를 사용하여 다양한 플랫폼에서 더 복잡한 환경을 제공합니다.Modern bot software relies on a stack of technology and tools to deliver increasingly complex experiences on a wide variety of platforms. 그러나 간단한 봇은 메시지를 수신하고 적은 코드를 사용하여 사용자에게 다시 보내기만 할 수 있습니다.However, a simple bot could just receive a message and echo it back to the user with very little code involved.

봇은 파일을 읽고 쓰며, 데이터베이스 및 API를 사용하고, 정규 계산 작업을 수행하는 등 다른 형식의 소프트웨어가 수행하는 동일한 작업을 수행할 수 있습니다.Bots can do the same things other types of software can do - read and write files, use databases and APIs, and do the regular computational tasks. 봇이 고유한 이유는 일반적으로 사용자 간 통신에 유보된 메커니즘을 사용한다는 점입니다.What makes bots unique is their use of mechanisms generally reserved for human-to-human communication.

Azure Bot Service 및 Bot Framework 제품은 다음과 같습니다.The Azure Bot Service and the Bot Framework offer:

  • Bot 개발을 위한 Bot Framework SDKThe Bot Framework SDK for developing bots
  • 엔드투엔드 봇 개발 워크플로를 처리하는 Bot Framework 도구Bot Framework Tools to cover end-to-end bot development workflow
  • 봇과 채널 간에 메시지 및 이벤트를 주고 받는 BFS(Bot Framework Service)Bot Framework Service (BFS) to send and receive messages and events between bots and channels
  • Azure에서 봇 배포 및 채널 구성Bot deployment and channel configuration in Azure

뿐만 아니라 봇에서 다음과 같은 다른 Azure 서비스를 사용할 수 있습니다.Additionally, bots may use other Azure services, such as:

  • 인텔리전트 애플리케이션을 빌드하는 Azure Cognitive ServicesAzure Cognitive Services to build intelligent applications
  • 클라우드 스토리지 솔루션용 Azure StorageAzure Storage for cloud storage solution

봇 빌드Building a bot

Azure Bot Service 및 Bot Framework는 이 프로세스를 용이하게 하는 통합된 도구 및 서비스 세트를 제공합니다.Azure Bot Service and Bot Framework offer an integrated set of tools and services to facilitate this process. 봇을 만들 때 선호하는 개발 환경 또는 명령줄 도구를 선택합니다.Choose your favorite development environment or command line tools to create your bot. C#, JavaScript, Typescript 및 Python용 SDK가 있습니다(Java용 SDK는 개발 중에 있음).SDKs exist for C#, JavaScript, Typescript and Python (the SDK for Java is under development). 봇을 쉽게 디자인하고 빌드할 수 있도록 다양한 봇 개발 단계를 위한 도구를 제공해 드리고 있습니다.We provide tools for various stages of bot development to help you design and build bots.

봇 개요

계획Plan

봇을 성공적으로 만드는 프로세스에서는 소프트웨어의 형식에 관계 없이 목표, 프로세스 및 사용자 요구 사항을 철저하게 파악하는 것이 중요합니다.As with any type of software, having a thorough understanding of the goals, processes and user needs is important to the process of creating a successful bot. 코드를 작성하기 전에 모범 사례에 대한 봇 디자인 지침 을 검토하고 봇에 필요한 요구 사항을 확인합니다.Before writing code, review the bot design guidelines for best practices and identify the needs for your bot. 간단한 봇을 만들거나, 음성, 자연어 이해 또는 질문 답변과 같은 더 정교한 기능을 포함할 수 있습니다.You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding, and question answering.

빌드Build

봇은 대화형 인터페이스를 구현하고 Bot Framework Service와 통신하여 메시지 및 이벤트를 주고 받는 웹 서비스입니다.Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. Bot Framework Service는 Azure Bot Service 및 Bot Framework의 구성 요소 중 하나입니다.Bot Framework Service is one of the components of the Azure Bot Service and Bot Framework. 다양한 환경 및 언어로 봇을 만들 수 있습니다.You can create bots in any number of environments and languages. Azure Portal에서 봇 개발을 시작하거나 로컬 개발을 위한 [C# | JavaScript | Python] 템플릿을 사용할 수 있습니다.You can start your bot development in the Azure portal, or use [C# | JavaScript | Python] templates for local development.

Azure Bot Service 및 Bot Framework의 일부로 봇의 기능을 확장하는 데 사용할 수 있는 추가 구성 요소를 제공합니다.As part of the Azure Bot Service and Bot Framework, we offer additional components you can use to extend your bot's functionality:

기능Feature DescriptionDescription 링크Link
자연어 처리 추가Add natural language processing 봇이 자연어를 이해하고, 맞춤법 오류를 이해하고, 음성 기능을 사용하고, 사용자의 의도를 인식할 수 있게 해줍니다.Enable your bot to understand natural language, understand spelling errors, use speech, and recognize the user's intent LUIS 사용 방법How to use LUIS
질문에 답변Answer questions 더 자연스럽고 대화하는 방식으로 사용자 질문에 답변하기 위해 기술 자료 추가Add a knowledge base to answer questions users ask in a more natural, conversational way QnA Maker 사용 방법How to use QnA Maker
여러 모델 관리Manage multiple models LUIS 및 QnA Maker와 같은 둘 이상의 모델을 사용하는 경우, 봇 대화 중에 어느 모델을 사용해야 하는지 지능적으로 결정합니다.If using more than one model, such as for LUIS and QnA Maker, intelligently determine when to use which one during your bot's conversation OrchestratorOrchestrator
카드 및 단추 추가Add cards and buttons 그래픽, 메뉴 및 카드와 같은 텍스트 이외의 다른 미디어를 사용하여 사용자 환경 향상Enhance the user experience with media other than text, such as graphics, menus, and cards 카드 추가 방법How to add cards

참고

위의 표는 포괄적인 목록은 아닙니다.The table above is not a comprehensive list. 왼쪽 문서를 메시지 보내기부터 탐색하여 더 많은 봇 기능에 대해 알아봅니다.Explore the articles on the left, starting with sending messages, for more bot functionality.

또한 봇 자산을 생성, 관리 및 테스트할 수 있는 명령줄 도구를 제공합니다.Additionally, we provide command line tools to help you to create, manage, and test bot assets. 이러한 도구는 LUIS apps를 구성 하 고, QnA 기술 자료를 구축 하 고, 구성 요소 간에 라우팅하는 모델을 작성 하 고, 모의 대화 등을 수행할 수 있습니다.These tools can configure LUIS apps, build a QnA knowledge base, build models to route between components, mock a conversation, and more. 자세한 내용은 명령줄 도구 추가 정보에서 볼 수 있습니다.You can find more details in the command line tools readme.

SDK를 통해 사용할 수 있는 다양한 기능을 소개하는 샘플에 액세스할 수도 있습니다.You also have access to a variety of samples that showcase many of the capabilities available through the SDK. 이러한 기능은 보다 풍부한 기능의 출발점을 찾는 개발자에 게 유용 합니다.These are great for developers looking for a more feature-rich starting point.

테스트Test

봇은 여러 부분을 함께 사용 하는 복잡 한 앱입니다.Bots are complex apps with a lot of different parts working together. 다른 복잡한 앱과 마찬가지로 흥미로운 버그가 발생하거나 봇이 예상과 다르게 동작할 수 있습니다.Like any other complex app, this can lead to some interesting bugs or cause your bot to behave differently than expected. 게시하기 전에 봇을 테스트합니다.Before publishing, test your bot. 봇을 사용하도록 출시하기 전에 테스트하는 여러 방법을 제공합니다.We provide several ways to test bots before they are released for use:

  • 에뮬레이터를 사용하여 로컬로 봇을 테스트합니다.Test your bot locally with the emulator. Bot Framework Emulator는 채팅 인터페이스뿐만 아니라 봇 작업의 작동 방법과 이유를 이해하는 데 도움이 되는 디버깅 및 질문 도구도 제공하는 독립 실행형 앱입니다.The Bot Framework Emulator is a stand-alone app that not only provides a chat interface but also debugging and interrogation tools to help understand how and why your bot does what it does. 에뮬레이터는 개발 봇 응용 프로그램과 함께 로컬로 실행할 수 있습니다.The Emulator can be run locally alongside your in-development bot application.

  • 에서 봇을 테스트합니다.Test your bot on the web. Azure Portal을 통해 봇을 구성하면 웹 채팅 인터페이스를 통해 액세스할 수도 있습니다.Once configured through the Azure portal your bot can also be reached through a web chat interface. 웹 채팅 인터페이스는 테스터 및 봇의 실행 코드에 대한 직접 액세스 권한이 없는 다른 사용자에게 액세스 권한을 부여할 수 있는 좋은 방법입니다.The web chat interface is a great way to grant access to your bot to testers and other people who do not have direct access to the bot's running code.

  • 현재 Bot Framework SDK를 사용 하 여 봇 단위 테스트Unit Test your bot with the current Bot Framework SDK.

게시Publish

웹에서 봇을 사용할 준비가 되면 Azure 또는 고유한 웹 서비스 또는 데이터 센터에 봇을 게시합니다.When you are ready for your bot to be available on the web, publish your bot to Azure or to your own web service or data center. 사이트 또는 채팅 채널 내에서 봇을 사용하는 첫 번째 단계는 공용 인터넷에서 주소를 유지하는 것입니다.Having an address on the public internet is the first step to your bot coming to life on your site, or inside chat channels.

연결Connect

Facebook, 메신저, Kik, 여유 시간, Microsoft 팀, Telegram, 텍스트/SMS, Twilio 등의 채널에 봇을 연결 합니다.Connect your bot to channels such as Facebook, Messenger, Kik, Slack, Microsoft Teams, Telegram, text/SMS, and Twilio. Bot Framework에서는 이러한 다양한 플랫폼에서 메시지를 송수신하는 데 필요한 대부분의 작업을 수행합니다. 봇 애플리케이션은 연결된 채널의 수와 형식에 관계 없이 통합되고 정규화된 메시지 스트림을 수신합니다.Bot Framework does most of the work necessary to send and receive messages from all of these different platforms - your bot application receives a unified, normalized stream of messages regardless of the number and type of channels it is connected to. 채널을 추가하는 정보는 채널 토픽을 참조하세요.For information on adding channels, see channels topic.

평가Evaluate

Azure Portal에서 수집된 데이터를 사용하여 봇의 성능과 기능을 향상시킬 기회를 확인합니다.Use the data collected in Azure portal to identify opportunities to improve the capabilities and performance of your bot. 트래픽, 대기 시간 및 통합과 같은 서비스 수준 및 계측 데이터를 가져올 수 있습니다.You can get service-level and instrumentation data like traffic, latency, and integrations. 또한 분석은 사용자에 대한 대화 수준 보고, 메시지 및 채널 데이터를 제공합니다.Analytics also provides conversation-level reporting on user, message, and channel data. 자세한 내용은 분석을 수집하는 방법을 참조하세요.For more information, see how to gather analytics.

다음 단계Next steps

이러한 봇의 사례 연구를 체크 아웃하거나 아래 링크를 클릭하여 봇을 만듭니다.Check out these case studies of bots or click on the link below to create a bot.