/
UX Spec: AI Copilot Multi-Bot
  • In progress
  • UX Spec: AI Copilot Multi-Bot

    Overview

    Some organizations use multiple LLM models that are fine-tuned for different tasks. Currently, the initial AI Copilot release supports multiple models, but they cannot be used for the same function across the workspace and end users cannot opt to change the default model for AI Copilot interactions once configured in the system console.

    A differentiator with Mattermost’s AI plugin is the flexibility being offered. The aim is to enhance that flexibility even further by allowing multiple LLM models in the following ways:

    • Configure multiple bots/models for use throughout the workspace

    • Provide the ability for end users to see the bot their interacting with and change that if there are multiple bots configured in the workspace

    • Provide ability to tag/mention different bots to engage with specific pre-configured LLMs

    Configuring bots/models in the system console

    AI Bots empty state

    Before any bots have been added, the empty state looks like below.

    image-20240320-211845.png

    Bots added state

    Once bots are added, they will show in the list like below.

    image-20240327-184559.png

    For each bot added to the plugin, admins can configure the following:

    Field

    Description

    Field

    Description

    Display name

    How the bot will display in the configuration and how users will see the bot displayed

    NOTE: This does not change the “AI copilot” name - this is just the name that is displayed in the bot tag/dropdown

    Bot username

    The username that users can @mention if they want to tag a specific bot in a conversation. NOTE: This must be a unique username

    Bot avatar

    The bot’s avatar image that will be displayed for replies directly from the bot

    Service

    The AI provider (e.g. OpenAI, Anthropic, etc)

    API Key (required)

    The API key provided by the LLM provider

    Default Modal

    A model that you can access with your API key (e.g. gpt-4)

    Instruction

    Admins can provide specific instructions to fine-tune the bot responses in order for the bot to respond or act in specific ways.

    Default values for the first bot added

    When the first bot is added it will have the following default values:

    Field

    Default value

    Field

    Default value

    Display name:

    AI Copilot

    Bot username:

    @ai

    Bot avatar:

    image-20240327-183602.png

    Service:

    OpenAi

    Default Modal:

    gpt-4

    Collapsable bot items

    Each bot in the list is a collapsable element.

    Collapsed - default state

    Collapsed - hover state

    Expanded state

    Migration from current version of the plugin

    If the workspace previously had an older version of the AI plugin, we will need to migrate their ‘AI Services’ configuration to the new ‘AI bots’ configuration.

    Each service that was previously configured will be converted to a bot and added to the list in an incomplete state with an indication that configuration is incomplete.

    Enterprise-only notice

    For non-enterprise workspaces, they cannot add multiple bots and a notice will display.

    Deleting a bot

    Users can delete an AI bot by clicking the delete icon on the right side of an AI bot item. A confirmation modal displays to confirm they want to remove the bot. When a bot is deleted, it will behave just like any deactivated/archived user. Messages will still be accessible, but new conversations cannot be started and the bot cannot be selected from the bot selection dropdowns.

    AI functions section

    The ‘AI functions’ section is hidden until the first bot has been added. If only one bot is added, the bot function dropdowns are disabled (since there is only one option).

    This section provides admins the ability to choose the default bot for LLM functions and transcription (more functions to come).


    Displaying the active bot to end users

    If there is only one bot configured in the system console, don’t display the dropdown/label to end users - except in the user profile popover.

    If there is more than one bot configured in the system console, then we display the AI bot to end users. in the following locations with the ability to select a different bot for the AI functions.

    In the context menus

    In the AI Copilot RHS

    When chatting with AI Copilot in the RHS, the messages will still show as responses from AI Copilot rather than the specific bot. The active bot name will just show at the top of the RHS.

    In the AI Copilot profile popover

    In the Chat history

    A label is added to the footer of each chat history preview to show the bot it uses.

    Changing bots/models for end users

    A bot label appears in the top-right of the AI copilot header. In a new chat with now response yet from the AI, this label becomes a dropdown which can be clicked to change the bot before chatting.

    Once a chat has a response from AI, this label cannot be changed and the dropdown arrow is hidden.

    The bot name and avatar will display as configured in the system console, but the AI Copilot title at the top of the RHS will always stay the same. As outlined above, by default the first bot’s name is AI Copilot with the sparkle icon avatar.

     

    Related content