Class: Langsmith::Evaluation::ExperimentRunner
- Inherits:
-
Object
- Object
- Langsmith::Evaluation::ExperimentRunner
- Defined in:
- lib/langsmith/evaluation/experiment_runner.rb
Overview
Orchestrates running an evaluation experiment against a dataset.
Fetches examples, creates an experiment, runs each example through the user-provided block with evaluation context set, scores outputs with evaluators, and returns a summary of results.
Instance Method Summary collapse
-
#initialize(dataset_id:, experiment_name:, description: nil, metadata: nil, evaluators: {}, tenant_id: nil, &block) ⇒ ExperimentRunner
constructor
A new instance of ExperimentRunner.
-
#run ⇒ Hash
Run the evaluation experiment.
Constructor Details
#initialize(dataset_id:, experiment_name:, description: nil, metadata: nil, evaluators: {}, tenant_id: nil, &block) ⇒ ExperimentRunner
Returns a new instance of ExperimentRunner.
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/langsmith/evaluation/experiment_runner.rb', line 18 def initialize(dataset_id:, experiment_name:, description: nil, metadata: nil, evaluators: {}, tenant_id: nil, &block) @dataset_id = dataset_id @experiment_name = experiment_name @description = description @metadata = @evaluators = evaluators @tenant_id = tenant_id @block = block end |
Instance Method Details
#run ⇒ Hash
Run the evaluation experiment.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/langsmith/evaluation/experiment_runner.rb', line 32 def run experiment_id = nil examples = client.list_examples(dataset_id: @dataset_id, tenant_id: @tenant_id) experiment = client.create_experiment( name: @experiment_name, dataset_id: @dataset_id, description: @description, metadata: @metadata, tenant_id: @tenant_id ) experiment_id = experiment[:id] results = examples.map { |example| run_example(example, experiment_id) } build_summary(experiment_id, results) ensure close_experiment(experiment_id) if experiment_id end |