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.
- ragaai_catalyst/dataset.py +41 -43
- ragaai_catalyst/evaluation.py +16 -25
- ragaai_catalyst/guard_executor.py +8 -8
- ragaai_catalyst/ragaai_catalyst.py +4 -9
- ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +15 -14
- ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +8 -12
- ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +4 -1
- ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +182 -144
- ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +6 -3
- ragaai_catalyst/tracers/distributed.py +6 -3
- ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +4 -4
- ragaai_catalyst/tracers/exporters/file_span_exporter.py +1 -3
- ragaai_catalyst/tracers/exporters/raga_exporter.py +2 -2
- ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +3 -3
- ragaai_catalyst/tracers/tracer.py +68 -92
- ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +6131 -2218
- ragaai_catalyst/tracers/utils/trace_json_converter.py +141 -92
- ragaai_catalyst/tracers/utils/utils.py +1 -1
- {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/METADATA +1 -1
- {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/RECORD +23 -23
- {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/WHEEL +1 -1
- {ragaai_catalyst-2.2.2b1.dist-info → ragaai_catalyst-2.2.3.dist-info}/licenses/LICENSE +0 -0
- {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] +
|
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 =
|
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[
|
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[
|
78
|
+
span["hash_id"] = get_uuid(span["name"])
|
73
79
|
return data
|
74
80
|
|
75
|
-
|
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(
|
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
|
-
|
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(
|
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(
|
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(
|
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(
|
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(
|
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"] +=
|
156
|
-
|
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
|
-
|
160
|
-
|
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
|
-
{
|
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[
|
170
|
-
|
171
|
-
|
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
|
-
|
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"][
|
183
|
-
|
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
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
"
|
202
|
-
|
203
|
-
|
204
|
-
"
|
205
|
-
"openinference.span.kind": "UNKNOWN"
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
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
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
"
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
"input.value": text,
|
230
|
-
"
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
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(
|
240
|
-
|
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,
|
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
|
-
|
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.
|
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=
|
4
|
-
ragaai_catalyst/evaluation.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
77
|
-
ragaai_catalyst/tracers/exporters/file_span_exporter.py,sha256=
|
78
|
-
ragaai_catalyst/tracers/exporters/raga_exporter.py,sha256=
|
79
|
-
ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py,sha256=
|
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=
|
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=
|
90
|
-
ragaai_catalyst/tracers/utils/utils.py,sha256=
|
91
|
-
ragaai_catalyst-2.2.
|
92
|
-
ragaai_catalyst-2.2.
|
93
|
-
ragaai_catalyst-2.2.
|
94
|
-
ragaai_catalyst-2.2.
|
95
|
-
ragaai_catalyst-2.2.
|
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,,
|
File without changes
|
File without changes
|