-
Notifications
You must be signed in to change notification settings - Fork 43
Moderation provider docs #2619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Moderation provider docs #2619
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
||
The following are the fields specific to Bodyguard configuration: | ||
|
||
| Field | Description | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've now got 4 rules that will have a lot of field crossover (the before publish rule config). Worth extracting the common fields to an overview page (like we have for "custom") so that we don't have to repeat ourselves on every page (and just have a callout to that page on the individual provider pages)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point! have extracted them all out now, see f0dbdf0
27f0fbc
to
f0dbdf0
Compare
@@ -37,12 +49,26 @@ Alternatively, you might have a custom solution you wish to integrate with, or a | |||
|
|||
[Hive](https://hivemoderation.com) provide automated content moderation solutions. The first of these is the [model only](/docs/chat/moderation/direct/hive-model-only) solution, which provides access to a powerful ML model that takes content and categorises it against various criteria, for example, violence or hate speech. For each classification, it also provides an indication of the severity of the infraction. Using this information, you can determine what level of classification is appropriate for your chat room and filter / reject content accordingly. Hive offer free credits to allow you to experiment with this solution. | |||
|
|||
The second solution is the [dashboard](/docs/chat/moderation/direct/hive-dashboard). This is an all-in-one moderation tool, that allows you to combine automated workflows using ML models as well as human review and decisions to control the content in your chat room. | |||
The second solution is the [dashboard](/docs/chat/moderation/direct/hive-dashboard). This is an all-in-one moderation tool, that allows you to combine automated workflows using ML models as well as human review and decisions to control the content in your chat room. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not this PR but a quick fix - there's a few links in the direct vs custom section that are broken
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will fix in a separate PR!
@@ -19,6 +19,18 @@ When using before publish moderation, a message is reviewed by an automated mode | |||
|
|||
This approach provides additional safety guarantees, but may come at the cost of a small amount of latency, as messages must be vetted prior to being published. | |||
|
|||
#### Common Configuration Fields <a id="common-config"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also have this table in the index.mdx
for before publish lambda - so we should probably lift this here too, or have the fields once each in custom and provider
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah yes good idea, have de-duped now 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sentence case for headings please 🙂
f0dbdf0
to
b915cd8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly a few suggestions to improve readability, and one question. Looks good other than that.
Messages will be rejected if Bodyguard's analysis returns a `REMOVE` recommended action based on the moderation rules configured in your Bodyguard channel. | ||
|
||
## Handling rejections <a id="rejections"/> | ||
|
||
If a message fails moderation and the rule policy is to reject, then it will be rejected by the server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These seem to be saying sort of the same thing in different words?
|
||
## Handling rejections <a id="rejections"/> | ||
|
||
If a message fails moderation and the rule policy is to reject, then it will be rejected by the server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same question for Bodyguard, but this suggests that you set up a policy as to what happens when a message fails moderation. But to me it looks like we reject if it's at, or above the threshold, and this isn't any additional config to do something other than reject.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah good point, this was misleading. have updated to be more correct + explicit
@@ -19,6 +19,18 @@ When using before publish moderation, a message is reviewed by an automated mode | |||
|
|||
This approach provides additional safety guarantees, but may come at the cost of a small amount of latency, as messages must be vetted prior to being published. | |||
|
|||
#### Common Configuration Fields <a id="common-config"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sentence case for headings please 🙂
Co-authored-by: Mark Hulbert <39801222+m-hulbert@users.noreply.github.com>
230772e
to
edd76f6
Compare
Messages will be rejected if Bodyguard's analysis returns a `REMOVE` recommended action based on the moderation rules configured in your Bodyguard channel. | ||
|
||
## Handling rejections <a id="rejections"/> | ||
|
||
If a message fails moderation the message will not be published and the publish request will be rejected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these two sentences have a similar level of confusion as Tisane's did. Worth re-wording?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you explain what's confusing about them?
don't merge until website/control API have been updated
Adds docs for the new tisane and bodyguard moderation providers, as implemented in https://github.com/ably/realtime/pull/7151 and https://github.com/ably/realtime/pull/7414 respectively.
https://ably.atlassian.net/browse/CHA-994