Class: PromptEngine::EvaluationsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/prompt_engine/evaluations_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/prompt_engine/evaluations_controller.rb', line 5

def index
  @prompts_with_eval_sets = Prompt.joins(:eval_sets)
    .includes(eval_sets: [ :eval_runs ])
    .distinct
    .order(:name)

  # Calculate overall statistics
  @total_eval_sets = EvalSet.count
  @total_eval_runs = EvalRun.count
  @total_test_cases = TestCase.count

  # Get recent evaluation activity
  @recent_runs = EvalRun.includes(eval_set: :prompt, prompt_version: :prompt)
    .order(created_at: :desc)
    .limit(10)

  # Calculate overall pass rate
  completed_runs = EvalRun.where(status: "completed")
  if completed_runs.any?
    total_passed = completed_runs.sum(:passed_count)
    total_tests = completed_runs.sum(:total_count)
    @overall_pass_rate = (total_tests > 0) ? (total_passed.to_f / total_tests * 100).round(2) : 0
  else
    @overall_pass_rate = 0
  end
end