Skip to content

This documentation is for Bot Framework Conversational AI Design Guidance

Notifications You must be signed in to change notification settings

ikivanc/Conversational-AI-Design-Guidance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Conversational AI Design Guidance

Azure Bot Service enables you to build intelligent, enterprise-grade bots with complete ownership and control of your data. Begin with a simple Q&A bot or build a sophisticated virtual assistant.

In this Conversational AI UX guidance you'll find what are the best practices to build conversational AI for your bot.

First of all here is list of Components of a conversational AI experience

And all necessary info for a Bot's life cycle.

Design Build Test Publish Connnect Evaluate
  • Connect to Channels
  • View Analytics
  • This document is still under development. NLP, QnA, Search and Authentication parts will be updated.


    Contents


    Welcome Experience

    Send a message to your user once they join the conversation.

    UI Screenshot Code Samples
    Adaptive Card Image C# sample: Welcome Message
    JS sample: Welcome Message

    Bot Typing Experience

    It's always great to give human-like impression, typing experince from bot.

    UI Screenshot Code Samples
    C# sample: Send Typing Activity

    Prompts

    A conversation between a bot and a user often involves asking (prompting) the user for information, parsing the user's response, and then acting on that information.

    Your bot should track the context of a conversation, so that it can manage its behavior and remember answers to previous questions. A bot's state is information it tracks to respond appropriately to incoming messages.

    Text Prompt

    Asks for general text input.

    UI Screenshot Code Samples
    C# sample: Simple Prompt

    Number Prompt

    Asks for a number.

    UI Screenshot Code Samples
    C# sample: Multi-Turn Prompt

    DateTime Prompt

    Asks for a date-time.

    UI Screenshot Code Samples
    C# sample: Multi-Turn Prompt

    Choice Prompt

    Asks for a choice from a set of options.

    UI Screenshot Code Samples
    Choice Prompt C# sample: Digital Travel Assistant

    Confirm Prompt

    Asks for a confirmation.

    UI Screenshot Code Samples
    Confirm Prompt C# sample: Multi-Turn Prompt

    Attachment Prompt

    Asks for one or more attachments, such as a document or image.

    Simple Prompt

    UI Screenshot Code Samples
    Adaptive Card Image C# sample: Simple Prompt

    Multi Prompt

    UI Screenshot Code Samples
    Adaptive Card Image C# sample: Multi-Turn Prompt

    Validation Prompt

    UI Screenshot Code Samples
    C# sample: Validation Prompt

    Suggested Action

    UI Screenshot Code Samples
    Suggested Cards C# sample: Suggested Action

    Cards

    AdaptiveCard

    An open card exchange format rendered as a JSON object. Typically used for cross-channel deployment of cards. Cards adapt to the look and feel of each host channel.

    UI Screenshot Code Samples
    Adaptive Card Image C# sample: Using Adaptive Cards

    AnimationCard

    A card that can play animated GIFs or short videos.

    UI Screenshot Code Samples
    C# sample: Using Cards

    AudioCard

    UI Screenshot Code Samples
    C# sample: Using Cards

    Hero Card

    UI Screenshot Code Samples
    C# sample: Using Cards
    Code Snippet: HeroCard

    ThumbnailCard

    UI Screenshot Code Samples
    C# sample: Using Cards
    Code Snippet: ThumbnailCard

    RecieptCard

    UI Screenshot Code Samples
    C# sample: Using Cards

    SignInCard

    UI Screenshot Code Samples
    C# sample: Using Cards

    VideoCard

    UI Screenshot Code Samples
    C# sample: Using Cards

    CardCarousel

    UI Screenshot Code Samples
    C# sample: Using Cards

    Card List

    UI Screenshot Code Samples
    C# sample: Using Cards

    Conversation User Experiences

    Natural Language Processing

    Designed to identify valuable information in conversations, LUIS interprets user goals (intents) and distills valuable information from sentences (entities), for a high quality, nuanced language model. LUIS integrates seamlessly with the Azure Bot Service, making it easy to create a sophisticated bot.


    Question and Answering

    Build, train and publish a simple question and answer bot based on FAQ URLs, structured documents, product manuals or editorial content in minutes.


    Search

    Azure Search is a search-as-a-service cloud solution that gives developers APIs and tools for adding a rich search experience over private, heterogenous content in web, mobile, and enterprise applications. Query execution is over a user-defined index.

    Search Experience Code Sample
    Azure Search C# sample: Azure Search with Bot Framework

    Authentication

    New bot authentication capabilities in Azure Bot Service, providing features to make it easier to develop a bot that authenticates users to various identity providers such as Azure AD (Azure Active Directory), GitHub, Uber, and so on. These updates also take steps towards an improved user experience by eliminating the magic code verification for some clients.

    UI Screenshot Code Samples
    SignIn Authentication C# sample: Bot Authentication

    Dialogs

    Dialogs are a central concept in the SDK, and provide a useful way to manage a conversation with the user. Dialogs are structures in your bot that act like functions in your bot's program; each dialog is designed to perform a specific task, in a specific order. You can specify the order of individual dialogs to guide the conversation, and invoke them in different ways - sometimes in response to a user, sometimes in response to some outside stimuli, or from other dialogs.

    Guided Conversation Experience

    Guided Conversation Code Sample
    C# sample: Digital Travel Assistant

    LUIS + Guided Conversation Experience

    Guided Conversation Code Sample
    C# sample: Digital Travel Assistant

    LUIS Experience

    Dynamic Conversations with multiple inputs managed in WaterFall Dialogs to provide only needed prompts to retrieve information. On the left side , a question including "number of guests", "Region" , "Check-in Date" and "Check-out Date", then agent asks only needed questions. On the right side, the question includes only "number of guests" and "Region" and then agent ask questions to complete them.

    LUIS with 4 entities LUIS with 2 entities Code Sample
    C# sample: Digital Travel Assistant

    Nested Conversation Dialogs

    Nested Conversation Dialogs Code Sample
    C# sample: MenuBot C#
    JS sample: MenuBot JS

    Enjoy.

    About

    This documentation is for Bot Framework Conversational AI Design Guidance

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published