@arizeai/phoenix-client 6.5.4 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/esm/__generated__/api/v1.d.ts +244 -0
  2. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  3. package/dist/esm/experiments/resumeEvaluation.d.ts.map +1 -1
  4. package/dist/esm/experiments/resumeEvaluation.js +181 -170
  5. package/dist/esm/experiments/resumeEvaluation.js.map +1 -1
  6. package/dist/esm/experiments/resumeExperiment.d.ts.map +1 -1
  7. package/dist/esm/experiments/resumeExperiment.js +201 -185
  8. package/dist/esm/experiments/resumeExperiment.js.map +1 -1
  9. package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
  10. package/dist/esm/experiments/runExperiment.js +239 -207
  11. package/dist/esm/experiments/runExperiment.js.map +1 -1
  12. package/dist/esm/experiments/tracing.d.ts +10 -0
  13. package/dist/esm/experiments/tracing.d.ts.map +1 -0
  14. package/dist/esm/experiments/tracing.js +21 -0
  15. package/dist/esm/experiments/tracing.js.map +1 -0
  16. package/dist/esm/prompts/sdks/toSDK.d.ts +2 -2
  17. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  18. package/dist/esm/types/experiments.d.ts +6 -0
  19. package/dist/esm/types/experiments.d.ts.map +1 -1
  20. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
  21. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  22. package/dist/src/__generated__/api/v1.d.ts +244 -0
  23. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  24. package/dist/src/experiments/resumeEvaluation.d.ts.map +1 -1
  25. package/dist/src/experiments/resumeEvaluation.js +194 -183
  26. package/dist/src/experiments/resumeEvaluation.js.map +1 -1
  27. package/dist/src/experiments/resumeExperiment.d.ts.map +1 -1
  28. package/dist/src/experiments/resumeExperiment.js +214 -198
  29. package/dist/src/experiments/resumeExperiment.js.map +1 -1
  30. package/dist/src/experiments/runExperiment.d.ts.map +1 -1
  31. package/dist/src/experiments/runExperiment.js +229 -197
  32. package/dist/src/experiments/runExperiment.js.map +1 -1
  33. package/dist/src/experiments/tracing.d.ts +10 -0
  34. package/dist/src/experiments/tracing.d.ts.map +1 -0
  35. package/dist/src/experiments/tracing.js +24 -0
  36. package/dist/src/experiments/tracing.js.map +1 -0
  37. package/dist/src/types/experiments.d.ts +6 -0
  38. package/dist/src/types/experiments.d.ts.map +1 -1
  39. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
  40. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/docs/annotations.mdx +83 -0
  43. package/docs/datasets.mdx +77 -0
  44. package/docs/document-annotations.mdx +208 -0
  45. package/docs/experiments.mdx +376 -0
  46. package/docs/overview.mdx +176 -0
  47. package/docs/prompts.mdx +73 -0
  48. package/docs/session-annotations.mdx +158 -0
  49. package/docs/sessions.mdx +87 -0
  50. package/docs/span-annotations.mdx +283 -0
  51. package/docs/spans.mdx +76 -0
  52. package/docs/traces.mdx +63 -0
  53. package/package.json +9 -3
  54. package/src/__generated__/api/v1.ts +244 -0
  55. package/src/experiments/resumeEvaluation.ts +226 -206
  56. package/src/experiments/resumeExperiment.ts +237 -213
  57. package/src/experiments/runExperiment.ts +282 -243
  58. package/src/experiments/tracing.ts +30 -0
  59. package/src/types/experiments.ts +6 -0
@@ -1,5 +1,5 @@
1
1
  import { MimeType, OpenInferenceSpanKind, SemanticConventions, } from "@arizeai/openinference-semantic-conventions";
2
- import { createNoOpProvider, objectAsAttributes, register, SpanStatusCode, trace, } from "@arizeai/phoenix-otel";
2
+ import { attachGlobalTracerProvider, createNoOpProvider, objectAsAttributes, register, SpanStatusCode, } from "@arizeai/phoenix-otel";
3
3
  import { queue } from "async";
4
4
  import invariant from "tiny-invariant";
5
5
  import { createClient } from "../client.js";
