Skip to content

Latest commit

 

History

History
199 lines (141 loc) · 10.5 KB

README.md

File metadata and controls

199 lines (141 loc) · 10.5 KB

Chatbot Repository

Welcome to my chatbot repository! This repository contains a collection of chatbot projects created using C#, Python, and Microsoft Bot Composer. Each project focuses on different use cases and showcases the capabilities of chatbot development.

Table of Contents
  1. Introduction
  2. Getting Started
  3. Try This Sample
  4. Emulator Testing
  5. Deploying
  6. Projects
  7. Resources Used to Learn
  8. Contributing
  9. Contact
  10. License

Introduction

In this repository, you will find a variety of chatbot projects that I have created using C#, Python, and Microsoft Bot Composer. These projects demonstrate my skills and experience in chatbot development, showcasing different functionalities and integration capabilities.

Each project is located in its respective folder, containing the necessary source code, configuration files, and any additional resources required to run and test the chatbot. The projects are organized based on their specific use cases and functionalities.

Projects

  • Ecommerce Merchandiser Bot: This chatbot assists with ecommerce merchandising tasks, providing product information, handling customer queries, and offering personalized recommendations. Project Repo

  • Admin Bot: The admin bot simplifies administrative tasks by automating processes, such as user management, data retrieval, and report generation. Project Repo

  • Console Bot with Language Studio QnA: This chatbot, built using the Microsoft Bot Framework and Language Understanding Intelligent Service (LUIS), enables users to interact with a console-based application by asking questions and receiving instant responses.

  • Flight Booking Bot using Intent Recognizer: The flight booking bot leverages an intent recognizer to understand user requests and assists with flight reservations, fare information, and itinerary management. Project Repo

  • To-Do Bot: This bot helps users manage their tasks and to-do lists, allowing them to add, update, and complete tasks through conversational interactions. Project Repo

  • Hunger Free Society: This chatbot project focuses on raising awareness about hunger-related issues, providing information on food banks, donations, and volunteering opportunities. Project Repo

  • Proactive Messaging Bot (Route ApiNotify): The proactive messaging bot utilizes the Route ApiNotify service to send proactive messages to users, delivering timely notifications and updates.

  • Echo Bot with Language Studio: The echo bot uses the Microsoft Bot Framework and Language Understanding Models to understand and respond to user input, providing a simple conversational experience.

Each project folder contains a README file with detailed information about the project, including instructions on how to run and test the chatbot.

Built With

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

(back to top)

Prerequisites

This sample requires prerequisites in order to run.

Overview

This bot uses LUIS, an AI based cognitive service, to implement language understanding.

Install .NET Core CLI

  • .NET Core SDK version 3.1

    # determine dotnet version
    dotnet --version
  • If you don't have an Azure subscription, create a free account.

  • Install the latest version of the Azure CLI tool. Version 2.0.54 or higher.

Create a LUIS Application to enable language understanding

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

Once you created the LUIS model, update appsettings.json with your LuisAppId, LuisAPIKey and LuisAPIHostName.

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

(back to top)

To try this sample

  • In a terminal, navigate to Dev-BankBot

    # change into project folder
    cd DevVirtualBankingAssistant
  • Run the bot from a terminal or from Visual Studio, choose option A or B.

    A) From a terminal

    # run the bot
    dotnet run

    B) Or from Visual Studio

    • Launch Visual Studio
    • File -> Open -> Project/Solution
    • Navigate to DevVirtualBankingAssistant folder
    • Select DevVirtualBankingAssistant.csproj file
    • Press F5 to run the project

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 Bot Framework Emulator version 4.5.0 or greater from here

Connect to the bot using Bot Framework Emulator

(back to top)

The LUIS Bank Transaction Concept

The bot is built around a very typical banking scenario which has two main capabilities:

  • Check balance
  • Make a transfer

This sample demonstrates:

  • Luis Intent detection
    • Using LuisRecognizer not LuisRecognizerMiddleware
    • Using Luis in middleware means every single message will go via Luis which is not necessary and costly in this scenario because once we have the intent and initial entities we no longer require Luis
  • Luis entity extraction; getting the entities we have from the initial Luis utterance
  • Entity completion; using bot dialogs to complete entities that were missing from initial Luis utterance
  • Basic bot dialogs with waterfall steps

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.

(back to top)

Resources Used to Learn

In my journey of chatbot development, I have utilized various resources to enhance my skills and understanding. This section contains a list of the resources I have found helpful in learning and improving my chatbot development capabilities. These resources include tutorials, documentation, online courses, and community forums.

Feel free to explore these resources to further expand your knowledge in chatbot development and related technologies.

Contributing

Contributions to this repository are welcome! If you have any improvements, bug fixes, or additional chatbot projects that you would like to contribute, please follow the guidelines outlined in the contributing guidelines.

Your contributions can help enhance the diversity and value of chatbot projects available to other developers and enthusiasts.

Contact

Mayank Gupta - @MayankGuptaCse1 - [email protected]

Project Link: https://github.com/mayank-cse/DEV-A-Virtual-Banking-Assistant

(back to top)

License

This repository is licensed under the MIT License. You are free to use, modify, and distribute the code and resources in this repository, as long as you include the appropriate attribution and adhere to the terms and conditions of the license.

If you have any questions or suggestions, feel free to reach out. Happy chatbot development!