Module: CompletionKit::MetricCalibrationExamples
- Defined in:
- app/services/completion_kit/metric_variant_generator.rb
Class Method Summary collapse
- .borderlines_for(metric, limit: 6) ⇒ Object
- .calibrations_for(metric, verdict:, limit:) ⇒ Object
- .disagreements_for(metric, limit: 8) ⇒ Object
- .for(metric, limit: 8) ⇒ Object
Class Method Details
.borderlines_for(metric, limit: 6) ⇒ Object
144 145 146 |
# File 'app/services/completion_kit/metric_variant_generator.rb', line 144 def borderlines_for(metric, limit: 6) calibrations_for(metric, verdict: "borderline", limit: limit) end |
.calibrations_for(metric, verdict:, limit:) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'app/services/completion_kit/metric_variant_generator.rb', line 148 def calibrations_for(metric, verdict:, limit:) base = Calibration.where(metric_id: metric.id, verdict: verdict) current_version = MetricVersion.current.find_by(metric_id: metric.id) scoped = current_version ? base.where(metric_version_id: current_version.id) : base effective = scoped.exists? ? scoped : base effective.includes(response: :reviews) .order(created_at: :desc) .limit(limit) .map do |cal| review = cal.response.reviews.find { |r| r.metric_id == metric.id } { input: cal.response.input_data, output: cal.response.response_text, judge_score: review&.ai_score, judge_feedback: review&.ai_feedback, human_score: cal.corrected_score, human_note: cal.note } end end |
.disagreements_for(metric, limit: 8) ⇒ Object
140 141 142 |
# File 'app/services/completion_kit/metric_variant_generator.rb', line 140 def disagreements_for(metric, limit: 8) calibrations_for(metric, verdict: "disagree", limit: limit) end |
.for(metric, limit: 8) ⇒ Object
136 137 138 |
# File 'app/services/completion_kit/metric_variant_generator.rb', line 136 def for(metric, limit: 8) disagreements_for(metric, limit: limit) end |