This guide explains how to set up and manage Personas for Discourse AI - AI bot.
Required user level: Administrator
The Discourse AI bot includes a flexible system for managing Personas. This guide covers:
- Interaction methods for AI Personas
- Configuration options
- Advanced settings
- Supported commands
- Customization possibilities
Learn about the AI bot and how to enable it in this guide.
What are personas?
Personas are a powerful feature that allows you to customize the behavior of the AI engine in your Discourse forum. They act as a ‘system message’ that guides the AI’s responses and interactions, helping to create a more personalized and engaging user experience.
Why use personas?
With personas, you can tailor the AI’s behavior to better fit the context and tone of your forum. Whether you want the AI to be more formal for a professional setting, more casual for a community forum, or even embody a specific character for a role-playing game, personas give you the flexibility to do so.
Group-specific access to personas
Moreover, you can set it up so that certain user groups have access to specific personas. This means you can have different AI behaviors for different sections of your forum, further enhancing the diversity and richness of your community’s interactions.
Interacting with Personas
Personas can be interacted with in multiple ways:
- Private message (PM)
- Chat direct message (DM)
- Chat channel mentions
- Mention in a public topic via
@examle_bot_username
Administrators can control which interaction methods are allowed for each persona.
Configuration
To configure Personas, navigate to discourse.example.com/admin/plugins/discourse-ai/ai-personas
.
Key configuration options include:
- System prompt: Steers the conversation
- Vision support: Enable for Vision powered LLMs, i.e- GPT-4 Turbo, Claude 3
- Default model: Required for mentionable personas
- Allowed groups: Define permissions using Discourse group security
- Uploads: Index text files for additional knowledge (using RAG - Retrieval-Augmented Generation)
- Enabled commands: Control access to specific commands
- Allow chat: Enable chat via DM (requires chat plugin, a default large language model (LLM), and a user)
Here’s a look at a complete AI persona configuration screen:
Advanced configuration options
The persona editor offers several advanced options:
- Temperature and top_p (nucleus sampling): Control creativity vs. predictability
- Max context posts: Limit the number of posts supplied to the LLM for history - fewer posts will reduce costs, but cause the AI to “forget” about older content
-
Upload options:
- Chunk tokens: Control document splitting
- Chunk overlap tokens: Set overlap between chunks
- Search conversation chunks: Number of document fragments added to user queries
- Question consolidator LLM: Choose the LLM for determining user questions
Prerequisites for upload support
To use upload support:
- Enable the
ai_embeddings_enabled
setting - Configure an
ai_embeddings_model
Discourse AI supports various embedding models. Hosted customers get free access to the bge-large-en model.
Self-hosters or people wanting more choice can self host an embedding model or use models by Open AI, Google (Gemini), and more.
Text splitting in Discourse AI
Discourse uses a Recursive Character Text Splitter to keep paragraphs, lines, and words together when splitting text. You can control text splitting using the [[metadata YOUR METADATA HERE]]
separator:
[[metadata about cats]]
a long story about cats
[[metadata about dogs]]
a long story about dogs
This method prevents “chunk contamination” by ensuring only relevant data is included in each chunk.
Debugging AI personas
To debug your persona:
- Add users to the group specified in the
ai bot debugging enabled groups
setting - Users in this group will see an AI debugging button at the bottom of AI posts
- Click the button to access the debugging UI modal
Remember: If you provide vague or unhelpful information to an LLM, it will have great difficulty converting it into useful information.
Supported commands
Discourse AI supports various commands, including:
- Categories
- Tags
- Search
- Web Browser
- GitHub integration (Search Code, Pull Request Diff, File Content)
- Requires the
ai bot github access token
setting to be filled
- Requires the
- Search Meta Discourse
- Random Picker
- Read
- Time
- Google search
- Requires the
ai google custom search api key
andai google custom search cx
settings to be filled
- Requires the
- Image generation via DALL-E
- Requires an open_ai key
- Image generation via Stable Diffusion
- Requires the
ai stability api key
setting to be filled - The
ai stability engine
setting controls the image generation algorithm
- Requires the
- Schema
- Search Settings
- Setting Context
Some commands require additional configuration or API keys.
Custom tool support
You can create your own tools using custom tool support.
Customizing system personas
- Create a new persona
- Copy and paste the system prompt from the persona you wish to customize
- Modify as needed
- Optionally disable the original system persona to avoid duplication
Customizing search
To customize search for a new persona:
- Create a new persona
- Add the “search” command
- Configure search options, including:
- Base search query
- Maximum number of search results
- Include private topics option
This allows you to delegate search permissions, increase the number of results, or restrict search to specific sections of your site.
Last edited by @martin 2024-11-18T06:30:47Z
Check document
Perform check on document: