@@ -88,6 +88,23 @@ class TraceLogImage:
8888 caption : Optional [str ] = None
8989
9090
91+ @define
92+ class TraceLogCommentSchema :
93+ comment : str
94+ user_id : str
95+ created_at : str
96+
97+
98+ @define
99+ class TraceLogAnnotationSchema :
100+ created_at : str
101+ user_id : str
102+ score : float
103+ user_email_address : Optional [str ] = None
104+ annotation_name : Optional [str ] = None
105+ value : Optional [str ] = None
106+
107+
91108@define
92109class TraceLog (EvaluatedLog ):
93110 trace_id : Optional [str ] = field (default = None , validator = validators .instance_of (str ))
@@ -120,6 +137,10 @@ class TraceLog(EvaluatedLog):
120137 experiment_uuid : Optional [str ] = None
121138 images : Optional [List [TraceLogImage ]] = field (factory = list )
122139
140+ # from UI
141+ comments : Optional [List [TraceLogCommentSchema ]] = None
142+ annotations : Optional [dict [int , dict [str , TraceLogAnnotationSchema ]]] = None
143+
123144
124145@define
125146class TraceLogTree (TraceLog ):
@@ -286,3 +307,23 @@ class ListExperimentUUIDsFilters:
286307 metadata_filter : Optional [Dict [str , Any ]] = None
287308 experiment_name_filter : Optional [str ] = None
288309 run_name_filter : Optional [str ] = None
310+
311+
312+ class FilterOperator (str , Enum ):
313+ EQUALS = "equals"
314+ NOT_EQUALS = "not_equals"
315+ LIKE = "like"
316+ GREATER_THAN_OR_EQUAL = "greater_than_or_equal"
317+ LESS_THAN_OR_EQUAL = "less_than_or_equal"
318+ GRATER_THAN = "greater_than"
319+ LESS_THAN = "less_than"
320+ IS_NULL = "is_null"
321+ EXISTS = "exists"
322+ IN = "in"
323+
324+
325+ @define
326+ class TraceLogFilters :
327+ filter_field : Optional [str ] = None
328+ filter_operator : Optional [FilterOperator ] = None
329+ filter_value : Optional [str ] = None
0 commit comments