1
1
from collections import defaultdict
2
2
import json
3
- import os
4
3
from typing import Any
5
4
from typing import Dict
6
5
from typing import List
12
11
from ddtrace .internal .logger import get_logger
13
12
from ddtrace .internal .utils import ArgumentError
14
13
from ddtrace .internal .utils import get_argument_value
15
- from ddtrace .internal .utils .formats import asbool
16
14
from ddtrace .llmobs import LLMObs
17
15
from ddtrace .llmobs ._constants import INPUT_DOCUMENTS
18
16
from ddtrace .llmobs ._constants import INPUT_MESSAGES
@@ -107,7 +105,7 @@ class LangChainIntegration(BaseLLMIntegration):
107
105
"""Maps spans to instances."""
108
106
109
107
def record_steps (self , instance , span ):
110
- if not self .llmobs_enabled :
108
+ if not self .llmobs_enabled or not self . span_linking_enabled :
111
109
return
112
110
113
111
steps = getattr (instance , "steps" , [])
@@ -117,7 +115,7 @@ def record_steps(self, instance, span):
117
115
self .record_instance (instance , span )
118
116
119
117
def record_instance (self , instance , span ):
120
- if not self .llmobs_enabled :
118
+ if not self .llmobs_enabled or not self . span_linking_enabled :
121
119
return
122
120
123
121
instance = _extract_bound (instance )
@@ -140,7 +138,7 @@ def _llmobs_set_tags(
140
138
log .warning ("Unsupported operation : %s" , operation )
141
139
return
142
140
143
- if asbool ( os . getenv ( "_DD_LLMOBS_AUTO_SPAN_LINKING_ENABLED" )) :
141
+ if self . span_linking_enabled :
144
142
self ._set_links (span )
145
143
146
144
model_provider = span .get_tag (PROVIDER )
0 commit comments