Class: EvaluationMetric
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- EvaluationMetric
- Defined in:
- lib/generators/decision_agent/install/templates/evaluation_metric.rb
Class Method Summary collapse
-
.average_score_by_evaluator(time_range: 3600) ⇒ Object
Aggregation helpers.
- .count_by_evaluator(time_range: 3600) ⇒ Object
- .success_rate_by_evaluator(time_range: 3600) ⇒ Object
Instance Method Summary collapse
-
#parsed_details ⇒ Object
Parse JSON details field.
Class Method Details
.average_score_by_evaluator(time_range: 3600) ⇒ Object
Aggregation helpers
15 16 17 18 19 20 |
# File 'lib/generators/decision_agent/install/templates/evaluation_metric.rb', line 15 def self.average_score_by_evaluator(time_range: 3600) recent(time_range) .where.not(score: nil) .group(:evaluator_name) .average(:score) end |
.count_by_evaluator(time_range: 3600) ⇒ Object
29 30 31 32 33 |
# File 'lib/generators/decision_agent/install/templates/evaluation_metric.rb', line 29 def self.count_by_evaluator(time_range: 3600) recent(time_range) .group(:evaluator_name) .count end |
.success_rate_by_evaluator(time_range: 3600) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/generators/decision_agent/install/templates/evaluation_metric.rb', line 22 def self.success_rate_by_evaluator(time_range: 3600) recent(time_range) .where.not(success: nil) .group(:evaluator_name) .select("evaluator_name, AVG(CASE WHEN success THEN 1.0 ELSE 0.0 END) as success_rate") end |
Instance Method Details
#parsed_details ⇒ Object
Parse JSON details field
36 37 38 39 40 41 42 |
# File 'lib/generators/decision_agent/install/templates/evaluation_metric.rb', line 36 def parsed_details return {} if details.nil? JSON.parse(details, symbolize_names: true) rescue JSON::ParserError {} end |