3da4f5eac352259641eeb83a750656fba776d92c
When spam scanner is enabled and code is reloaded, developer experience this error: ``` NameError at /posts =================== uninitialized constant DiscourseAi::AiModeration::EntryPoint::SpamScanner > To access an interactive console with this error, point your browser to: /__better_errors plugins/discourse-ai/lib/ai_moderation/entry_point.rb, line 7 ``` It is because when we call `SpamScanner` it is searched within parent `DiscourseAi::AiModeration::EntryPoint` namespace. We can help a bit Zeitwerk by calling SpamScanner more explicitly.
Discourse AI Plugin
Plugin Summary
For more information, please see: https://meta.discourse.org/t/discourse-ai/259214?u=falco
Evals
The directory evals contains AI evals for the Discourse AI plugin.
You may create a local config by copying config/eval-llms.yml to config/eval-llms.local.yml and modifying the values.
To run them use:
cd evals ./run --help
Usage: evals/run [options]
-e, --eval NAME Name of the evaluation to run
--list-models List models
-m, --model NAME Model to evaluate (will eval all models if not specified)
-l, --list List evals
To run evals you will need to configure API keys in your environment:
OPENAI_API_KEY=your_openai_api_key ANTHROPIC_API_KEY=your_anthropic_api_key GEMINI_API_KEY=your_gemini_api_key