mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-08 04:15:18 +08:00
Introduces two new site settings to apply exponential age-based penalties to semantic topic suggestions, similar to algorithms used by Reddit/HN: * ai_embeddings_semantic_related_age_penalty (default: 0.3) Controls penalty strength. 0.0 = disabled, 0.3 = gentle bias toward newer content, 1.0+ = strong recency preference * ai_embeddings_semantic_related_age_time_scale (default: 365 days) Controls time horizon. Use 365 for yearly scale, 90 for quarterly scale, etc. Formula: similarity_score / POWER(age_in_days / time_scale + 1, penalty) This allows sites to de-prioritize older topics in suggestions while maintaining configurability for forums with different content lifecycles. Performance optimized with conditional JOINs only when penalty > 0. "Age" here is using bumped_at to work with communities with long lived mega topics too. --------- Co-authored-by: Penar Musaraj <pmusaraj@gmail.com> |
||
|---|---|---|
| .. | ||
| configuration | ||
| db/migrate | ||
| fabricators | ||
| fixtures | ||
| jobs | ||
| lib | ||
| models | ||
| reports | ||
| requests | ||
| serializers | ||
| services | ||
| shared/inference | ||
| support | ||
| system | ||
| tasks | ||
| plugin_helper.rb | ||
| plugin_spec.rb | ||