ragaai-catalyst 2.1.3__py3-none-any.whl → 2.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +37 -11
  2. ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +240 -81
  3. ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +632 -114
  4. ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +316 -0
  5. ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  6. ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +229 -82
  7. ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +214 -59
  8. ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +16 -14
  9. ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +147 -28
  10. ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +88 -2
  11. ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +9 -51
  12. ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py +83 -0
  13. ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +26 -0
  14. ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +28 -0
  15. ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +45 -15
  16. ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +2520 -2152
  17. ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +59 -0
  18. ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +23 -0
  19. ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +284 -15
  20. ragaai_catalyst/tracers/llamaindex_callback.py +5 -5
  21. ragaai_catalyst/tracers/tracer.py +83 -10
  22. ragaai_catalyst/tracers/upload_traces.py +1 -1
  23. ragaai_catalyst-2.1.4.dist-info/METADATA +431 -0
  24. {ragaai_catalyst-2.1.3.dist-info → ragaai_catalyst-2.1.4.dist-info}/RECORD +26 -20
  25. ragaai_catalyst-2.1.3.dist-info/METADATA +0 -43
  26. {ragaai_catalyst-2.1.3.dist-info → ragaai_catalyst-2.1.4.dist-info}/WHEEL +0 -0
  27. {ragaai_catalyst-2.1.3.dist-info → ragaai_catalyst-2.1.4.dist-info}/top_level.txt +0 -0
@@ -173,7 +173,26 @@ class LLMCall:
173
173
  duration: float = field(default=0)
174
174
 
175
175
  class Component:
176
- def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, data: Dict[str, Any]={}, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
176
+ def __init__(
177
+ self,
178
+ id: str,
179
+ hash_id: str,
180
+ source_hash_id: str,
181
+ type: str,
182
+ name: str,
183
+ start_time: str,
184
+ end_time: str,
185
+ parent_id: int,
186
+ info: Dict[str, Any],
187
+ extra_info: Optional[Dict[str, Any]] = None,
188
+ data: Dict[str, Any]={},
189
+ metadata: Optional[Dict[str, Any]] = None,
190
+ metrics: Optional[List[Dict[str, Any]]] = None,
191
+ feedback: Optional[Any] = None,
192
+ network_calls: Optional[List[NetworkCall]] = None,
193
+ interactions: Optional[List[Union[Interaction, Dict]]] = None,
194
+ error: Optional[Dict[str, Any]] = None):
195
+
177
196
  self.id = id
178
197
  self.hash_id = hash_id
179
198
  self.source_hash_id = source_hash_id
@@ -185,7 +204,9 @@ class Component:
185
204
  self.info = info
186
205
  self.extra_info = extra_info
187
206
  self.data = data
188
- self.error = error
207
+ self.metadata = metadata or {}
208
+ self.metrics = metrics or []
209
+ self.feedback = feedback
189
210
  self.network_calls = network_calls or []
190
211
  self.interactions = []
191
212
  self.error = error
@@ -197,7 +218,7 @@ class Component:
197
218
  id=interaction.get("id", str(uuid.uuid4())),
198
219
  type=interaction.get("interaction_type", ""),
199
220
  content=str(interaction.get("content", "")),
200
- timestamp=interaction.get("timestamp", datetime.utcnow().isoformat())
221
+ timestamp=interaction.get("timestamp", datetime.now().astimezone().isoformat())
201
222
  )
202
223
  )
203
224
  else:
@@ -217,22 +238,25 @@ class Component:
217
238
  "extra_info": self.extra_info,
218
239
  "error": self.error,
219
240
  "data": self.data,
220
- "error": self.error,
241
+ "metadata": self.metadata,
242
+ "metrics": self.metrics,
243
+ "feedback": self.feedback,
221
244
  "network_calls": [call.to_dict() if hasattr(call, 'to_dict') else call for call in self.network_calls],
222
245
  "interactions": self.interactions
223
246
  }
224
247
 
225
248
  class LLMComponent(Component):
226
- def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], data: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
227
- super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, network_calls, interactions, error)
249
+ def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, data: Dict[str, Any]={}, metadata: Optional[Dict[str, Any]] = None, metrics: Optional[List[Dict[str, Any]]] = None, feedback: Optional[Any] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
250
+ super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, metadata, metrics, feedback, network_calls, interactions, error)
228
251
 
229
252
  class AgentComponent(Component):
230
- def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], data: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
231
- super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, network_calls, interactions, error)
253
+ def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, data: Dict[str, Any]={}, metadata: Optional[Dict[str, Any]] = None, metrics: Optional[List[Dict[str, Any]]] = None, feedback: Optional[Any] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
254
+ super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, metadata, metrics, feedback, network_calls, interactions, error)
232
255
 
233
256
  class ToolComponent(Component):
234
- def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], data: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
235
- super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, network_calls, interactions, error)
257
+ def __init__(self, id: str, hash_id: str, source_hash_id: str, type: str, name: str, start_time: str, end_time: str, parent_id: int, info: Dict[str, Any], extra_info: Optional[Dict[str, Any]] = None, data: Dict[str, Any]={}, metadata: Optional[Dict[str, Any]] = None, metrics: Optional[List[Dict[str, Any]]] = None, feedback: Optional[Any] = None, network_calls: Optional[List[NetworkCall]] = None, interactions: Optional[List[Union[Interaction, Dict]]] = None, error: Optional[Dict[str, Any]] = None):
258
+ super().__init__(id, hash_id, source_hash_id, type, name, start_time, end_time, parent_id, info, extra_info, data, metadata, metrics, feedback, network_calls, interactions, error)
259
+
236
260
 
237
261
  @dataclass
238
262
  class ComponentInfo:
@@ -247,8 +271,9 @@ class ComponentInfo:
247
271
  cost: Optional[Dict[str, float]] = None
248
272
 
249
273
  class Trace:
250
- def __init__(self, id: str, project_name: str, start_time: str, end_time: str, metadata: Optional[Metadata] = None, data: Optional[List[Dict[str, Any]]] = None, replays: Optional[Dict[str, Any]] = None):
274
+ def __init__(self, id: str, trace_name: str, project_name: str, start_time: str, end_time: str, metadata: Optional[Metadata] = None, data: Optional[List[Dict[str, Any]]] = None, replays: Optional[Dict[str, Any]] = None):
251
275
  self.id = id
276
+ self.trace_name = trace_name
252
277
  self.project_name = project_name
253
278
  self.start_time = start_time
254
279
  self.end_time = end_time
@@ -259,6 +284,7 @@ class Trace:
259
284
  def to_dict(self):
260
285
  return {
261
286
  "id": self.id,
287
+ "trace_name": self.trace_name,
262
288
  "project_name": self.project_name,
263
289
  "start_time": self.start_time,
264
290
  "end_time": self.end_time,