a838116cd5
This change adds two new reviewable types: ReviewableAIPost and ReviewableAIChatMessage. They have the same actions as their existing counterparts: ReviewableFlaggedPost and ReviewableChatMessage. We'll display the model used and their accuracy when showing these flags in the review queue and adjust the latter after staff performs an action, tracking a global accuracy per existing model in a separate table. * FEATURE: Dedicated reviewables for AI flags * Store and adjust model accuracy * Display accuracy in reviewable templates
44 lines
1.1 KiB
Ruby
44 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# name: discourse-ai
|
|
# about: TODO
|
|
# version: 0.0.1
|
|
# authors: Discourse
|
|
# url: TODO
|
|
# required_version: 2.7.0
|
|
|
|
enabled_site_setting :discourse_ai_enabled
|
|
|
|
require_relative "lib/discourse_ai/engine"
|
|
|
|
after_initialize do
|
|
module ::DiscourseAI
|
|
PLUGIN_NAME = "discourse-ai"
|
|
end
|
|
|
|
require_relative "lib/shared/inference_manager"
|
|
require_relative "lib/shared/classificator"
|
|
require_relative "lib/shared/post_classificator"
|
|
require_relative "lib/shared/chat_message_classificator"
|
|
|
|
require_relative "lib/modules/nsfw/entry_point"
|
|
require_relative "lib/modules/toxicity/entry_point"
|
|
require_relative "lib/modules/sentiment/entry_point"
|
|
|
|
[
|
|
DiscourseAI::NSFW::EntryPoint.new,
|
|
DiscourseAI::Toxicity::EntryPoint.new,
|
|
DiscourseAI::Sentiment::EntryPoint.new,
|
|
].each do |a_module|
|
|
a_module.load_files
|
|
a_module.inject_into(self)
|
|
end
|
|
|
|
register_reviewable_type ReviewableAIChatMessage
|
|
register_reviewable_type ReviewableAIPost
|
|
|
|
on(:reviewable_transitioned_to) do |new_status, reviewable|
|
|
ModelAccuracy.adjust_model_accuracy(new_status, reviewable)
|
|
end
|
|
end
|