This topic covers the configuration of AI Bot module of the Discourse AI plugin.
The AI Bot is a chatbot that allows for direct integration with generative AI powered by OpenAI (ChatGPT), Anthropic (Claude), Stability AI (Stable Diffusion) and others!
Ability to pick the specific AI Bot persona you want to interact with
Flexibility around which Large Language Model (LLM) provider you can use (Anthropic/Open AI)
Multiple people can interact with the AI Bot at the same time in the same UI
Automatically titles private messages (PMs) with the AI Bot
Replies are generated continuously through streaming and can be stopped at any time
Enable bot for a specific subset of users
Depending on the help you need, you have several different “personas” to choose from. These personas are preset and predefined, users can pick any of the personas before chatting with AI Bot. These personas are designed to best serve the needs of your community and help you get the best answer to your questions…
Forum Helper: General purpose AI bot capable of performing various tasks. Can search your current Discourse instance and use that information to build responses
i.e - What are the top posts for AI?
SQL Helper: AI Bot specialized in helping craft SQL queries on this Discourse Instance (aware of your current DB schema)
i.e - Write me a query to find all the AI bot messages by a specific customer/user
Artist: AI Bot specialized in generating images. Need a Stable Diffusion API key
i.e - Draw me a picture of a cat
Settings Explorer: AI Bot specialized in helping explore Discourse site settings. (aware of Discourse source code)
i.e - How do I enable Discourse AI on my Discourse site?
Researcher: AI Bot with Google access to research information for you. Need a Google Custom Search API key
i.e - How many legs does a dinosaur have?
Creative: AI Bot without any external integrations
i.e - Come up with 5 ideas to improve community engagement
Hosted by us? Currently, this module is available for all hosted by Discourse customers on any plan.
It comes pre-installed on most plans, and if you’re an Enterprise customer you can contact us to have it added to your site on request.
Otherwise, there is a risk of abuse of requests to artificial intelligence by both ordinary users and staff. I tried to limit requests in ChatGPT using the site settings to limit the number of topics /site_settings/category/rate_limits and private messages, but this applies to the entire forum as a whole, which is not the best solution, limiting normal communication between users. But, even when using the normal forum settings, there is no way to limit the number of posts in topics (via the Replay button function).
When introducing a quota system, I believe that it is necessary to provide for the possibility of differentiating quotas for public posts and personal messages.
Such an approach could serve as a vital instrument to spur users into engaging with the chatbot for private communication or alternatively, for interacting in the arena of public posts. By extension, this mechanism could be harnessed as a means to encourage our users to converse more copiously with the chatbot in the public sphere, thereby augmenting the expanse of the public knowledge base. The corollary of this strategy would be an enriched user experience in the utilisation of artificial intelligence.
How (in what settings) do I need to make changes to the plugin in order for Aibot to appear as an assistant for my site, for example, “I am an assistant for mysitename.com”. At this time, he introduces himself as the Discourse assistant, confusing users a little
The way our hosted sites are set up, Free, Basic, Standard, and Business have all of their plan’s available plugins pre-installed, whereas Enterprise pick the ones they want out of the whole range and we install them individually.
So someone on the Business plan (for instance) will see the plugin on their /plugins page and can add their api keys and enable it from there, but an Enterprise customer would send us an email first and we’d install it for them.
I think it may have been written from an ‘assumed knowledge’ point of view though, so we can likely rephrase it to make it more transparent.
I also support this proposal. Currently, I have to specify minimal roles (for example, general) for all users in the plugin settings, and when I need to make an sql query, I turn on sql_helper for a while, then turn it off again, and this is very inconvenient. In my case, I imagine it this way: for the Group-A group the character is general, for Group-B the characters are general + artist, and for the staff and VIP-group all the bot characters.
It looks to me like someone thought of it, at least for custom personas (see the allowed_group_ids below). Though I’ve not paid careful attention to any of this, I think it may make sense to move all personas into the custom personas model and populate the current defaults with fixtures. That would give group-level control over personas almost for free.