@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
@@ -21,6 +21,7 @@ const urlUtils_1 = require("../utils/urlUtils");
21
21
  const getExperimentInfo_1 = require("./getExperimentInfo");
22
22
  const helpers_1 = require("./helpers");
23
23
  const logging_1 = require("./logging");
24
+ const tracing_1 = require("./tracing");
24
25
  /**
25
26
  * Validate that a repetition is valid
26
27
  */
@@ -63,7 +64,8 @@ async function runExperiment({ experimentName, experimentDescription, experiment
63
64
  var _a, _b, _c, _d;
64
65
  // Validation
65
66
  (0, tiny_invariant_1.default)(isValidRepetitionParam(repetitions), "repetitions must be an integer greater than 0");
66
- let provider;
67
+ let taskProvider;
68
+ let taskGlobalRegistration = null;
67
69
  const isDryRun = typeof dryRun === "number" || dryRun === true;
68
70
  const client = _client !== null && _client !== void 0 ? _client : (0, client_1.createClient)();
69
71
  const dataset = await (0, getDataset_1.getDataset)({
@@ -134,7 +136,7 @@ async function runExperiment({ experimentName, experimentDescription, experiment
134
136
  // Initialize the tracer, now that we have a project name
135
137
  const baseUrl = client.config.baseUrl;
136
138
  (0, tiny_invariant_1.default)(baseUrl, "Phoenix base URL not found. Please set PHOENIX_HOST or set baseUrl on the client.");
137
- provider = (0, phoenix_otel_1.register)({
139
+ taskProvider = (0, phoenix_otel_1.register)({
138
140
  projectName,
139
141
  url: baseUrl,
140
142
  headers: client.config.headers
@@ -142,102 +144,123 @@ async function runExperiment({ experimentName, experimentDescription, experiment
142
144
  : undefined,
143
145
  batch: useBatchSpanProcessor,
144
146
  diagLogLevel,
145
- global: setGlobalTracerProvider,
147
+ global: false,
146
148
  });
147
- taskTracer = provider.getTracer(projectName);
149
+ taskGlobalRegistration = setGlobalTracerProvider
150
+ ? (0, phoenix_otel_1.attachGlobalTracerProvider)(taskProvider)
151
+ : null;
152
+ taskTracer = taskProvider.getTracer(projectName);
148
153
  }
149
- if (!record) {
150
- logger.info(`Running experiment in readonly mode. Results will not be recorded.`);
151
- }
152
- const links = [];
153
- if (!isDryRun && client.config.baseUrl) {
154
- links.push({
155
- label: "Dataset",
156
- url: (0, urlUtils_1.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: (0, urlUtils_1.getDatasetUrl)({
163
+ baseUrl: client.config.baseUrl,
164
+ datasetId: dataset.id,
165
+ }),
166
+ });
167
+ links.push({
168
+ label: "Experiments",
169
+ url: (0, urlUtils_1.getDatasetExperimentsUrl)({
170
+ baseUrl: client.config.baseUrl,
171
+ datasetId: dataset.id,
172
+ }),
173
+ });
174
+ links.push({
175
+ label: "Experiment",
176
+ url: (0, urlUtils_1.getExperimentUrl)({
177
+ baseUrl: client.config.baseUrl,
178
+ datasetId: dataset.id,
179
+ experimentId: experiment.id,
180
+ }),
181
+ });
182
+ }
183
+ const evCount = (_d = evaluators === null || evaluators === void 0 ? void 0 : evaluators.length) !== null && _d !== void 0 ? _d : 0;
184
+ logger.info(`${logging_1.PROGRESS_PREFIX.start}Experiment ${experimentName || "<unnamed>"} (dataset ${dataset.name}, ${nExamples} ${(0, pluralize_1.pluralize)("example", nExamples)}, ${evCount} ${(0, pluralize_1.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(`${logging_1.PROGRESS_PREFIX.completed}Tasks ${taskOkStr}`);
208
+ const ranExperiment = Object.assign(Object.assign({}, experiment), { runs });
209
+ await (0, tracing_1.cleanupOwnedTracerProvider)({
210
+ provider: taskProvider,
211
+ globalRegistration: taskGlobalRegistration,
160
212
  });
161
- links.push({
162
- label: "Experiments",
163
- url: (0, urlUtils_1.getDatasetExperimentsUrl)({
164
- baseUrl: client.config.baseUrl,
165
- datasetId: dataset.id,
166
- }),
213
+ taskProvider = undefined;
214
+ taskGlobalRegistration = null;
215
+ if (evaluators && evaluators.length > 0) {
216
+ const evNames = (0, helpers_1.getExperimentEvaluators)(evaluators)
217
+ .map((evaluator) => evaluator.name)
218
+ .join(", ");
219
+ logger.info(`${logging_1.PROGRESS_PREFIX.start}Evaluations (${evNames})`);
220
+ }
221
+ const { evaluationRuns } = await evaluateExperiment({
222
+ experiment: ranExperiment,
223
+ evaluators: evaluators !== null && evaluators !== void 0 ? evaluators : [],
224
+ client,
225
+ logger,
226
+ concurrency,
227
+ dryRun,
228
+ diagLogLevel,
229
+ useBatchSpanProcessor,
230
+ setGlobalTracerProvider,
167
231
  });
168
- links.push({
169
- label: "Experiment",
170
- url: (0, urlUtils_1.getExperimentUrl)({
171
- baseUrl: client.config.baseUrl,
172
- datasetId: dataset.id,
232
+ ranExperiment.evaluationRuns = evaluationRuns;
233
+ // Refresh experiment info from server to get updated counts (non-dry-run only)
234
+ if (!isDryRun) {
235
+ const updatedExperiment = await (0, getExperimentInfo_1.getExperimentInfo)({
236
+ client,
173
237
  experimentId: experiment.id,
174
- }),
238
+ });
239
+ // Update the experiment info with the latest from the server
240
+ Object.assign(ranExperiment, updatedExperiment);
241
+ }
242
+ (0, logging_1.logTaskSummary)(logger, {
243
+ nExamples,
244
+ repetitions,
245
+ nRuns: taskRuns.length,
246
+ nErrors: taskErrors,
175
247
  });
248
+ if (ranExperiment.evaluationRuns &&
249
+ ranExperiment.evaluationRuns.length > 0) {
250
+ (0, logging_1.logEvalSummary)(logger, ranExperiment.evaluationRuns);
251
+ }
252
+ (0, logging_1.logLinks)(logger, links);
253
+ return ranExperiment;
176
254
  }
177
- const evCount = (_d = evaluators === null || evaluators === void 0 ? void 0 : evaluators.length) !== null && _d !== void 0 ? _d : 0;
178
- logger.info(`${logging_1.PROGRESS_PREFIX.start}Experiment ${experimentName || "<unnamed>"} (dataset ${dataset.name}, ${nExamples} ${(0, pluralize_1.pluralize)("example", nExamples)}, ${evCount} ${(0, pluralize_1.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(`${logging_1.PROGRESS_PREFIX.completed}Tasks ${taskOkStr}`);
202
- const ranExperiment = Object.assign(Object.assign({}, experiment), { runs });
203
- if (evaluators && evaluators.length > 0) {
204
- const evNames = (0, helpers_1.getExperimentEvaluators)(evaluators)
205
- .map((evaluator) => evaluator.name)
206
- .join(", ");
207
- logger.info(`${logging_1.PROGRESS_PREFIX.start}Evaluations (${evNames})`);
208
- }
209
- const { evaluationRuns } = await evaluateExperiment({
210
- experiment: ranExperiment,
211
- evaluators: evaluators !== null && evaluators !== void 0 ? evaluators : [],
212
- client,
213
- logger,
214
- concurrency,
215
- dryRun,
216
- tracerProvider: provider,
217
- diagLogLevel,
218
- useBatchSpanProcessor,
219
- });
220
- ranExperiment.evaluationRuns = evaluationRuns;
221
- // Refresh experiment info from server to get updated counts (non-dry-run only)
222
- if (!isDryRun) {
223
- const updatedExperiment = await (0, getExperimentInfo_1.getExperimentInfo)({
224
- client,
225
- experimentId: experiment.id,
255
+ finally {
256
+ // Safety net: on error paths the happy-path cleanup above is skipped,
257
+ // so ensure the task provider is always cleaned up. On the happy path
258
+ // taskProvider is already undefined (no-op).
259
+ await (0, tracing_1.cleanupOwnedTracerProvider)({
260
+ provider: taskProvider,
261
+ globalRegistration: taskGlobalRegistration,
226
262
  });
227
- // Update the experiment info with the latest from the server
228
- Object.assign(ranExperiment, updatedExperiment);
229
- }
230
- (0, logging_1.logTaskSummary)(logger, {
231
- nExamples,
232
- repetitions,
233
- nRuns: taskRuns.length,
234
- nErrors: taskErrors,
235
- });
236
- if (ranExperiment.evaluationRuns && ranExperiment.evaluationRuns.length > 0) {
237
- (0, logging_1.logEvalSummary)(logger, ranExperiment.evaluationRuns);
238
263
  }
239
- (0, logging_1.logLinks)(logger, links);
240
- return ranExperiment;
241
264
  }
242
265
  /**
243
266
  * Run a task against n examples in a dataset.
@@ -332,6 +355,8 @@ async function evaluateExperiment({ experiment, evaluators, client: _client, log
332
355
  const baseUrl = client.config.baseUrl;
333
356
  (0, tiny_invariant_1.default)(baseUrl, "Phoenix base URL not found. Please set PHOENIX_HOST or set baseUrl on the client.");
334
357
  let provider;
358
+ let globalRegistration = null;
359
+ const ownsProvider = !paramsTracerProvider;
335
360
  // Always allow changing of tracer providers
336
361
  if (paramsTracerProvider) {
337
362
  provider = paramsTracerProvider;
@@ -345,8 +370,11 @@ async function evaluateExperiment({ experiment, evaluators, client: _client, log
345
370
  : undefined,
346
371
  batch: useBatchSpanProcessor,
347
372
  diagLogLevel,
348
- global: setGlobalTracerProvider,
373
+ global: false,
349
374
  });
375
+ globalRegistration = setGlobalTracerProvider
376
+ ? (0, phoenix_otel_1.attachGlobalTracerProvider)(provider)
377
+ : null;
350
378
  }
351
379
  else {
352
380
  provider = (0, phoenix_otel_1.createNoOpProvider)();
@@ -354,119 +382,122 @@ async function evaluateExperiment({ experiment, evaluators, client: _client, log
354
382
  const tracer = isDryRun
355
383
  ? provider.getTracer("no-op")
356
384
  : provider.getTracer("evaluators");
357
- const nRuns = typeof dryRun === "number"
358
- ? Math.min(dryRun, Object.keys(experiment.runs).length)
359
- : Object.keys(experiment.runs).length;
360
- const dataset = await (0, getDataset_1.getDataset)({
361
- dataset: {
362
- datasetId: experiment.datasetId,
363
- versionId: experiment.datasetVersionId,
364
- splits: experiment.datasetSplits,
365
- },
366
- client,
367
- });
368
- (0, tiny_invariant_1.default)(dataset, `Dataset "${experiment.datasetId}" not found`);
369
- (0, tiny_invariant_1.default)(dataset.examples.length > 0, `Dataset "${experiment.datasetId}" has no examples`);
370
- (0, tiny_invariant_1.default)(experiment.runs, `Experiment "${experiment.id}" has no runs`);
371
- const runsToEvaluate = Object.values(experiment.runs).slice(0, nRuns);
372
- if ((evaluators === null || evaluators === void 0 ? void 0 : evaluators.length) === 0) {
373
- return Object.assign(Object.assign({}, experiment), { evaluationRuns: [] });
374
- }
375
- const evaluationRuns = {};
376
- const examplesById = {};
377
- for (const example of dataset.examples) {
378
- examplesById[example.id] = example;
379
- }
380
- const onEvaluationComplete = (run) => {
381
- evaluationRuns[run.id] = run;
382
- };
383
- // Run evaluators against all runs
384
- // Flat list of evaluator + run tuples
385
- const normalizedEvaluators = (0, helpers_1.getExperimentEvaluators)(evaluators);
386
- const evaluatorsAndRuns = normalizedEvaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
387
- evaluator,
388
- run,
389
- })));
390
- const evaluatorsQueue = (0, async_1.queue)(async (evaluatorAndRun) => {
391
- return tracer.startActiveSpan(`Evaluation: ${evaluatorAndRun.evaluator.name}`, async (span) => {
392
- var _a, _b, _c;
393
- const evalResult = await runEvaluator({
394
- evaluator: evaluatorAndRun.evaluator,
395
- run: evaluatorAndRun.run,
396
- exampleCache: examplesById,
397
- onComplete: onEvaluationComplete,
398
- logger,
399
- });
400
- span.setAttributes({
401
- [openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND]: openinference_semantic_conventions_1.OpenInferenceSpanKind.EVALUATOR,
402
- [openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
403
- [openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: (0, ensureString_1.ensureString)({
404
- input: (_a = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _a === void 0 ? void 0 : _a.input,
405
- output: evaluatorAndRun.run.output,
406
- expected: (_b = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _b === void 0 ? void 0 : _b.output,
407
- metadata: (_c = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _c === void 0 ? void 0 : _c.metadata,
408
- }),
409
- [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
410
- [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: (0, ensureString_1.ensureString)(evalResult.result),
411
- });
412
- if (evalResult.error) {
413
- span.setStatus({
414
- code: phoenix_otel_1.SpanStatusCode.ERROR,
415
- message: evalResult.error,
385
+ try {
386
+ const nRuns = typeof dryRun === "number"
387
+ ? Math.min(dryRun, Object.keys(experiment.runs).length)
388
+ : Object.keys(experiment.runs).length;
389
+ const dataset = await (0, getDataset_1.getDataset)({
390
+ dataset: {
391
+ datasetId: experiment.datasetId,
392
+ versionId: experiment.datasetVersionId,
393
+ splits: experiment.datasetSplits,
394
+ },
395
+ client,
396
+ });
397
+ (0, tiny_invariant_1.default)(dataset, `Dataset "${experiment.datasetId}" not found`);
398
+ (0, tiny_invariant_1.default)(dataset.examples.length > 0, `Dataset "${experiment.datasetId}" has no examples`);
399
+ (0, tiny_invariant_1.default)(experiment.runs, `Experiment "${experiment.id}" has no runs`);
400
+ const runsToEvaluate = Object.values(experiment.runs).slice(0, nRuns);
401
+ if ((evaluators === null || evaluators === void 0 ? void 0 : evaluators.length) === 0) {
402
+ return Object.assign(Object.assign({}, experiment), { evaluationRuns: [] });
403
+ }
404
+ const evaluationRuns = {};
405
+ const examplesById = {};
406
+ for (const example of dataset.examples) {
407
+ examplesById[example.id] = example;
408
+ }
409
+ const onEvaluationComplete = (run) => {
410
+ evaluationRuns[run.id] = run;
411
+ };
412
+ // Run evaluators against all runs
413
+ // Flat list of evaluator + run tuples
414
+ const normalizedEvaluators = (0, helpers_1.getExperimentEvaluators)(evaluators);
415
+ const evaluatorsAndRuns = normalizedEvaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
416
+ evaluator,
417
+ run,
418
+ })));
419
+ const evaluatorsQueue = (0, async_1.queue)(async (evaluatorAndRun) => {
420
+ return tracer.startActiveSpan(`Evaluation: ${evaluatorAndRun.evaluator.name}`, async (span) => {
421
+ var _a, _b, _c;
422
+ const evalResult = await runEvaluator({
423
+ evaluator: evaluatorAndRun.evaluator,
424
+ run: evaluatorAndRun.run,
425
+ exampleCache: examplesById,
426
+ onComplete: onEvaluationComplete,
427
+ logger,
416
428
  });
417
- }
418
- else {
419
- span.setStatus({ code: phoenix_otel_1.SpanStatusCode.OK });
420
- }
421
- if (evalResult.result) {
422
- span.setAttributes((0, phoenix_otel_1.objectAsAttributes)(evalResult.result));
423
- }
424
- evalResult.traceId = span.spanContext().traceId;
425
- if (!isDryRun) {
426
- // Log the evaluation to the server
427
- // We log this without awaiting (e.g. best effort)
428
- client.POST("/v1/experiment_evaluations", {
429
- body: {
430
- experiment_run_id: evaluatorAndRun.run.id,
431
- name: evaluatorAndRun.evaluator.name,
432
- annotator_kind: evaluatorAndRun.evaluator.kind,
433
- start_time: evalResult.startTime.toISOString(),
434
- end_time: evalResult.endTime.toISOString(),
435
- result: Object.assign({}, evalResult.result),
436
- error: evalResult.error,
437
- trace_id: evalResult.traceId,
438
- },
429
+ span.setAttributes({
430
+ [openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND]: openinference_semantic_conventions_1.OpenInferenceSpanKind.EVALUATOR,
431
+ [openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
432
+ [openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: (0, ensureString_1.ensureString)({
433
+ input: (_a = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _a === void 0 ? void 0 : _a.input,
434
+ output: evaluatorAndRun.run.output,
435
+ expected: (_b = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _b === void 0 ? void 0 : _b.output,
436
+ metadata: (_c = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _c === void 0 ? void 0 : _c.metadata,
437
+ }),
438
+ [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
439
+ [openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE]: (0, ensureString_1.ensureString)(evalResult.result),
439
440
  });
441
+ if (evalResult.error) {
442
+ span.setStatus({
443
+ code: phoenix_otel_1.SpanStatusCode.ERROR,
444
+ message: evalResult.error,
445
+ });
446
+ }
447
+ else {
448
+ span.setStatus({ code: phoenix_otel_1.SpanStatusCode.OK });
449
+ }
450
+ if (evalResult.result) {
451
+ span.setAttributes((0, phoenix_otel_1.objectAsAttributes)(evalResult.result));
452
+ }
453
+ evalResult.traceId = span.spanContext().traceId;
454
+ if (!isDryRun) {
455
+ // Log the evaluation to the server
456
+ // We log this without awaiting (e.g. best effort)
457
+ client.POST("/v1/experiment_evaluations", {
458
+ body: {
459
+ experiment_run_id: evaluatorAndRun.run.id,
460
+ name: evaluatorAndRun.evaluator.name,
461
+ annotator_kind: evaluatorAndRun.evaluator.kind,
462
+ start_time: evalResult.startTime.toISOString(),
463
+ end_time: evalResult.endTime.toISOString(),
464
+ result: Object.assign({}, evalResult.result),
465
+ error: evalResult.error,
466
+ trace_id: evalResult.traceId,
467
+ },
468
+ });
469
+ }
470
+ span.end();
471
+ return evalResult;
472
+ });
473
+ }, concurrency);
474
+ if (!evaluatorsAndRuns.length) {
475
+ logger.warn(`No evaluators to run`);
476
+ return Object.assign(Object.assign({}, experiment), { evaluationRuns: [] });
477
+ }
478
+ evaluatorsAndRuns.forEach((evaluatorAndRun) => evaluatorsQueue.push(evaluatorAndRun, (err) => {
479
+ if (err) {
480
+ logger.error(`Error running evaluator "${evaluatorAndRun.evaluator.name}" on run "${evaluatorAndRun.run.id}": ${err}`);
440
481
  }
441
- span.end();
442
- return evalResult;
443
- });
444
- }, concurrency);
445
- if (!evaluatorsAndRuns.length) {
446
- logger.warn(`No evaluators to run`);
447
- return Object.assign(Object.assign({}, experiment), { evaluationRuns: [] });
482
+ }));
483
+ await evaluatorsQueue.drain();
484
+ const evalTotal = Object.values(evaluationRuns).length;
485
+ const evalErrors = Object.values(evaluationRuns).filter((ev) => ev.error != null).length;
486
+ const evalExpected = runsToEvaluate.length * normalizedEvaluators.length;
487
+ const evalOkStr = evalErrors > 0
488
+ ? `${evalTotal - evalErrors}/${evalExpected} ok (${evalErrors} failed)`
489
+ : `${evalTotal}/${evalExpected} ok`;
490
+ logger.info(`${logging_1.PROGRESS_PREFIX.completed}Evaluations ${evalOkStr}`);
491
+ return Object.assign(Object.assign({}, experiment), { evaluationRuns: Object.values(evaluationRuns) });
448
492
  }
449
- evaluatorsAndRuns.forEach((evaluatorAndRun) => evaluatorsQueue.push(evaluatorAndRun, (err) => {
450
- if (err) {
451
- logger.error(`Error running evaluator "${evaluatorAndRun.evaluator.name}" on run "${evaluatorAndRun.run.id}": ${err}`);
452
- }
453
- }));
454
- await evaluatorsQueue.drain();
455
- const evalTotal = Object.values(evaluationRuns).length;
456
- const evalErrors = Object.values(evaluationRuns).filter((ev) => ev.error != null).length;
457
- const evalExpected = runsToEvaluate.length * normalizedEvaluators.length;
458
- const evalOkStr = evalErrors > 0
459
- ? `${evalTotal - evalErrors}/${evalExpected} ok (${evalErrors} failed)`
460
- : `${evalTotal}/${evalExpected} ok`;
461
- logger.info(`${logging_1.PROGRESS_PREFIX.completed}Evaluations ${evalOkStr}`);
462
- if (provider) {
463
- await provider.shutdown();
464
- // Make sure it's not set globally anymore
465
- if (setGlobalTracerProvider) {
466
- phoenix_otel_1.trace.disable();
493
+ finally {
494
+ if (ownsProvider) {
495
+ await (0, tracing_1.cleanupOwnedTracerProvider)({
496
+ provider,
497
+ globalRegistration,
498
+ });
467
499
  }
468
500
  }
469
- return Object.assign(Object.assign({}, experiment), { evaluationRuns: Object.values(evaluationRuns) });
470
501
  }
471
502
  /**
472
503
  * Run an evaluator against a run.
@@ -496,6 +527,7 @@ async function runEvaluator({ evaluator, run, exampleCache, onComplete, logger,
496
527
  output: (_a = run.output) !== null && _a !== void 0 ? _a : null,
497
528
  expected: example.output,
498
529
  metadata: example === null || example === void 0 ? void 0 : example.metadata,
530
+ traceId: run.traceId,
499
531
  });
500
532
  thisEval.result = result;
501
533
  }
@@ -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,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanupOwnedTracerProvider = cleanupOwnedTracerProvider;
4
+ /**
5
+ * Flushes and shuts down a tracer provider that this package created, then
6
+ * detaches any global OTEL registration it owns so another provider can be mounted.
7
+ */
8
+ async function cleanupOwnedTracerProvider({ provider, globalRegistration, }) {
9
+ if (!provider) {
10
+ return;
11
+ }
12
+ try {
13
+ await provider.forceFlush();
14
+ }
15
+ finally {
16
+ try {
17
+ await provider.shutdown();
18
+ }
19
+ finally {
20
+ globalRegistration === null || globalRegistration === void 0 ? void 0 : globalRegistration.detach();
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/experiments/tracing.ts"],"names":[],"mappings":";;AASA,gEAoBC;AAxBD;;;GAGG;AACI,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,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -121,6 +121,12 @@ export type EvaluatorParams<TaskOutputType = TaskOutput> = {
121
121
  * Metadata associated with the Dataset Example
122
122
  */
123
123
  metadata?: Example["metadata"];
124
+ /**
125
+ * The trace ID of the task run, if available.
126
+ * Can be used to fetch and analyze the task's trace
127
+ * (e.g., for trajectory evaluation or action verification).
128
+ */
129
+ traceId?: string | null;
124
130
  };
125
131
  export type Evaluator = {
126
132
  name: string;