|
15 | 15 | """ |
16 | 16 |
|
17 | 17 | import json |
| 18 | +from datetime import datetime |
18 | 19 |
|
19 | 20 | from importlib_metadata import version as v |
20 | 21 | from langtrace.trace_attributes import DatabaseSpanAttributes |
|
48 | 49 | def extract_inputs(args, kwargs): |
49 | 50 | extracted_params = {} |
50 | 51 | kwargs_without_properties = { |
51 | | - k: v for k, v in kwargs.items() if k not in ["properties", "fusion_type"] |
| 52 | + k: v for k, v in kwargs.items() if k not in ["properties", "fusion_type", "filters"] |
52 | 53 | } |
53 | 54 | extracted_params.update(extract_input_params(args, kwargs_without_properties)) |
| 55 | + if kwargs.get("filters", None): |
| 56 | + extracted_params["filters"] = str(kwargs["filters"]) |
54 | 57 | if kwargs.get("fusion_type", None): |
55 | 58 | extracted_params["fusion_type"] = kwargs["fusion_type"].value |
56 | 59 | if kwargs.get("properties", None): |
@@ -95,9 +98,13 @@ def aggregate_responses(result): |
95 | 98 |
|
96 | 99 |
|
97 | 100 | def get_response_object_attributes(response_object): |
| 101 | + def convert_value(value): |
| 102 | + if isinstance(value, datetime): |
| 103 | + return value.isoformat() |
| 104 | + return value |
98 | 105 |
|
99 | 106 | response_attributes = { |
100 | | - **response_object.properties, |
| 107 | + **{k: convert_value(v) for k, v in response_object.properties.items()}, |
101 | 108 | "uuid": str(response_object.uuid) if hasattr(response_object, "uuid") else None, |
102 | 109 | "collection": getattr(response_object, "collection", None), |
103 | 110 | "vector": getattr(response_object, "vector", None), |
|
0 commit comments