Skip to content

Commit 92666c2

Browse files
authored
refactor(skills): set skill availability through propagation only (#2082)
1 parent 18baf80 commit 92666c2

6 files changed

Lines changed: 19 additions & 239 deletions

File tree

‎langfuse/_client/attributes.py‎

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818
ObservationTypeGenerationLike,
1919
ObservationTypeSpanLike,
2020
)
21-
from langfuse._client.skills import serialize_available_skills
2221
from langfuse._utils.serializer import EventSerializer
2322
from langfuse.api import MapValue
2423
from langfuse.logger import langfuse_logger
2524
from langfuse.model import PromptClient
26-
from langfuse.types import SkillReference, SpanLevel
25+
from langfuse.types import SpanLevel
2726

2827

2928
class LangfuseOtelSpanAttributes:
@@ -89,7 +88,6 @@ def create_trace_attributes(
8988
def create_span_attributes(
9089
*,
9190
metadata: Optional[Any] = None,
92-
available_skills: Optional[list[SkillReference]] = None,
9391
input: Optional[Any] = None,
9492
output: Optional[Any] = None,
9593
level: Optional[SpanLevel] = None,
@@ -106,7 +104,6 @@ def create_span_attributes(
106104
LangfuseOtelSpanAttributes.VERSION: version,
107105
LangfuseOtelSpanAttributes.OBSERVATION_INPUT: _serialize(input),
108106
LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT: _serialize(output),
109-
**create_available_skills_attributes(available_skills),
110107
**_flatten_and_serialize_metadata(metadata, "observation"),
111108
}
112109

@@ -118,7 +115,6 @@ def create_generation_attributes(
118115
name: Optional[str] = None,
119116
completion_start_time: Optional[datetime] = None,
120117
metadata: Optional[Any] = None,
121-
available_skills: Optional[list[SkillReference]] = None,
122118
level: Optional[SpanLevel] = None,
123119
status_message: Optional[str] = None,
124120
version: Optional[str] = None,
@@ -153,22 +149,12 @@ def create_generation_attributes(
153149
LangfuseOtelSpanAttributes.OBSERVATION_MODEL_PARAMETERS: _serialize(
154150
model_parameters
155151
),
156-
**create_available_skills_attributes(available_skills),
157152
**_flatten_and_serialize_metadata(metadata, "observation"),
158153
}
159154

160155
return {k: v for k, v in attributes.items() if v is not None}
161156

162157

163-
def create_available_skills_attributes(
164-
available_skills: Optional[list[SkillReference]],
165-
) -> dict[str, str]:
166-
serialized = serialize_available_skills(available_skills)
167-
if serialized is None:
168-
return {}
169-
return {LangfuseOtelSpanAttributes.OBSERVATION_SKILLS_AVAILABLE: serialized}
170-
171-
172158
def _serialize(obj: Any) -> Optional[str]:
173159
if obj is None or isinstance(obj, str):
174160
return obj

0 commit comments

Comments
 (0)