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
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.
-
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.
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
orCancel
- Prompt for and validate requests for information from the user
This sample requires prerequisites in order to run.
This bot uses LUIS, an AI based cognitive service, to implement language understanding.
-
.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.
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)"
-
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
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
- Launch Bot Framework Emulator
- File -> Open Bot
- Enter a Bot URL of `http://localhost:3978/api/messages
The bot is built around a very typical banking scenario which has two main capabilities:
- Check balance
- Make a transfer
- Luis Intent detection
- Using
LuisRecognizer
notLuisRecognizerMiddleware
- 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
- Using
- 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
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.
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.
- Bot Framework Documentation
- Bot Basics
- Dialogs
- Gathering Input Using Prompts
- Activity processing
- Azure Bot Service Introduction
- Azure Bot Service Documentation
- .NET Core CLI tools
- Azure CLI
- Azure Portal
- Language Understanding using LUIS
- Channels and Bot Connector Service
Feel free to explore these resources to further expand your knowledge in chatbot development and related technologies.
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.
Mayank Gupta - @MayankGuptaCse1 - mayank.guptacse1@gmail.com
Project Link: https://github.com/mayank-cse/DEV-A-Virtual-Banking-Assistant
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!