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:, 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.
79 80 81 82 83 84 |
# File 'lib/braintrust/eval/context.rb', line 79 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:, experiment_id: nil, experiment_name: nil, on_progress: nil, parent: nil, parameters: nil) ⇒ Context
Normalize raw inputs and construct a Braintrust::Eval::Context.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/braintrust/eval/context.rb', line 95 def build(task:, scorers:, cases:, experiment_id: nil, experiment_name: nil, on_progress: nil, parent: nil, parameters: nil) Context.new( task: normalize_task(task), scorers: normalize_scorers(scorers), 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 |