Need help with BotBuilder-PersonalityChat?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

155 Stars 110 Forks MIT License 43 Commits 26 Opened issues


Integrate small talk into your bot using Microsoft.Bot.Builder.PersonalityChat nuget packages.

Services available


Need anything else?

Contributors list

Personality Chat

Personality Chat makes it easy to add small talk capabilities to your chatbot. Small talk/chit-chat helps to make chatbots more conversational and personable. This package has more than a 100 scenarios of small talk in the voice of three personas - professional, friendly, humorous. Choose the persona that most closely resembles your chatbot's voice. Given a user query or message, Personality chat tries to match it with the closest scenario using deep learnt similarity models and lexical features. Personality chat also provides editorialy curated responses for each scenario based on the selected persona. See a quick tutorial and overview video here.

If interested in participating in a private preview or access to higher throttling limits, please contact [email protected]

|User query |Professional​ |Friendly​ |Humorous​ | |-|-|-|-| |Thank you​ |You're quite welcome.​ |You bet.​ |No prob.​ | |Will you marry me?|I think it's best if we
stick to a professional relationship.​ |You're three-dimensional.
I'm non-dimensional. Our love can never be.​ |Sure. Take me to City Hall.
See what happens.​ | |Who made you?|There wouldn't be time to list everyone.​ |So many people!​ |Nerds.​ |

Using Personality chat in your bot

Nuget package support

| | | | |-|-|-| | Personality Chat in Microsoft Bot Framework SDK v3 |Nuget package | | | Personality Chat in Microsoft Bot Framework SDK v4 |Nuget package |EndToEnd Sample | | Calling Personality Chat API directly using core wrapper |Nuget package | |

Personality Chat Datasets

Directions for Using Personality Chat Datasets- Personality chat dataset containing responses and few representative queries for facilitating building your own models using LUIS or QNAMaker. Please note that the scenario matching models provided by the PersonalityChat API has been developed using deep models trained on large number of editorial queries and grammars. Using datasets directly won't include the rich query understanding capabilities provided by the PersonalityChat API.

How Personality Chat API works

Personality Chat matches the user's small talk query with a small talk scenario. It does query understanding (QU) to lexically and semantically match a user query. All matched scenarios are returned along with the confidence score. If no scenario is matched, no response is returned. Additionally is also checks for a few indicators to determine how to respond. *

: Does the query look like a chitchat/small talk query rather than a real user question?

Check out the Editorial Scenarios and sample query for Personality Chat

Throttling limits

We enforce throttling limits on the Personality Chat API at the rate of 30 queries per minute. Throttling is done based on the IP address.

If you are throttled, the API returns a 429 HTTP response with the message Rate limit is exceeded. Try again in X seconds.

Personality Chat - Beyond editorial content

Personality Chat also includes a component that is capable of generating responses real-time without editorial content. It uses a Deep Neural Network to generate answers to a chitchat query. This is available as a demo playground chat in Microsoft Cognitive Labs for a restricted set of query intents.


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.