Skip to content

Commit c669a7d

Browse files
committed
send metadata with experiment spans
1 parent d323b6a commit c669a7d

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

ddtrace/llmobs/_constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,12 @@
104104

105105
PROXY_REQUEST = "llmobs.proxy_request"
106106

107+
# experiment span baggage keys to be propagated across boundaries
107108
EXPERIMENT_ID_KEY = "_ml_obs.experiment_id"
108109
EXPERIMENT_RUN_ID_KEY = "_ml_obs.experiment_run_id"
109110
EXPERIMENT_RUN_ITERATION_KEY = "_ml_obs.experiment_run_iteration"
111+
# experiment context keys
112+
EXPERIMENT_RECORD_METADATA = "_ml_obs.meta.metadata"
110113
EXPERIMENT_EXPECTED_OUTPUT = "_ml_obs.meta.input.expected_output"
111114
EXPERIMENTS_INPUT = "_ml_obs.meta.input"
112115
EXPERIMENTS_OUTPUT = "_ml_obs.meta.output"

ddtrace/llmobs/_experiment.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from ddtrace.constants import ERROR_TYPE
2424
from ddtrace.internal.logger import get_logger
2525
from ddtrace.llmobs._constants import DD_SITES_NEEDING_APP_SUBDOMAIN
26+
from ddtrace.llmobs._constants import EXPERIMENT_RECORD_METADATA
2627
from ddtrace.llmobs._constants import EXPERIMENT_EXPECTED_OUTPUT
2728
from ddtrace.llmobs._utils import convert_tags_dict_to_list
2829
from ddtrace.llmobs._utils import safe_json
@@ -457,6 +458,8 @@ def _process_record(self, idx_record: Tuple[int, DatasetRecord], run: _Experimen
457458
span.set_exc_info(*sys.exc_info())
458459
self._llmobs_instance.annotate(span, input_data=input_data, output_data=output_data, tags=tags)
459460
span._set_ctx_item(EXPERIMENT_EXPECTED_OUTPUT, safe_json(record["expected_output"]))
461+
if "metadata" in record:
462+
span._set_ctx_item(EXPERIMENT_RECORD_METADATA, record["metadata"])
460463
return {
461464
"idx": idx,
462465
"span_id": span_id,

0 commit comments

Comments
 (0)