@@ -191,23 +191,24 @@ func (c *Client) Tracer(name string, opts ...oteltrace.TracerOption) oteltrace.T
191191 return c .tracerProvider .Tracer (name , opts ... )
192192}
193193
194- // NewEvaluator creates a new evaluator for running evaluations with the same
195- // input and output types.
194+ // NewEval creates a runnable [eval.Eval] by combining a client with an eval definition.
196195//
197196// Example:
198197//
199198// client, _ := braintrust.New(tp)
200- // evaluator := braintrust.NewEvaluator[string, string](client)
201- //
202- // // Define a reusable eval, then run it with different datasets
203- // myEval := &eval.Eval[string, string]{
204- // Name: "my-eval",
199+ // e := braintrust.NewEval(client, &eval.Eval[string, string]{
200+ // Name: "classify",
205201// Task: task,
206202// Scorers: scorers,
207- // }
208- // result, _ := evaluator.RunEval(ctx, myEval, eval.RunOpts[string, string]{
209- // Dataset: dataset,
210203// })
204+ // result, _ := e.Run(ctx, eval.RunOpts[string, string]{Dataset: dataset})
205+ func NewEval [I , R any ](client * Client , e * eval.Eval [I , R ]) * eval.Eval [I , R ] {
206+ evaluator := eval .NewEvaluator [I , R ](client .session , client .tracerProvider , client .API (), client .config .DefaultProjectName )
207+ return eval .NewEval (evaluator , e )
208+ }
209+
210+ // NewEvaluator creates a new evaluator for running evaluations with the same
211+ // input and output types.
211212func NewEvaluator [I , R any ](client * Client ) * eval.Evaluator [I , R ] {
212213 return eval .NewEvaluator [I , R ](client .session , client .tracerProvider , client .API (), client .config .DefaultProjectName )
213214}
0 commit comments