ragaai-catalyst 2.2.2b1__py3-none-any.whl → 2.2.3__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 (23) hide show
  1. ragaai_catalyst/dataset.py +41 -43
  2. ragaai_catalyst/evaluation.py +16 -25
  3. ragaai_catalyst/guard_executor.py +8 -8
  4. ragaai_catalyst/ragaai_catalyst.py +4 -9
  5. ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +15 -14
  6. ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +8 -12
  7. ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +4 -1
  8. ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +182 -144
  9. ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +6 -3
  10. ragaai_catalyst/tracers/distributed.py +6 -3
  11. ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +4 -4
  12. ragaai_catalyst/tracers/exporters/file_span_exporter.py +1 -3
  13. ragaai_catalyst/tracers/exporters/raga_exporter.py +2 -2
  14. ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +3 -3
  15. ragaai_catalyst/tracers/tracer.py +68 -92
  16. ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +6131 -2218
  17. ragaai_catalyst/tracers/utils/trace_json_converter.py +141 -92
  18. ragaai_catalyst/tracers/utils/utils.py +1 -1
  19. {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/METADATA +1 -1
  20. {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/RECORD +23 -23
  21. {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/WHEEL +1 -1
  22. {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/licenses/LICENSE +0 -0
  23. {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,7 @@ from ragaai_catalyst.tracers.agentic_tracing.utils.llm_utils import (
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+
18
19
  def convert_time_format(original_time_str, target_timezone_str="Asia/Kolkata"):
19
20
  """
20
21
  Converts a UTC time string to a specified timezone format.
@@ -36,7 +37,7 @@ def convert_time_format(original_time_str, target_timezone_str="Asia/Kolkata"):
36
37
  # Format the datetime object to the desired string format
37
38
  formatted_time = target_time.strftime("%Y-%m-%dT%H:%M:%S.%f%z")
38
39
  # Add a colon in the timezone offset for better readability
39
- formatted_time = formatted_time[:-2] + ':' + formatted_time[-2:]
40
+ formatted_time = formatted_time[:-2] + ":" + formatted_time[-2:]
40
41
  return formatted_time
41
42
 
42
43
 
@@ -44,35 +45,43 @@ def get_uuid(name):
44
45
  """Generate a random UUID (not based on name)."""
45
46
  return str(uuid.uuid5(uuid.NAMESPACE_DNS, name))
46
47
 
48
+
47
49
  def get_ordered_family(parent_children_mapping: Dict[str, Any]) -> List[str]:
48
50
  def ordering_function(parent_id: str, ordered_family: List[str]):
49
51
  children = parent_children_mapping.get(parent_id, [])
50
- parent_child_ids =[child['id'] for child in children if child['id'] in parent_children_mapping]
52
+ parent_child_ids = [
53
+ child["id"] for child in children if child["id"] in parent_children_mapping
54
+ ]
51
55
  for child_id in parent_child_ids:
52
56
  if child_id not in ordered_family:
53
57
  ordered_family.append(child_id)
54
58
  ordering_function(child_id, ordered_family)
59
+
55
60
  ordered_family = [None]
56
61
  ordering_function(None, ordered_family)
57
62
  return reversed(ordered_family)
58
63
 
64
+
59
65
  def get_spans(input_trace):
60
66
  data = input_trace.copy()
61
67
  from collections import defaultdict
62
-
68
+
63
69
  name_counts = defaultdict(int)
64
70
 
65
71
  for span in data:
66
72
  # 1. For each span add '.{occurence_no}' to the span name, where occurence_no is the number of times the span name has occurred
67
73
  span["name_occurrences"] = name_counts[span["name"]]
68
74
  name_counts[span["name"]] += 1
69
- span['name'] = f"{span['name']}.{span['name_occurrences']}"
75
+ span["name"] = f"{span['name']}.{span['name_occurrences']}"
70
76
 
71
77
  # 2. For each span add hash_id, which is uuid4 based on the span name
72
- span['hash_id'] = get_uuid(span['name'])
78
+ span["hash_id"] = get_uuid(span["name"])
73
79
  return data
74
80
 
75
- def convert_json_format(input_trace, custom_model_cost, user_context, user_gt,external_id):
81
+
82
+ def convert_json_format(
83
+ input_trace, custom_model_cost, user_context, user_gt, external_id
84
+ ):
76
85
  """
77
86
  Converts a JSON from one format to UI format, handling nested spans.
78
87
 
@@ -82,25 +91,20 @@ def convert_json_format(input_trace, custom_model_cost, user_context, user_gt,ex
82
91
  Returns:
83
92
  final_trace: The converted JSON, or None if an error occurs.
84
93
  """
94
+
85
95
  final_trace = {
86
96
  "id": input_trace[0]["context"]["trace_id"],
87
- "trace_name": "",
88
- "project_name": "",
89
- "start_time": convert_time_format(min(item["start_time"] for item in input_trace)),
97
+ "trace_name": "",
98
+ "project_name": "",
99
+ "start_time": convert_time_format(
100
+ min(item["start_time"] for item in input_trace)
101
+ ),
90
102
  "end_time": convert_time_format(max(item["end_time"] for item in input_trace)),
91
- "external_id": external_id
103
+ "external_id": external_id,
92
104
  }
93
105
  final_trace["metadata"] = {
94
- "tokens": {
95
- "prompt_tokens": 0.0,
96
- "completion_tokens": 0.0,
97
- "total_tokens": 0.0
98
- },
99
- "cost": {
100
- "input_cost": 0.0,
101
- "output_cost": 0.0,
102
- "total_cost": 0.0
103
- }
106
+ "tokens": {"prompt_tokens": 0.0, "completion_tokens": 0.0, "total_tokens": 0.0},
107
+ "cost": {"input_cost": 0.0, "output_cost": 0.0, "total_cost": 0.0},
104
108
  }
105
109
  final_trace["replays"] = {"source": None}
106
110
  final_trace["data"] = [{}]
@@ -113,27 +117,42 @@ def convert_json_format(input_trace, custom_model_cost, user_context, user_gt,ex
113
117
  # Add user passed context to the trace
114
118
  try:
115
119
  if user_context:
116
- spans.append(custom_spans(user_context, "Context", input_trace[0]["context"]["trace_id"], spans[0].get("parent_id")))
120
+ spans.append(
121
+ custom_spans(
122
+ user_context,
123
+ "Context",
124
+ input_trace[0]["context"]["trace_id"],
125
+ spans[0].get("parent_id"),
126
+ )
127
+ )
117
128
  except Exception as e:
118
129
  print(f"Error in adding context: {e}")
119
130
  return None
120
-
131
+
121
132
  try:
122
133
  if user_gt:
123
- spans.append(custom_spans(user_gt, "GroundTruth", input_trace[0]["context"]["trace_id"], spans[0].get("parent_id")))
134
+ spans.append(
135
+ custom_spans(
136
+ user_gt,
137
+ "GroundTruth",
138
+ input_trace[0]["context"]["trace_id"],
139
+ spans[0].get("parent_id"),
140
+ )
141
+ )
124
142
  except Exception as e:
125
143
  print(f"Error in adding ground truth: {e}")
126
144
  return None
127
145
 
128
-
129
146
  final_trace["data"][0]["spans"] = spans
130
-
147
+
131
148
  # Calculate token counts and costs from spans
132
149
  for span in spans:
133
150
  if "attributes" in span:
134
151
  # Extract token counts
135
152
  prompt_tokens = span["attributes"].get("llm.token_count.prompt", 0)
136
- completion_tokens = span["attributes"].get("llm.token_count.completion", 0)
153
+ completion_tokens = span["attributes"].get(
154
+ "llm.token_count.completion", 0
155
+ )
137
156
 
138
157
  # If prompt tokens or/and completion tokens are not present, will calculate it using tiktoken
139
158
  try:
@@ -141,113 +160,143 @@ def convert_json_format(input_trace, custom_model_cost, user_context, user_gt,ex
141
160
  prompt_value = span["attributes"].get("input.value")
142
161
  if prompt_value:
143
162
  prompt_tokens = count_tokens(prompt_value)
144
- logger.debug(f"Prompt tokens not present, calculated it: {prompt_tokens}")
163
+ logger.debug(
164
+ f"Prompt tokens not present, calculated it: {prompt_tokens}"
165
+ )
145
166
  if completion_tokens == 0:
146
167
  completion_value = span["attributes"].get("output.value")
147
168
  if completion_value:
148
169
  completion_tokens = count_tokens(completion_value)
149
- logger.debug(f"Completion tokens not present, calculated it: {completion_tokens}")
170
+ logger.debug(
171
+ f"Completion tokens not present, calculated it: {completion_tokens}"
172
+ )
150
173
  except Exception as e:
151
174
  logger.warning(f"Failed to calculate token counts: {e}")
152
175
 
153
176
  # Update token counts
154
177
  final_trace["metadata"]["tokens"]["prompt_tokens"] += prompt_tokens
155
- final_trace["metadata"]["tokens"]["completion_tokens"] += completion_tokens
156
- final_trace["metadata"]["tokens"]["total_tokens"] += prompt_tokens + completion_tokens
178
+ final_trace["metadata"]["tokens"]["completion_tokens"] += (
179
+ completion_tokens
180
+ )
181
+ final_trace["metadata"]["tokens"]["total_tokens"] += (
182
+ prompt_tokens + completion_tokens
183
+ )
157
184
 
158
185
  # Get model name from the last span
159
- model_name = span["attributes"].get("llm.model_name", "")
160
- if model_name:
186
+ model_names = [
187
+ span["attributes"].get("llm.model_name", "") for span in spans
188
+ ]
189
+ model_name = next((name for name in reversed(model_names) if name), "")
190
+ if not model_name and span["attributes"].get("openinference.span.kind")=="LLM":
191
+ model_name = json.loads(span["attributes"].get("metadata", "")).get("ls_model_name", "")
192
+ if model_name and span["attributes"].get("openinference.span.kind") == "LLM":
161
193
  try:
162
194
  model_costs = get_model_cost()
163
195
  span_cost = calculate_llm_cost(
164
- {"prompt_tokens": prompt_tokens, "completion_tokens": completion_tokens, "total_tokens": prompt_tokens + completion_tokens},
196
+ {
197
+ "prompt_tokens": prompt_tokens,
198
+ "completion_tokens": completion_tokens,
199
+ "total_tokens": prompt_tokens + completion_tokens,
200
+ },
165
201
  model_name,
166
202
  model_costs,
167
- custom_model_cost
203
+ custom_model_cost,
168
204
  )
169
- final_trace["metadata"]["cost"]["input_cost"] += span_cost["input_cost"]
170
- final_trace["metadata"]["cost"]["output_cost"] += span_cost["output_cost"]
171
- final_trace["metadata"]["cost"]["total_cost"] += span_cost["total_cost"]
172
-
205
+ final_trace["metadata"]["cost"]["input_cost"] += span_cost[
206
+ "input_cost"
207
+ ]
208
+ final_trace["metadata"]["cost"]["output_cost"] += span_cost[
209
+ "output_cost"
210
+ ]
211
+ final_trace["metadata"]["cost"]["total_cost"] += span_cost[
212
+ "total_cost"
213
+ ]
214
+
173
215
  # Add cost to span attributes for debugging
174
216
  span["attributes"]["llm.cost"] = span_cost
175
217
  except Exception as e:
176
218
  logger.warning(f"Failed to calculate span cost: {e}")
177
219
 
178
220
  except Exception as e:
179
- raise Exception(f"Error in get_spans function: {e}")
221
+ logger.error(f"Error in get_spans function: {e}")
180
222
 
181
223
  # Total metadata summary
182
- final_trace["metadata"]["total_cost"] = final_trace["metadata"]["cost"]["total_cost"]
183
- final_trace["metadata"]["total_tokens"] = final_trace["metadata"]["tokens"]["total_tokens"]
224
+ final_trace["metadata"]["total_cost"] = final_trace["metadata"]["cost"][
225
+ "total_cost"
226
+ ]
227
+ final_trace["metadata"]["total_tokens"] = final_trace["metadata"]["tokens"][
228
+ "total_tokens"
229
+ ]
184
230
 
185
231
  return final_trace
186
232
 
233
+
187
234
  def custom_spans(text, span_type, trace_id, parent_id):
188
- try:
235
+ try:
189
236
  return {
190
- "name": f"Custom{span_type}Span",
191
- "context": {
192
- "trace_id": trace_id,
193
- "span_id": f"0x{uuid.uuid4().hex[:16]}",
194
- "trace_state": "[]"
195
- },
196
- "kind": "SpanKind.INTERNAL",
197
- "parent_id": parent_id,
198
- "start_time": convert_time_format(datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")),
199
- "end_time": convert_time_format(datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")),
200
- "status": {
201
- "status_code": "OK"
202
- },
203
- "attributes": {
204
- "input.value": text,
205
- "openinference.span.kind": "UNKNOWN"
206
- },
207
- "events": [],
208
- "name_occurrences": 0,
209
- "hash_id": get_uuid(f"Custom{span_type}Span")
210
- }
237
+ "name": f"Custom{span_type}Span",
238
+ "context": {
239
+ "trace_id": trace_id,
240
+ "span_id": f"0x{uuid.uuid4().hex[:16]}",
241
+ "trace_state": "[]",
242
+ },
243
+ "kind": "SpanKind.INTERNAL",
244
+ "parent_id": parent_id,
245
+ "start_time": convert_time_format(
246
+ datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")
247
+ ),
248
+ "end_time": convert_time_format(
249
+ datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")
250
+ ),
251
+ "status": {"status_code": "OK"},
252
+ "attributes": {"input.value": text, "openinference.span.kind": "UNKNOWN"},
253
+ "events": [],
254
+ "name_occurrences": 0,
255
+ "hash_id": get_uuid(f"Custom{span_type}Span"),
256
+ }
211
257
  except Exception as e:
212
258
  logger.warning(f"Error in custom_spans function: {e}")
213
259
  return {
214
- "name": f"Custom{span_type}Span",
215
- "context": {
216
- "trace_id": trace_id,
217
- "span_id": f"0x{uuid.uuid4().hex[:16]}",
218
- "trace_state": "[]"
219
- },
220
- "kind": "SpanKind.INTERNAL",
221
- "parent_id": parent_id,
222
- "start_time": convert_time_format(datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")),
223
- "end_time": convert_time_format(datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")),
224
- "status": {
225
- "status_code": "ERROR",
226
- "description": str(e)
227
- },
228
- "attributes": {
229
- "input.value": text,
230
- "openinference.span.kind": "UNKNOWN"
231
- },
232
- "events": [],
233
- "name_occurrences": 0,
234
- "hash_id": get_uuid(f"Custom{span_type}Span")
235
- }
260
+ "name": f"Custom{span_type}Span",
261
+ "context": {
262
+ "trace_id": trace_id,
263
+ "span_id": f"0x{uuid.uuid4().hex[:16]}",
264
+ "trace_state": "[]",
265
+ },
266
+ "kind": "SpanKind.INTERNAL",
267
+ "parent_id": parent_id,
268
+ "start_time": convert_time_format(
269
+ datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")
270
+ ),
271
+ "end_time": convert_time_format(
272
+ datetime.now().strftime("%Y-%m-%dT%H:%M:%S.%fZ")
273
+ ),
274
+ "status": {"status_code": "ERROR", "description": str(e)},
275
+ "attributes": {"input.value": text, "openinference.span.kind": "UNKNOWN"},
276
+ "events": [],
277
+ "name_occurrences": 0,
278
+ "hash_id": get_uuid(f"Custom{span_type}Span"),
279
+ }
280
+
236
281
 
237
282
  if __name__ == "__main__":
238
283
  if len(sys.argv) != 3:
239
- print("Usage: python convert.py <input_openinference_trace_path> <output_trace_path>")
240
- print("Example: python convert.py sample_openinference_trace/test.json output.json")
284
+ print(
285
+ "Usage: python convert.py <input_openinference_trace_path> <output_trace_path>"
286
+ )
287
+ print(
288
+ "Example: python convert.py sample_openinference_trace/test.json output.json"
289
+ )
241
290
  sys.exit(1)
242
291
  input_file_path = sys.argv[1]
243
292
  output_file_path = sys.argv[2]
244
- with open(input_file_path,'r') as fin:
245
- input_trace=[]
293
+ with open(input_file_path, "r") as fin:
294
+ input_trace = []
246
295
  for line in fin:
247
- data=json.loads(line)
296
+ data = json.loads(line)
248
297
  input_trace.append(data)
249
298
  payload = convert_json_format(input_trace)
250
299
  print(payload)
251
- with open(output_file_path,"w") as fout:
252
- json.dump(payload,fout)
300
+ with open(output_file_path, "w") as fout:
301
+ json.dump(payload, fout)
253
302
  fout.write("\n")
@@ -53,7 +53,7 @@ def get_unique_key(input_data):
53
53
  canonical_json = normalize_string(input_data)
54
54
  else:
55
55
  # If input is neither a dictionary nor a string, raise an error
56
- raise ValueError("Input must be a dictionary or a string")
56
+ logger.error("Input must be a dictionary or a string")
57
57
 
58
58
  # Calculate the SHA-256 hash of the canonical JSON representation
59
59
  hash_object = hashlib.sha256(canonical_json.encode())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.2.2b1
3
+ Version: 2.2.3
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>, Rishabh Pandey <rishabh.pandey@raga.ai>, Jyotsana C G <jyotsana@raga.ai>
6
6
  Requires-Python: <=3.13.2,>=3.10
@@ -1,14 +1,14 @@
1
1
  ragaai_catalyst/__init__.py,sha256=2wfkucAbb3Bt_p2KHelkg9zBQp4yC4iZanltyieG18w,895
2
2
  ragaai_catalyst/_version.py,sha256=JKt9KaVNOMVeGs8ojO6LvIZr7ZkMzNN-gCcvryy4x8E,460
3
- ragaai_catalyst/dataset.py,sha256=kQy-fiU9zxVrNJkHG8ILGR_3UTIz4rUM7iOsEf4jVZs,29535
4
- ragaai_catalyst/evaluation.py,sha256=acCNQtoN2eM9NTehKEATquZ5hNu6Ijv7wisvaaJ4u7c,22993
3
+ ragaai_catalyst/dataset.py,sha256=H1zWw4nabiy8gsZ5msv6442VW5KBy4KTgxoqdH8r8J0,29368
4
+ ragaai_catalyst/evaluation.py,sha256=8P2zUMSMsQGmKdv7_dZ8F0iXWYddvappgKPN5oJXWuY,22568
5
5
  ragaai_catalyst/experiment.py,sha256=8yQo1phCHlpnJ-4CqCaIbLXg_1ZlAuLGI9kqGBl-OTE,18859
6
- ragaai_catalyst/guard_executor.py,sha256=f2FXQSW17z4-eor61J_mtD0z-xBm9yordq8giB-GN_U,14006
6
+ ragaai_catalyst/guard_executor.py,sha256=VLqVO1gAEBaovoQQUjdNkivH1dXACFTsuXQ1nzAALQQ,14008
7
7
  ragaai_catalyst/guardrails_manager.py,sha256=_VrARJ1udmCF8TklNKy7XTQUaM8ATDhTOAGDonBkFro,14245
8
8
  ragaai_catalyst/internal_api_completion.py,sha256=DdICI5yfEudiOAIC8L4oxH0Qz7kX-BZCdo9IWsi2gNo,2965
9
9
  ragaai_catalyst/prompt_manager.py,sha256=W8ypramzOprrJ7-22d5vkBXIuIQ8v9XAzKDGxKsTK28,16550
10
10
  ragaai_catalyst/proxy_call.py,sha256=CHxldeceZUaLU-to_hs_Kf1z_b2vHMssLS_cOBedu78,5499
11
- ragaai_catalyst/ragaai_catalyst.py,sha256=H7nhKuPi3pJH3QzO2dWshZ6FXgyZ5YRNOcB7MkXPRes,25413
11
+ ragaai_catalyst/ragaai_catalyst.py,sha256=ZlcpOgJA9lVRi51YFy4dVfsxU0I79LJu0MnVI5BIL-c,25201
12
12
  ragaai_catalyst/redteaming_old.py,sha256=W2d89Ok8W-C8g7TBM3fDIFLof3q9FuYSr0jcryH2XQo,7097
13
13
  ragaai_catalyst/synthetic_data_generation.py,sha256=7lIWa3nwgW2-FlJrDaGxTN6OE4-dbbhLtKNOBQufhho,37952
14
14
  ragaai_catalyst/utils.py,sha256=TlhEFwLyRU690HvANbyoRycR3nQ67lxVUQoUOfTPYQ0,3772
@@ -27,11 +27,11 @@ ragaai_catalyst/redteaming/tests/stereotype.ipynb,sha256=-FoA3BxTF3vZs3U5c7N-Q3o
27
27
  ragaai_catalyst/redteaming/utils/issue_description.py,sha256=iB0XbeOjdqHTPrikCKS_wOtJW4_JKfQPI1mgyvX0V-Q,6946
28
28
  ragaai_catalyst/redteaming/utils/rt.png,sha256=HzVC8bz_4UgwafKXuMe8RJVI6CyK_UmSgo53ceAOQK8,282154
29
29
  ragaai_catalyst/tracers/__init__.py,sha256=LfgTes-nHpazssbGKnn8kyLZNr49kIPrlkrqqoTFTfc,301
30
- ragaai_catalyst/tracers/distributed.py,sha256=MwlBwIxCAng-OI-7Ove_rkE1mTLeuW4Jw-wWEVJBNlI,9968
30
+ ragaai_catalyst/tracers/distributed.py,sha256=CGPuOh4CsgEk428PPibieLaAG2Tt3BVygF6ZlmbXxg4,10009
31
31
  ragaai_catalyst/tracers/langchain_callback.py,sha256=CB75zzG3-DkYTELj0vI1MOHQTY0MuQJfoHIXz9Cl8S8,34568
32
32
  ragaai_catalyst/tracers/llamaindex_callback.py,sha256=ZY0BJrrlz-P9Mg2dX-ZkVKG3gSvzwqBtk7JL_05MiYA,14028
33
33
  ragaai_catalyst/tracers/llamaindex_instrumentation.py,sha256=Ys_jLkvVqo12bKgXDmkp4TxJu9HkBATrFE8cIcTYxWw,14329
34
- ragaai_catalyst/tracers/tracer.py,sha256=ngHe17GDSjHThrZO9uPr8yH-qYvnysPQrS7B0Aq_hJU,42071
34
+ ragaai_catalyst/tracers/tracer.py,sha256=a_7iYRrHVUtep6WfyLNJSkNGJX4AljlCf6UEkXnYFTU,42642
35
35
  ragaai_catalyst/tracers/upload_traces.py,sha256=w1clGGfdOMpStUJX40NAlxe6dcFdN4pwcezyII0bGYA,6994
36
36
  ragaai_catalyst/tracers/agentic_tracing/README.md,sha256=X4QwLb7-Jg7GQMIXj-SerZIgDETfw-7VgYlczOR8ZeQ,4508
37
37
  ragaai_catalyst/tracers/agentic_tracing/__init__.py,sha256=yf6SKvOPSpH-9LiKaoLKXwqj5sez8F_5wkOb91yp0oE,260
@@ -54,42 +54,42 @@ ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py,sha256=m8CxYkl
54
54
  ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py,sha256=xxrliKPfdfbIZRZqMnUewsaTD8_Hv0dbuoBivNZGD4U,21674
55
55
  ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py,sha256=bhSUhNQCuJXKjgJAXhjKEYjnHMpYN90FSZdR84fNIKU,4614
56
56
  ragaai_catalyst/tracers/agentic_tracing/upload/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py,sha256=yA2_4fO0rWP0O4mrqcPGt_aZiB4gluVS5nCk6Q6k1y8,12946
57
+ ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py,sha256=FqHjvFdq5Pqp8iZcLTwXaxnMmm8ATec3fLdDuzLITFs,13019
58
58
  ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py,sha256=qcii8NMZGJvmv19AokjCH2egGIsALLWK9JqHtgkFB_0,10447
59
- ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py,sha256=XWRqVU_4kEgpPpx-TKmfgFFI5mxf_uO54yNhD5ogYNk,10170
59
+ ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py,sha256=2mxdi7k_SoDqQUFo1oQ__28CpmSIvVugYcbuRltUK9Q,9920
60
60
  ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py,sha256=m1O8lKpxKwtHofXLW3fTHX5yfqDW5GxoveARlg5cTw4,2571
61
61
  ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py,sha256=XdB3X_ufe4RVvGorxSqAiB9dYv4UD7Hvvuw3bsDUppY,60
62
- ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py,sha256=JyNCbfpW-w4O9CjtemTqmor2Rh1WGpQwhRaDSRmBxw8,689
62
+ ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py,sha256=ZduFA7MmTnWfQ2FzSD0hxMAAfNNTgBs4CXcHZdXJv6k,749
63
63
  ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py,sha256=KxxIuuB7-TIfXdwaJsAgKsG90S2tOTS021mimCOczwc,1543
64
64
  ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py,sha256=YG601l1a29ov9VPu9Vl4RXxgL7l16k54_WWnoTNoG58,2064
65
65
  ragaai_catalyst/tracers/agentic_tracing/utils/generic.py,sha256=WwXT01xmp8MSr7KinuDCSK9a1ifpLcT7ajFkvYviG_A,1190
66
66
  ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py,sha256=vPZ4dn4EHFW0kqd1GyRpsYXbfrRrd0DXCmh-pzsDBNE,1109
67
- ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py,sha256=Tdi4nnxsXywx-X-4FOvyzRpvB04rgyd3Mzf4o9k_BAI,22697
67
+ ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py,sha256=PiyXvEj_qu0EnJFjk4GfGyWFZbwlvQQh0hdQ_lm0p8E,22976
68
68
  ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json,sha256=2tzGw_cKCTPcfjEm7iGvFE6pTw7gMTPzeBov_MTaXNY,321336
69
- ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py,sha256=qmODERcFZhc8MX24boFCXkkh6sJ-vZngRHPvxhyWFeE,4347
69
+ ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py,sha256=aWMofqiNZZbOwlEFpcsEHu_Tu_6XeUlF36Y827p588c,4405
70
70
  ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml,sha256=LvFDivDIE96Zasp-fgDEqUJ5GEQZUawQucR3aOcSUTY,926
71
71
  ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py,sha256=H8WNsk4v_5T6OUw4TFOzlDLjQhJwjh1nAMyMAoqMEi4,6946
72
72
  ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py,sha256=W7Nw-IpugejIoHbCtQiN4Sn4ughLocQ9AUCjuAtOhOo,17258
73
73
  ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py,sha256=G027toV-Km20JjKrc-Y_PilQ8ABEKrBvvzgLTnqVg7I,5819
74
74
  ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py,sha256=4TeCGsFF26249fV6dJHLTZDrRa93SG9oer4rudoF8Y4,19443
75
75
  ragaai_catalyst/tracers/exporters/__init__.py,sha256=wQbaqyeIjVZxYprHCKZ9BeiqxeXYBKjzEgP79LWNxCU,293
76
- ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py,sha256=JhYVSN9t6-9MFcg0IrYEJIyD6rg9O96Arg2poQSb5g8,6855
77
- ragaai_catalyst/tracers/exporters/file_span_exporter.py,sha256=RgGteu-NVGprXKkynvyIO5yOjpbtA41R3W_NzCjnkwE,6445
78
- ragaai_catalyst/tracers/exporters/raga_exporter.py,sha256=6xvjWXyh8XPkHKSLLmAZUQSvwuyY17ov8pv2VdfI0qA,17875
79
- ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py,sha256=0ybb8GQMN-WERum-L9LSbSvWm6hPDj7ywV3_pfgBMBA,8935
76
+ ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py,sha256=Rm-QaLv1qMAKpHKcFOcK_HWaKHwFBoUH45_4QYipE-g,6843
77
+ ragaai_catalyst/tracers/exporters/file_span_exporter.py,sha256=NZsD3rShUiC3rO9y3Y2vqEtS3MO51FXZy0p3q9cdDNY,6403
78
+ ragaai_catalyst/tracers/exporters/raga_exporter.py,sha256=l-RfysTIXYxtvYkVlJbRvg-AzJbT4Fdb-YiZh0mfuDs,17868
79
+ ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py,sha256=OnvgZM-fzF8nFDdqD0u9wVSU4KfwPklhsdz0d7hVLX4,8926
80
80
  ragaai_catalyst/tracers/instrumentators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
81
  ragaai_catalyst/tracers/utils/__init__.py,sha256=KeMaZtYaTojilpLv65qH08QmpYclfpacDA0U3wg6Ybw,64
82
82
  ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py,sha256=SehrD7q8ytAiUYoWr406b4mWs3Lk0Rcy6Ekkihh22TI,1703
83
83
  ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py,sha256=8qLo7x4Zsn3dhJfSv9gviB60YXZ2TOsWEouucJmBM0c,1724
84
84
  ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py,sha256=ZhPs0YhVtB82-Pq9o1BvCinKE_WPvVxPTEcZjlJbFYM,2371
85
85
  ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py,sha256=XS2_x2qneqEx9oAighLg-LRiueWcESLwIC2r7eJT-Ww,3117
86
- ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json,sha256=C3uwkibJ08C9sOX-54kulZYmJlIpZ-SQpfE6HNGrjbM,343502
86
+ ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json,sha256=WlZCZeOQ54aMVjYS8BAeka2uaFC3ftBTMZ8zzzA8TAI,495947
87
87
  ragaai_catalyst/tracers/utils/rag_extraction_logic_final.py,sha256=3ygkRT__lLDRflRttjzPu28tIA8cTCiGQVMQjqMItqQ,11309
88
88
  ragaai_catalyst/tracers/utils/rag_trace_json_converter.py,sha256=54IEZO-YRjUAahV5nw8KClXqTF1LhfDry_TsZ4KGow4,20467
89
- ragaai_catalyst/tracers/utils/trace_json_converter.py,sha256=YllXhkfyYOuQ0rsX9VqiUjMUeztDMs8TFMudIPkWvrY,10191
90
- ragaai_catalyst/tracers/utils/utils.py,sha256=L19LQGc8h08FFhyptBtixIHGG_e-VdSPsKs7JNaXnGE,2378
91
- ragaai_catalyst-2.2.2b1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
92
- ragaai_catalyst-2.2.2b1.dist-info/METADATA,sha256=v1FsKjucbxLV8pJQ9hW57vsydzzikiEUQi6mqcNQRZQ,17679
93
- ragaai_catalyst-2.2.2b1.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
94
- ragaai_catalyst-2.2.2b1.dist-info/top_level.txt,sha256=HpgsdRgEJMk8nqrU6qdCYk3di7MJkDL0B19lkc7dLfM,16
95
- ragaai_catalyst-2.2.2b1.dist-info/RECORD,,
89
+ ragaai_catalyst/tracers/utils/trace_json_converter.py,sha256=U9GFVDCWRQvmBSMTDIZoMerJCnH8Gijw95r2oQbuFdQ,11560
90
+ ragaai_catalyst/tracers/utils/utils.py,sha256=o-p9n2ZuophdrV0wrixu-BqRHCkovup_klc3mS8mU8g,2374
91
+ ragaai_catalyst-2.2.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
92
+ ragaai_catalyst-2.2.3.dist-info/METADATA,sha256=NTJeylxVJ6i8axXQJGtW7w_tz9uuFR0gGxkYiUqwVmM,17677
93
+ ragaai_catalyst-2.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
94
+ ragaai_catalyst-2.2.3.dist-info/top_level.txt,sha256=HpgsdRgEJMk8nqrU6qdCYk3di7MJkDL0B19lkc7dLfM,16
95
+ ragaai_catalyst-2.2.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5