Class: Braintrust::Eval::Context::Factory
- Inherits:
-
Object
- Object
- Braintrust::Eval::Context::Factory
- Defined in:
- lib/braintrust/eval/context.rb
Overview
Encapsulates normalization of raw user inputs into typed wrappers.
Instance Method Summary collapse
-
#build(task:, scorers:, cases:, classifiers: [], experiment_id: nil, experiment_name: nil, on_progress: nil, parent: nil, parameters: nil) ⇒ Context
Normalize raw inputs and construct a Braintrust::Eval::Context.
-
#initialize(state: nil, tracer_provider: nil, project_id: nil, project_name: nil) ⇒ Factory
constructor
A new instance of Factory.
Constructor Details
#initialize(state: nil, tracer_provider: nil, project_id: nil, project_name: nil) ⇒ Factory
Returns a new instance of Factory.
85 86 87 88 89 90 |
# File 'lib/braintrust/eval/context.rb', line 85 def initialize(state: nil, tracer_provider: nil, project_id: nil, project_name: nil) @state = state @tracer_provider = tracer_provider @project_id = project_id @project_name = project_name end |
Instance Method Details
#build(task:, scorers:, cases:, classifiers: [], experiment_id: nil, experiment_name: nil, on_progress: nil, parent: nil, parameters: nil) ⇒ Context
Normalize raw inputs and construct a Braintrust::Eval::Context.
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/braintrust/eval/context.rb', line 102 def build(task:, scorers:, cases:, classifiers: [], experiment_id: nil, experiment_name: nil, on_progress: nil, parent: nil, parameters: nil) Context.new( task: normalize_task(task), scorers: normalize_scorers(scorers), classifiers: normalize_classifiers(classifiers), cases: normalize_cases(cases), experiment_id: experiment_id, experiment_name: experiment_name, project_id: @project_id, project_name: @project_name, state: @state, tracer_provider: @tracer_provider || OpenTelemetry.tracer_provider, on_progress: on_progress, parent_span_attr: resolve_parent_span_attr(parent), generation: parent&.dig(:generation), parameters: parameters ) end |