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.
Bots added state
Once bots are added, they will show in the list like below.
For each bot added to the plugin, admins can configure the following:
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 |
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 |
---|---|
Display name: |
|
Bot username: |
|
Bot avatar: | |
Service: |
|
Default Modal: |
|
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.