@@ -13,6 +13,7 @@ import { getDatasetExperimentsUrl, getDatasetUrl, getExperimentUrl, } from "../u
13
13
  import { getExperimentInfo } from "./getExperimentInfo.js";
14
14
  import { getExperimentEvaluators } from "./helpers/index.js";
15
15
  import { logEvalSummary, logLinks, logTaskSummary, PROGRESS_PREFIX, } from "./logging.js";
16
+ import { cleanupOwnedTracerProvider } from "./tracing.js";
16
17
  /**
17
18
  * Validate that a repetition is valid
18
19
  */
@@ -54,7 +55,8 @@ function isValidRepetitionParam(repetitions) {
54
55
  export async function runExperiment({ experimentName, experimentDescription, experimentMetadata = {}, client: _client, dataset: datasetSelector, task, evaluators, logger = createLogger(), record = true, concurrency = 5, dryRun = false, setGlobalTracerProvider = true, repetitions = 1, useBatchSpanProcessor = true, diagLogLevel, }) {
55
56
  // Validation
56
57
  invariant(isValidRepetitionParam(repetitions), "repetitions must be an integer greater than 0");
57
- let provider;
58
+ let taskProvider;
59
+ let taskGlobalRegistration = null;
58
60
  const isDryRun = typeof dryRun === "number" || dryRun === true;
59
61
  const client = _client ?? createClient();
60
62
  const dataset = await getDataset({
@@ -134,7 +136,7 @@ export async function runExperiment({ experimentName, experimentDescription, exp
134
136
  // Initialize the tracer, now that we have a project name
135
137
  const baseUrl = client.config.baseUrl;
136
138
  invariant(baseUrl, "Phoenix base URL not found. Please set PHOENIX_HOST or set baseUrl on the client.");
137
- provider = register({
139
+ taskProvider = register({
138
140
  projectName,
139
141
  url: baseUrl,
140
142
  headers: client.config.headers
@@ -142,105 +144,126 @@ export async function runExperiment({ experimentName, experimentDescription, exp
142
144
  : undefined,
143
145
  batch: useBatchSpanProcessor,
144
146
  diagLogLevel,
145
- global: setGlobalTracerProvider,
147
+ global: false,
146
148
  });
147
- taskTracer = provider.getTracer(projectName);
148
- }
149
- if (!record) {
150
- logger.info(`Running experiment in readonly mode. Results will not be recorded.`);
149
+ taskGlobalRegistration = setGlobalTracerProvider
150
+ ? attachGlobalTracerProvider(taskProvider)
151
+ : null;
152
+ taskTracer = taskProvider.getTracer(projectName);
151
153
  }
152
- const links = [];
153
- if (!isDryRun && client.config.baseUrl) {
154
- links.push({
155
- label: "Dataset",
156
- url: getDatasetUrl({
157
- baseUrl: client.config.baseUrl,
158
- datasetId: dataset.id,
159
- }),
154
+ try {
155
+ if (!record) {
156
+ logger.info(`Running experiment in readonly mode. Results will not be recorded.`);
157
+ }
158
+ const links = [];
159
+ if (!isDryRun && client.config.baseUrl) {
160
+ links.push({
161
+ label: "Dataset",
162
+ url: getDatasetUrl({
163
+ baseUrl: client.config.baseUrl,
164
+ datasetId: dataset.id,
165
+ }),
166
+ });
167
+ links.push({
168
+ label: "Experiments",
169
+ url: getDatasetExperimentsUrl({
170
+ baseUrl: client.config.baseUrl,
171
+ datasetId: dataset.id,
172
+ }),
173
+ });
174
+ links.push({
175
+ label: "Experiment",
176
+ url: getExperimentUrl({
177
+ baseUrl: client.config.baseUrl,
178
+ datasetId: dataset.id,
179
+ experimentId: experiment.id,
180
+ }),
181
+ });
182
+ }
183
+ const evCount = evaluators?.length ?? 0;
184
+ logger.info(`${PROGRESS_PREFIX.start}Experiment ${experimentName || "<unnamed>"} (dataset ${dataset.name}, ${nExamples} ${pluralize("example", nExamples)}, ${evCount} ${pluralize("evaluator", evCount)})`);
185
+ const runs = {};
186
+ await runTaskWithExamples({
187
+ client,
188
+ experimentId: experiment.id,
189
+ task,
190
+ dataset,
191
+ logger,
192
+ onComplete: (run) => {
193
+ runs[run.id] = run;
194
+ },
195
+ concurrency,
196
+ isDryRun,
197
+ nExamples,
198
+ tracer: taskTracer,
199
+ repetitions,
200
+ });
201
+ const taskRuns = Object.values(runs);
202
+ const taskErrors = taskRuns.filter((run) => run.error != null).length;
203
+ const taskTotal = nExamples * repetitions;
204
+ const taskOkStr = taskErrors > 0
205
+ ? `${taskRuns.length - taskErrors}/${taskTotal} ok (${taskErrors} failed)`
206
+ : `${taskRuns.length}/${taskTotal} ok`;
207
+ logger.info(`${PROGRESS_PREFIX.completed}Tasks ${taskOkStr}`);
208
+ const ranExperiment = {
209
+ ...experiment,
210
+ runs,
211
+ };
212
+ await cleanupOwnedTracerProvider({
213
+ provider: taskProvider,
214
+ globalRegistration: taskGlobalRegistration,
160
215
  });
161
- links.push({
162
- label: "Experiments",
163
- url: getDatasetExperimentsUrl({
164
- baseUrl: client.config.baseUrl,
165
- datasetId: dataset.id,
166
- }),
216
+ taskProvider = undefined;
217
+ taskGlobalRegistration = null;
218
+ if (evaluators && evaluators.length > 0) {
219
+ const evNames = getExperimentEvaluators(evaluators)
220
+ .map((evaluator) => evaluator.name)
221
+ .join(", ");
222
+ logger.info(`${PROGRESS_PREFIX.start}Evaluations (${evNames})`);
223
+ }
224
+ const { evaluationRuns } = await evaluateExperiment({
225
+ experiment: ranExperiment,
226
+ evaluators: evaluators ?? [],
227
+ client,
228
+ logger,
229
+ concurrency,
230
+ dryRun,
231
+ diagLogLevel,
232
+ useBatchSpanProcessor,
233
+ setGlobalTracerProvider,
167
234
  });
168
- links.push({
169
- label: "Experiment",
170
- url: getExperimentUrl({
171
- baseUrl: client.config.baseUrl,
172
- datasetId: dataset.id,
235
+ ranExperiment.evaluationRuns = evaluationRuns;
236
+ // Refresh experiment info from server to get updated counts (non-dry-run only)
237
+ if (!isDryRun) {
238
+ const updatedExperiment = await getExperimentInfo({
239
+ client,
173
240
  experimentId: experiment.id,
174
- }),
241
+ });
242
+ // Update the experiment info with the latest from the server
243
+ Object.assign(ranExperiment, updatedExperiment);
244
+ }
245
+ logTaskSummary(logger, {
246
+ nExamples,
247
+ repetitions,
248
+ nRuns: taskRuns.length,
249
+ nErrors: taskErrors,
175
250
  });
251
+ if (ranExperiment.evaluationRuns &&
252
+ ranExperiment.evaluationRuns.length > 0) {
253
+ logEvalSummary(logger, ranExperiment.evaluationRuns);
254
+ }
255
+ logLinks(logger, links);
256
+ return ranExperiment;
176
257
  }
177
- const evCount = evaluators?.length ?? 0;
178
- logger.info(`${PROGRESS_PREFIX.start}Experiment ${experimentName || "<unnamed>"} (dataset ${dataset.name}, ${nExamples} ${pluralize("example", nExamples)}, ${evCount} ${pluralize("evaluator", evCount)})`);
179
- const runs = {};
180
- await runTaskWithExamples({
181
- client,
182
- experimentId: experiment.id,
183
- task,
184
- dataset,
185
- logger,
186
- onComplete: (run) => {
187
- runs[run.id] = run;
188
- },
189
- concurrency,
190
- isDryRun,
191
- nExamples,
192
- tracer: taskTracer,
193
- repetitions,
194
- });
195
- const taskRuns = Object.values(runs);
196
- const taskErrors = taskRuns.filter((run) => run.error != null).length;
197
- const taskTotal = nExamples * repetitions;
198
- const taskOkStr = taskErrors > 0
199
- ? `${taskRuns.length - taskErrors}/${taskTotal} ok (${taskErrors} failed)`
200
- : `${taskRuns.length}/${taskTotal} ok`;
201
- logger.info(`${PROGRESS_PREFIX.completed}Tasks ${taskOkStr}`);
202
- const ranExperiment = {
203
- ...experiment,
204
- runs,
205
- };
206
- if (evaluators && evaluators.length > 0) {
207
- const evNames = getExperimentEvaluators(evaluators)
208
- .map((evaluator) => evaluator.name)
209
- .join(", ");
210
- logger.info(`${PROGRESS_PREFIX.start}Evaluations (${evNames})`);
211
- }
212
- const { evaluationRuns } = await evaluateExperiment({
213
- experiment: ranExperiment,
214
- evaluators: evaluators ?? [],
215
- client,
216
- logger,
217
- concurrency,
218
- dryRun,
219
- tracerProvider: provider,
220
- diagLogLevel,
221
- useBatchSpanProcessor,
222
- });
223
- ranExperiment.evaluationRuns = evaluationRuns;
224
- // Refresh experiment info from server to get updated counts (non-dry-run only)
225
- if (!isDryRun) {
226
- const updatedExperiment = await getExperimentInfo({
227
- client,
228
- experimentId: experiment.id,
258
+ finally {
259
+ // Safety net: on error paths the happy-path cleanup above is skipped,
260
+ // so ensure the task provider is always cleaned up. On the happy path
261
+ // taskProvider is already undefined (no-op).
262
+ await cleanupOwnedTracerProvider({
263
+ provider: taskProvider,
264
+ globalRegistration: taskGlobalRegistration,
229
265
  });
230
- // Update the experiment info with the latest from the server
231
- Object.assign(ranExperiment, updatedExperiment);
232
- }
233
- logTaskSummary(logger, {
234
- nExamples,
235
- repetitions,
236
- nRuns: taskRuns.length,
237
- nErrors: taskErrors,
238
- });
239
- if (ranExperiment.evaluationRuns && ranExperiment.evaluationRuns.length > 0) {
240
- logEvalSummary(logger, ranExperiment.evaluationRuns);
241
266
  }
242
- logLinks(logger, links);
243
- return ranExperiment;
244
267
  }
245
268
  /**
246
269
  * Run a task against n examples in a dataset.
@@ -334,6 +357,8 @@ export async function evaluateExperiment({ experiment, evaluators, client: _clie
334
357
  const baseUrl = client.config.baseUrl;
335
358
  invariant(baseUrl, "Phoenix base URL not found. Please set PHOENIX_HOST or set baseUrl on the client.");
336
359
  let provider;
360
+ let globalRegistration = null;
361
+ const ownsProvider = !paramsTracerProvider;
337
362
  // Always allow changing of tracer providers
338
363
  if (paramsTracerProvider) {
339
364
  provider = paramsTracerProvider;
@@ -347,8 +372,11 @@ export async function evaluateExperiment({ experiment, evaluators, client: _clie
347
372
  : undefined,
348
373
  batch: useBatchSpanProcessor,
349
374
  diagLogLevel,
350
- global: setGlobalTracerProvider,
375
+ global: false,
351
376
  });
377
+ globalRegistration = setGlobalTracerProvider
378
+ ? attachGlobalTracerProvider(provider)
379
+ : null;
352
380
  }
353
381
  else {
354
382
  provider = createNoOpProvider();
@@ -356,129 +384,132 @@ export async function evaluateExperiment({ experiment, evaluators, client: _clie
356
384
  const tracer = isDryRun
357
385
  ? provider.getTracer("no-op")
358
386
  : provider.getTracer("evaluators");
359
- const nRuns = typeof dryRun === "number"
360
- ? Math.min(dryRun, Object.keys(experiment.runs).length)
361
- : Object.keys(experiment.runs).length;
362
- const dataset = await getDataset({
363
- dataset: {
364
- datasetId: experiment.datasetId,
365
- versionId: experiment.datasetVersionId,
366
- splits: experiment.datasetSplits,
367
- },
368
- client,
369
- });
370
- invariant(dataset, `Dataset "${experiment.datasetId}" not found`);
371
- invariant(dataset.examples.length > 0, `Dataset "${experiment.datasetId}" has no examples`);
372
- invariant(experiment.runs, `Experiment "${experiment.id}" has no runs`);
373
- const runsToEvaluate = Object.values(experiment.runs).slice(0, nRuns);
374
- if (evaluators?.length === 0) {
375
- return {
376
- ...experiment,
377
- evaluationRuns: [],
387
+ try {
388
+ const nRuns = typeof dryRun === "number"
389
+ ? Math.min(dryRun, Object.keys(experiment.runs).length)
390
+ : Object.keys(experiment.runs).length;
391
+ const dataset = await getDataset({
392
+ dataset: {
393
+ datasetId: experiment.datasetId,
394
+ versionId: experiment.datasetVersionId,
395
+ splits: experiment.datasetSplits,
396
+ },
397
+ client,
398
+ });
399
+ invariant(dataset, `Dataset "${experiment.datasetId}" not found`);
400
+ invariant(dataset.examples.length > 0, `Dataset "${experiment.datasetId}" has no examples`);
401
+ invariant(experiment.runs, `Experiment "${experiment.id}" has no runs`);
402
+ const runsToEvaluate = Object.values(experiment.runs).slice(0, nRuns);
403
+ if (evaluators?.length === 0) {
404
+ return {
405
+ ...experiment,
406
+ evaluationRuns: [],
407
+ };
408
+ }
409
+ const evaluationRuns = {};
410
+ const examplesById = {};
411
+ for (const example of dataset.examples) {
412
+ examplesById[example.id] = example;
413
+ }
414
+ const onEvaluationComplete = (run) => {
415
+ evaluationRuns[run.id] = run;
378
416
  };
379
- }
380
- const evaluationRuns = {};
381
- const examplesById = {};
382
- for (const example of dataset.examples) {
383
- examplesById[example.id] = example;
384
- }
385
- const onEvaluationComplete = (run) => {
386
- evaluationRuns[run.id] = run;
387
- };
388
- // Run evaluators against all runs
389
- // Flat list of evaluator + run tuples
390
- const normalizedEvaluators = getExperimentEvaluators(evaluators);
391
- const evaluatorsAndRuns = normalizedEvaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
392
- evaluator,
393
- run,
394
- })));
395
- const evaluatorsQueue = queue(async (evaluatorAndRun) => {
396
- return tracer.startActiveSpan(`Evaluation: ${evaluatorAndRun.evaluator.name}`, async (span) => {
397
- const evalResult = await runEvaluator({
398
- evaluator: evaluatorAndRun.evaluator,
399
- run: evaluatorAndRun.run,
400
- exampleCache: examplesById,
401
- onComplete: onEvaluationComplete,
402
- logger,
403
- });
404
- span.setAttributes({
405
- [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.EVALUATOR,
406
- [SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON,
407
- [SemanticConventions.INPUT_VALUE]: ensureString({
408
- input: examplesById[evaluatorAndRun.run.datasetExampleId]?.input,
409
- output: evaluatorAndRun.run.output,
410
- expected: examplesById[evaluatorAndRun.run.datasetExampleId]?.output,
411
- metadata: examplesById[evaluatorAndRun.run.datasetExampleId]?.metadata,
412
- }),
413
- [SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON,
414
- [SemanticConventions.OUTPUT_VALUE]: ensureString(evalResult.result),
415
- });
416
- if (evalResult.error) {
417
- span.setStatus({
418
- code: SpanStatusCode.ERROR,
419
- message: evalResult.error,
417
+ // Run evaluators against all runs
418
+ // Flat list of evaluator + run tuples
419
+ const normalizedEvaluators = getExperimentEvaluators(evaluators);
420
+ const evaluatorsAndRuns = normalizedEvaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
421
+ evaluator,
422
+ run,
423
+ })));
424
+ const evaluatorsQueue = queue(async (evaluatorAndRun) => {
425
+ return tracer.startActiveSpan(`Evaluation: ${evaluatorAndRun.evaluator.name}`, async (span) => {
426
+ const evalResult = await runEvaluator({
427
+ evaluator: evaluatorAndRun.evaluator,
428
+ run: evaluatorAndRun.run,
429
+ exampleCache: examplesById,
430
+ onComplete: onEvaluationComplete,
431
+ logger,
420
432
  });
421
- }
422
- else {
423
- span.setStatus({ code: SpanStatusCode.OK });
424
- }
425
- if (evalResult.result) {
426
- span.setAttributes(objectAsAttributes(evalResult.result));
427
- }
428
- evalResult.traceId = span.spanContext().traceId;
429
- if (!isDryRun) {
430
- // Log the evaluation to the server
431
- // We log this without awaiting (e.g. best effort)
432
- client.POST("/v1/experiment_evaluations", {
433
- body: {
434
- experiment_run_id: evaluatorAndRun.run.id,
435
- name: evaluatorAndRun.evaluator.name,
436
- annotator_kind: evaluatorAndRun.evaluator.kind,
437
- start_time: evalResult.startTime.toISOString(),
438
- end_time: evalResult.endTime.toISOString(),
439
- result: {
440
- ...evalResult.result,
441
- },
442
- error: evalResult.error,
443
- trace_id: evalResult.traceId,
444
- },
433
+ span.setAttributes({
434
+ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.EVALUATOR,
435
+ [SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON,
436
+ [SemanticConventions.INPUT_VALUE]: ensureString({
437
+ input: examplesById[evaluatorAndRun.run.datasetExampleId]?.input,
438
+ output: evaluatorAndRun.run.output,
439
+ expected: examplesById[evaluatorAndRun.run.datasetExampleId]?.output,
440
+ metadata: examplesById[evaluatorAndRun.run.datasetExampleId]?.metadata,
441
+ }),
442
+ [SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON,
443
+ [SemanticConventions.OUTPUT_VALUE]: ensureString(evalResult.result),
445
444
  });
445
+ if (evalResult.error) {
446
+ span.setStatus({
447
+ code: SpanStatusCode.ERROR,
448
+ message: evalResult.error,
449
+ });
450
+ }
451
+ else {
452
+ span.setStatus({ code: SpanStatusCode.OK });
453
+ }
454
+ if (evalResult.result) {
455
+ span.setAttributes(objectAsAttributes(evalResult.result));
456
+ }
457
+ evalResult.traceId = span.spanContext().traceId;
458
+ if (!isDryRun) {
459
+ // Log the evaluation to the server
460
+ // We log this without awaiting (e.g. best effort)
461
+ client.POST("/v1/experiment_evaluations", {
462
+ body: {
463
+ experiment_run_id: evaluatorAndRun.run.id,
464
+ name: evaluatorAndRun.evaluator.name,
465
+ annotator_kind: evaluatorAndRun.evaluator.kind,
466
+ start_time: evalResult.startTime.toISOString(),
467
+ end_time: evalResult.endTime.toISOString(),
468
+ result: {
469
+ ...evalResult.result,
470
+ },
471
+ error: evalResult.error,
472
+ trace_id: evalResult.traceId,
473
+ },
474
+ });
475
+ }
476
+ span.end();
477
+ return evalResult;
478
+ });
479
+ }, concurrency);
480
+ if (!evaluatorsAndRuns.length) {
481
+ logger.warn(`No evaluators to run`);
482
+ return {
483
+ ...experiment,
484
+ evaluationRuns: [],
485
+ };
486
+ }
487
+ evaluatorsAndRuns.forEach((evaluatorAndRun) => evaluatorsQueue.push(evaluatorAndRun, (err) => {
488
+ if (err) {
489
+ logger.error(`Error running evaluator "${evaluatorAndRun.evaluator.name}" on run "${evaluatorAndRun.run.id}": ${err}`);
446
490
  }
447
- span.end();
448
- return evalResult;
449
- });
450
- }, concurrency);
451
- if (!evaluatorsAndRuns.length) {
452
- logger.warn(`No evaluators to run`);
491
+ }));
492
+ await evaluatorsQueue.drain();
493
+ const evalTotal = Object.values(evaluationRuns).length;
494
+ const evalErrors = Object.values(evaluationRuns).filter((ev) => ev.error != null).length;
495
+ const evalExpected = runsToEvaluate.length * normalizedEvaluators.length;
496
+ const evalOkStr = evalErrors > 0
497
+ ? `${evalTotal - evalErrors}/${evalExpected} ok (${evalErrors} failed)`
498
+ : `${evalTotal}/${evalExpected} ok`;
499
+ logger.info(`${PROGRESS_PREFIX.completed}Evaluations ${evalOkStr}`);
453
500
  return {
454
501
  ...experiment,
455
- evaluationRuns: [],
502
+ evaluationRuns: Object.values(evaluationRuns),
456
503
  };
457
504
  }
458
- evaluatorsAndRuns.forEach((evaluatorAndRun) => evaluatorsQueue.push(evaluatorAndRun, (err) => {
459
- if (err) {
460
- logger.error(`Error running evaluator "${evaluatorAndRun.evaluator.name}" on run "${evaluatorAndRun.run.id}": ${err}`);
461
- }
462
- }));
463
- await evaluatorsQueue.drain();
464
- const evalTotal = Object.values(evaluationRuns).length;
465
- const evalErrors = Object.values(evaluationRuns).filter((ev) => ev.error != null).length;
466
- const evalExpected = runsToEvaluate.length * normalizedEvaluators.length;
467
- const evalOkStr = evalErrors > 0
468
- ? `${evalTotal - evalErrors}/${evalExpected} ok (${evalErrors} failed)`
469
- : `${evalTotal}/${evalExpected} ok`;
470
- logger.info(`${PROGRESS_PREFIX.completed}Evaluations ${evalOkStr}`);
471
- if (provider) {
472
- await provider.shutdown();
473
- // Make sure it's not set globally anymore
474
- if (setGlobalTracerProvider) {
475
- trace.disable();
505
+ finally {
506
+ if (ownsProvider) {
507
+ await cleanupOwnedTracerProvider({
508
+ provider,
509
+ globalRegistration,
510
+ });
476
511
  }
477
512
  }
478
- return {
479
- ...experiment,
480
- evaluationRuns: Object.values(evaluationRuns),
481
- };
482
513
  }
483
514
  /**
484
515
  * Run an evaluator against a run.
@@ -507,6 +538,7 @@ async function runEvaluator({ evaluator, run, exampleCache, onComplete, logger,
507
538
  output: run.output ?? null,
508
539
  expected: example.output,
509
540
  metadata: example?.metadata,
541
+ traceId: run.traceId,
510
542
  });
511
543
  thisEval.result = result;
512
544
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runExperiment.js","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runExperiment.js","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { GlobalTracerProviderRegistration, NodeTracerProvider } from "@arizeai/phoenix-otel";
2
+ /**
3
+ * Flushes and shuts down a tracer provider that this package created, then
4
+ * detaches any global OTEL registration it owns so another provider can be mounted.
5
+ */
6
+ export declare function cleanupOwnedTracerProvider({ provider, globalRegistration, }: {
7
+ provider: NodeTracerProvider | null | undefined;
8
+ globalRegistration?: GlobalTracerProviderRegistration | null;
9
+ }): Promise<void>;
10
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/experiments/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gCAAgC,EAChC,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,QAAQ,EACR,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,kBAAkB,CAAC,EAAE,gCAAgC,GAAG,IAAI,CAAC;CAC9D,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Flushes and shuts down a tracer provider that this package created, then
3
+ * detaches any global OTEL registration it owns so another provider can be mounted.
4
+ */
5
+ export async function cleanupOwnedTracerProvider({ provider, globalRegistration, }) {
6
+ if (!provider) {
7
+ return;
8
+ }
9
+ try {
10
+ await provider.forceFlush();
11
+ }
12
+ finally {
13
+ try {
14
+ await provider.shutdown();
15
+ }
16
+ finally {
17
+ globalRegistration?.detach();
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/experiments/tracing.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,QAAQ,EACR,kBAAkB,GAInB;IACC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC"}