BotBuilder-Samples/samples/javascript_nodejs/21.corebot-app-insights
Cecilia Avila baf38f484d
[#4009] Update samples to support latest Node version - JavaScript (#4010)
* JS - Update samples and ARM templates to support latest LTS Node version

* Use Node 20 as default in ARM templates

* Update default value for Stack en linux

* Update README files

* Update botbuilder version in JS samples

* Fix Node version in linux templates

---------

Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
2024-09-25 14:36:15 -05:00
..
bots r9 dependency updates (#2428) 2020-05-26 08:15:38 -07:00
cognitiveModels
deploymentTemplates [#4009] Update samples to support latest Node version - JavaScript (#4010) 2024-09-25 14:36:15 -05:00
dialogs R10 samples (#2706) 2020-09-01 09:43:13 -07:00
models
.env [#3526] Add support for MSI to JS samples and generators - advanced bots (#3553) 2021-11-01 15:03:52 -07:00
.eslintrc.js r9 dependency updates (#2428) 2020-05-26 08:15:38 -07:00
.gitignore
README-LUIS.md R10 samples (#2706) 2020-09-01 09:43:13 -07:00
README.md [#4009] Update samples to support latest Node version - JavaScript (#4010) 2024-09-25 14:36:15 -05:00
index.js R17 Samples (#3807) 2022-08-19 08:45:36 -05:00
package.json [#4009] Update samples to support latest Node version - JavaScript (#4010) 2024-09-25 14:36:15 -05:00

README.md

CoreBot with Application Insights

Bot Framework v4 core bot sample.

This bot has been created using Bot Framework, it shows how to:

  • Use LUIS to implement core AI capabilities
  • Implement a multi-turn conversation using Dialogs
  • Handle user interruptions for such things as Help or Cancel
  • Prompt for and validate requests for information from the user
  • Use Application Insights to monitor your bot

Prerequisites

This sample requires prerequisites in order to run.

Overview

This bot uses LUIS, an AI based cognitive service, to implement language understanding and Application Insights, an extensible Application Performance Management (APM) service for web developers on multiple platforms.

  • Node.js version 18 or higher

    # determine node version
    node --version
    

Create a LUIS Application to enable language understanding

The LUIS model for this example can be found under CognitiveModels/FlightBooking.json and the LUIS language model setup, training, and application configuration steps can be found here.

Once you created the LUIS model, update .env with your LuisAppId, LuisAPIKey, LuisAPIHostName and AppInsights's InstrumentationKey (more info on instrumentation key here).

  "LuisAppId": "Your LUIS App Id",
  "LuisAPIKey": "Your LUIS Subscription key here",
  "LuisAPIHostName": "Your LUIS App region here (i.e: westus.api.cognitive.microsoft.com)"
  "InstrumentationKey": "Your AppInsights instrumentation key here"

Add Application Insights service to enable the bot monitoring

Application Insights resource creation steps can be found here.

To try this sample

  • Clone the repository

    git clone https://github.com/microsoft/botbuilder-samples.git
    
  • In a terminal, navigate to samples/javascript_nodejs/21.corebot-app-insights

    cd samples/javascript_nodejs/21.corebot-app-insights
    
  • Install modules

    npm install
    
  • Setup LUIS

    The prerequisites outlined above contain the steps necessary to provision a language understanding model on www.luis.ai. Refer to Create a LUIS Application to enable language understanding above for directions to setup and configure LUIS.

  • Run the sample

    npm start
    

Testing the bot using Bot Framework Emulator

Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.

  • Install the latest Bot Framework Emulator from here

Connect to the bot using Bot Framework Emulator

  • Launch Bot Framework Emulator
  • File -> Open Bot
  • Enter a Bot URL of http://localhost:3978/api/messages

Deploy the bot to Azure

To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.

Further reading