![]() |
Summary | Integration between AI features and Discourse |
![]() |
Repository Link | GitHub - discourse/discourse-ai |
![]() |
Install Guide | How to install plugins in Discourse |
Please check our blog post about this plugin at
Introducing Discourse AI
We are happy to announce a brand new Discourse plugin that we have been working on: Discourse AI.
Discourse AI is our one-stop solution for integrating Artificial Intelligence and Discourse, enabling both new features and enhancing existing ones. With this first release, we are shipping 5 different Discourse AI modules.
Discourse AI Modules
For Discourse AI, we have opted to keep its features all in a single plugin, but separated by modules that you can enable independently and allow you to customize them for your community needs.
We’ve also made one of our priorities not to lock you to a single company API, so every community can pick the provider that makes sense for them, balancing data privacy, performance, feature sets, and vendor lock-in.
Community Sentiment
With the sentiment module, we will automatically classify every post in your community across sentiment (positive or negative) and/or emotion (joy, surprise, anger, disgust, fear, sadness, or neutral). This will allow your staff team to have insights into the community’s health and will help you to diagnose the sentiment across axes like category, topic, and user level.
Composer AI Helper
After composing your post, click on the icon and select any of the following options:
- Suggest titles
- Translate to English
- Proofread
And after a couple of seconds, you will get some help from the AI.
This is enabled here on Meta for TL2+
Toxicity Detection
The toxicity module can scan both new posts and chat messages and classify them on a toxicity score across a variety of labels. Those toxicity scores are all available for reports, where the community moderators can identify content that may not be adequate for your instance.
And, if you want to get one step further, you can enable automatic flagging of content that crosses a customizable toxicity threshold, which will put the potential problematic content into the Discourse Review Queue, where they can be manually analyzed by your mod team.
NSFW Image Detection
The NSFW module will automatically scan every new upload in user posts and classify each image found for what’s usually considered NSFW content. The content of the classification is available via reports to your moderator team and, optionally, you can enable automatic flagging of content that crosses a certainty threshold.
Embeddings
This powers two modules at the moment:
Semantic Related Topics
When you get to the end of a topic, Discourse presents you with 5 suggestions of topics to read next. Nowadays, we pick 5 random topics for anonymous users and use the unread topics for logged-in users to populate that list, making it quick to generate but not very useful when you are researching a specific subject.
With the new Semantic Related Topics feature, we will use Semantic Textual Similarity between the current topic and all the other topics in your instance to suggest topics that are potentially more relevant to what a person is looking for.
This is enabled here on Meta for all, including anon
Semantic Search
This used the same logic we used for semantic related topics, but to power search results.
Summarization
This module can summarize topics and chat channels, for times when you need a quick way to figure out what is going on.
Configuration
Check each module documentation topic:
Modules Providers
As we said above, we are committed to offer new AI features without compromising your privacy. See below the current providers and models for each module. CDCK handles hosting for open-source models in our infrastructure and API keys for SaaS providers like OpenAI:
Module | Provider | Processor |
---|---|---|
Toxicity | UnitaryAI | Discourse |
Sentiment | Emotion English DistilRoBERTa-base | Discourse |
Twitter-roBERTa-base for Sentiment Analysis | Discourse | |
NSFW | GantMan - nsfw | Discourse |
Open-NSFW 2 | Discourse | |
Semantic | Sentence Transformers | Discourse |
pgvector | Discourse | |
Composer | OpenAI | Third party |
Anthropic | Third party | |
Summarization | bart large cnn samsum | Discourse |
flan t5 base sansum | Discourse | |
long t5 tglobal base 16384 book summary | Discourse | |
OpenAI | Third party | |
Anthropic | Third party | |
AIBot | OpenAI | Third party |
Anthropic | Third party |
Additional Discourse processor options for Composer / Summarization / AIBot are coming soon!
Disclaimer
We are being very mindful with our experimentation around AI. The algorithms we are leaning on are only as good as the data they were trained on. Bias, inaccuracies and hallucinations are all possibilities we need to allow for. We regularly revisit, test and refine our AI modules.
Self Hosting
Check the docs on self-hosting the API services at Discourse AI - Self-Hosted Guide
FAQ
Will this available on Discourse hosting? Which plans?
This is available in preview for Enterprise customers, please contact our support team to get it installed and configured on your instance.
Rollout for select modules for other tiers will follow later.
- Update: The AI Bot module is now available for all of our hosting tiers!
Will CDCK offer a SaaS version of the AI services API for self-hosted communities?
Not at the moment, but this is something we may consider given the feedback from our community.
Hosted by us? The full plugin is available for preview on our Enterprise plan, with select modules available on other tiers. See the FAQs above for more detail.