ragaai-catalyst 2.1.5b31__py3-none-any.whl → 2.1.5b32__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/ragaai_catalyst.py +0 -23
- ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +42 -19
- ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +9 -5
- ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +11 -73
- ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +1 -3
- ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +0 -1
- ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +16 -10
- ragaai_catalyst/tracers/tracer.py +14 -10
- {ragaai_catalyst-2.1.5b31.dist-info → ragaai_catalyst-2.1.5b32.dist-info}/METADATA +1 -1
- {ragaai_catalyst-2.1.5b31.dist-info → ragaai_catalyst-2.1.5b32.dist-info}/RECORD +13 -13
- {ragaai_catalyst-2.1.5b31.dist-info → ragaai_catalyst-2.1.5b32.dist-info}/LICENSE +0 -0
- {ragaai_catalyst-2.1.5b31.dist-info → ragaai_catalyst-2.1.5b32.dist-info}/WHEEL +0 -0
- {ragaai_catalyst-2.1.5b31.dist-info → ragaai_catalyst-2.1.5b32.dist-info}/top_level.txt +0 -0
@@ -3,23 +3,12 @@ import logging
|
|
3
3
|
import requests
|
4
4
|
from typing import Dict, Optional, Union
|
5
5
|
import re
|
6
|
-
import threading
|
7
6
|
logger = logging.getLogger("RagaAICatalyst")
|
8
7
|
|
9
8
|
|
10
9
|
class RagaAICatalyst:
|
11
10
|
BASE_URL = None
|
12
11
|
TIMEOUT = 10 # Default timeout in seconds
|
13
|
-
_instance = None
|
14
|
-
_lock = threading.Lock()
|
15
|
-
|
16
|
-
def __new__(cls, *args, **kwargs):
|
17
|
-
if not cls._instance:
|
18
|
-
with cls._lock:
|
19
|
-
if not cls._instance:
|
20
|
-
cls._instance = super(RagaAICatalyst, cls).__new__(cls)
|
21
|
-
cls._instance._initialized = False
|
22
|
-
return cls._instance
|
23
12
|
|
24
13
|
def __init__(
|
25
14
|
self,
|
@@ -44,18 +33,6 @@ class RagaAICatalyst:
|
|
44
33
|
Returns:
|
45
34
|
None
|
46
35
|
"""
|
47
|
-
if self._initialized:
|
48
|
-
return
|
49
|
-
|
50
|
-
with self._lock:
|
51
|
-
if not self._initialized:
|
52
|
-
self.access_key = access_key
|
53
|
-
self.secret_key = secret_key
|
54
|
-
self.api_keys = api_keys or {}
|
55
|
-
self.base_url = base_url
|
56
|
-
if self.base_url:
|
57
|
-
RagaAICatalyst.BASE_URL = self.base_url
|
58
|
-
self._initialized = True
|
59
36
|
|
60
37
|
if not access_key or not secret_key:
|
61
38
|
logger.error(
|
@@ -18,9 +18,13 @@ from ragaai_catalyst.tracers.agentic_tracing.data.data_structure import (
|
|
18
18
|
Resources,
|
19
19
|
Component,
|
20
20
|
)
|
21
|
+
from ragaai_catalyst.tracers.agentic_tracing.upload.upload_agentic_traces import UploadAgenticTraces
|
22
|
+
from ragaai_catalyst.tracers.agentic_tracing.upload.upload_code import upload_code
|
23
|
+
from ragaai_catalyst.tracers.agentic_tracing.upload.upload_trace_metric import upload_trace_metric
|
21
24
|
from ragaai_catalyst.tracers.agentic_tracing.utils.file_name_tracker import TrackName
|
22
25
|
from ragaai_catalyst.tracers.agentic_tracing.utils.zip_list_of_unique_files import zip_list_of_unique_files
|
23
26
|
from ragaai_catalyst.tracers.agentic_tracing.utils.span_attributes import SpanAttributes
|
27
|
+
from ragaai_catalyst.tracers.agentic_tracing.utils.create_dataset_schema import create_dataset_schema_with_trace
|
24
28
|
from ragaai_catalyst.tracers.agentic_tracing.utils.system_monitor import SystemMonitor
|
25
29
|
|
26
30
|
import logging
|
@@ -175,10 +179,7 @@ class BaseTracer:
|
|
175
179
|
)
|
176
180
|
|
177
181
|
def stop(self):
|
178
|
-
"""Stop the trace and save to JSON file
|
179
|
-
Trace upload will happen in a separate process and continue even if the main program exits.
|
180
|
-
"""
|
181
|
-
from ..upload.trace_upload_manager import TraceUploadManager, TraceUploadTask
|
182
|
+
"""Stop the trace and save to JSON file"""
|
182
183
|
if hasattr(self, "trace"):
|
183
184
|
self.trace.data[0]["end_time"] = datetime.now().astimezone().isoformat()
|
184
185
|
self.trace.end_time = datetime.now().astimezone().isoformat()
|
@@ -262,25 +263,45 @@ class BaseTracer:
|
|
262
263
|
|
263
264
|
logger.info(" Traces saved successfully.")
|
264
265
|
logger.debug(f"Trace saved to {filepath}")
|
265
|
-
#
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
266
|
+
# Upload traces
|
267
|
+
|
268
|
+
json_file_path = str(filepath)
|
269
|
+
project_name = self.project_name
|
270
|
+
project_id = self.project_id
|
271
|
+
dataset_name = self.dataset_name
|
272
|
+
user_detail = self.user_details
|
273
|
+
base_url = RagaAICatalyst.BASE_URL
|
274
|
+
|
275
|
+
## create dataset schema
|
276
|
+
response = create_dataset_schema_with_trace(
|
277
|
+
dataset_name=dataset_name, project_name=project_name
|
278
|
+
)
|
279
|
+
|
280
|
+
##Upload trace metrics
|
281
|
+
response = upload_trace_metric(
|
282
|
+
json_file_path=json_file_path,
|
270
283
|
dataset_name=self.dataset_name,
|
271
|
-
|
272
|
-
|
284
|
+
project_name=self.project_name,
|
285
|
+
)
|
286
|
+
|
287
|
+
upload_traces = UploadAgenticTraces(
|
288
|
+
json_file_path=json_file_path,
|
289
|
+
project_name=project_name,
|
290
|
+
project_id=project_id,
|
291
|
+
dataset_name=dataset_name,
|
292
|
+
user_detail=user_detail,
|
293
|
+
base_url=base_url,
|
294
|
+
)
|
295
|
+
upload_traces.upload_agentic_traces()
|
296
|
+
|
297
|
+
# Upload Codehash
|
298
|
+
response = upload_code(
|
273
299
|
hash_id=hash_id,
|
274
300
|
zip_path=zip_path,
|
275
|
-
|
276
|
-
|
301
|
+
project_name=project_name,
|
302
|
+
dataset_name=dataset_name,
|
277
303
|
)
|
278
|
-
|
279
|
-
# Get upload manager singleton and submit task
|
280
|
-
upload_manager = TraceUploadManager()
|
281
|
-
upload_manager.submit_upload(upload_task)
|
282
|
-
|
283
|
-
logger.info(f"Trace upload task submitted and will continue in background")
|
304
|
+
print(response)
|
284
305
|
|
285
306
|
# Cleanup
|
286
307
|
self.components = []
|
@@ -878,6 +899,8 @@ class BaseTracer:
|
|
878
899
|
|
879
900
|
return {"workflow": sorted_interactions}
|
880
901
|
|
902
|
+
# TODO: Add support for execute metrics. Maintain list of all metrics to be added for this span
|
903
|
+
|
881
904
|
def execute_metrics(self,
|
882
905
|
name: str,
|
883
906
|
model: str,
|
@@ -12,6 +12,7 @@ import contextvars
|
|
12
12
|
import traceback
|
13
13
|
import importlib
|
14
14
|
import sys
|
15
|
+
from litellm import model_cost
|
15
16
|
import logging
|
16
17
|
|
17
18
|
try:
|
@@ -47,9 +48,12 @@ class LLMTracerMixin:
|
|
47
48
|
super().__init__(*args, **kwargs)
|
48
49
|
self.file_tracker = TrackName()
|
49
50
|
self.patches = []
|
50
|
-
|
51
|
-
|
52
|
-
|
51
|
+
try:
|
52
|
+
self.model_costs = model_cost
|
53
|
+
except Exception as e:
|
54
|
+
self.model_costs = {
|
55
|
+
"default": {"input_cost_per_token": 0.0, "output_cost_per_token": 0.0}
|
56
|
+
}
|
53
57
|
self.MAX_PARAMETERS_TO_DISPLAY = 10
|
54
58
|
self.current_llm_call_name = contextvars.ContextVar(
|
55
59
|
"llm_call_name", default=None
|
@@ -770,7 +774,7 @@ class LLMTracerMixin:
|
|
770
774
|
token_usage = extract_token_usage(result)
|
771
775
|
else:
|
772
776
|
token_usage = extract_token_usage(result)
|
773
|
-
cost = calculate_llm_cost(token_usage, model_name)
|
777
|
+
cost = calculate_llm_cost(token_usage, model_name, self.model_costs, self.model_custom_cost)
|
774
778
|
parameters = extract_parameters(kwargs)
|
775
779
|
input_data = extract_input_data(args, kwargs, result)
|
776
780
|
|
@@ -879,7 +883,7 @@ class LLMTracerMixin:
|
|
879
883
|
token_usage = extract_token_usage(result)
|
880
884
|
else:
|
881
885
|
token_usage = extract_token_usage(result)
|
882
|
-
cost = calculate_llm_cost(token_usage, model_name)
|
886
|
+
cost = calculate_llm_cost(token_usage, model_name, self.model_costs, self.model_custom_cost)
|
883
887
|
parameters = extract_parameters(kwargs)
|
884
888
|
input_data = extract_input_data(args, kwargs, result)
|
885
889
|
|
@@ -2,7 +2,6 @@ import requests
|
|
2
2
|
import json
|
3
3
|
import os
|
4
4
|
from datetime import datetime
|
5
|
-
from urllib.parse import urlparse, urlunparse
|
6
5
|
|
7
6
|
|
8
7
|
class UploadAgenticTraces:
|
@@ -21,71 +20,12 @@ class UploadAgenticTraces:
|
|
21
20
|
self.base_url = base_url
|
22
21
|
self.timeout = 30
|
23
22
|
|
24
|
-
|
25
|
-
def _normalize_url_core(url):
|
26
|
-
"""Normalize the core domain of a URL by removing common prefixes and handling ports.
|
27
|
-
|
28
|
-
Args:
|
29
|
-
url (str): The URL to normalize
|
30
|
-
|
31
|
-
Returns:
|
32
|
-
str: The normalized core domain
|
33
|
-
"""
|
34
|
-
parsed = urlparse(url.rstrip('/'))
|
35
|
-
netloc = parsed.netloc.lower()
|
36
|
-
|
37
|
-
# Split host and port
|
38
|
-
host = netloc.split(':')[0]
|
39
|
-
|
40
|
-
# Remove common prefixes
|
41
|
-
if host.startswith('www.'):
|
42
|
-
host = host[4:]
|
43
|
-
|
44
|
-
return host
|
45
|
-
|
46
|
-
def _reconcile_urls(self, presigned_url, base_url):
|
47
|
-
"""Reconcile two URLs by using the base URL's core if they differ.
|
48
|
-
|
49
|
-
Args:
|
50
|
-
presigned_url (str): The presigned URL from the server
|
51
|
-
base_url (str): The base URL to compare against
|
52
|
-
|
53
|
-
Returns:
|
54
|
-
str: The reconciled URL
|
55
|
-
"""
|
56
|
-
# Get normalized core domains
|
57
|
-
presigned_core = self._normalize_url_core(presigned_url)
|
58
|
-
base_core = self._normalize_url_core(base_url)
|
59
|
-
|
60
|
-
# If cores are same, return original presigned URL
|
61
|
-
if presigned_core == base_core:
|
62
|
-
return presigned_url
|
63
|
-
|
64
|
-
# Parse URLs
|
65
|
-
parsed_base = urlparse(base_url.rstrip('/'))
|
66
|
-
parsed_presigned = urlparse(presigned_url)
|
67
|
-
|
68
|
-
# Remove API version paths from base_url if present
|
69
|
-
base_path = parsed_base.path
|
70
|
-
for suffix in ['/api', '/v1']:
|
71
|
-
if base_path.endswith(suffix):
|
72
|
-
base_path = base_path[:-len(suffix)]
|
73
|
-
|
74
|
-
# Construct new URL using components
|
75
|
-
return urlunparse((
|
76
|
-
parsed_base.scheme,
|
77
|
-
parsed_base.netloc,
|
78
|
-
parsed_presigned.path, # Use presigned path
|
79
|
-
parsed_presigned.params,
|
80
|
-
parsed_presigned.query,
|
81
|
-
parsed_presigned.fragment
|
82
|
-
))
|
83
|
-
|
23
|
+
|
84
24
|
def _get_presigned_url(self):
|
85
25
|
payload = json.dumps({
|
86
|
-
|
87
|
-
|
88
|
-
|
26
|
+
"datasetName": self.dataset_name,
|
27
|
+
"numFiles": 1,
|
28
|
+
})
|
89
29
|
headers = {
|
90
30
|
"Content-Type": "application/json",
|
91
31
|
"Authorization": f"Bearer {os.getenv('RAGAAI_CATALYST_TOKEN')}",
|
@@ -93,16 +33,14 @@ class UploadAgenticTraces:
|
|
93
33
|
}
|
94
34
|
|
95
35
|
try:
|
96
|
-
response = requests.request(
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
timeout=self.timeout
|
102
|
-
)
|
36
|
+
response = requests.request("GET",
|
37
|
+
f"{self.base_url}/v1/llm/presigned-url",
|
38
|
+
headers=headers,
|
39
|
+
data=payload,
|
40
|
+
timeout=self.timeout)
|
103
41
|
if response.status_code == 200:
|
104
|
-
|
105
|
-
return
|
42
|
+
presignedUrls = response.json()["data"]["presignedUrls"][0]
|
43
|
+
return presignedUrls
|
106
44
|
except requests.exceptions.RequestException as e:
|
107
45
|
print(f"Error while getting presigned url: {e}")
|
108
46
|
return None
|
@@ -4,7 +4,6 @@ import json
|
|
4
4
|
import os
|
5
5
|
import logging
|
6
6
|
from ragaai_catalyst.ragaai_catalyst import RagaAICatalyst
|
7
|
-
from .upload_agentic_traces import UploadAgenticTraces
|
8
7
|
logger = logging.getLogger(__name__)
|
9
8
|
|
10
9
|
def upload_code(hash_id, zip_path, project_name, dataset_name):
|
@@ -62,8 +61,7 @@ def _fetch_presigned_url(project_name, dataset_name):
|
|
62
61
|
timeout=99999)
|
63
62
|
|
64
63
|
if response.status_code == 200:
|
65
|
-
|
66
|
-
return UploadAgenticTraces._reconcile_urls(presigned_url, RagaAICatalyst.BASE_URL)
|
64
|
+
return response.json()["data"]["presignedUrls"][0]
|
67
65
|
else:
|
68
66
|
raise Exception(f"Failed to fetch code hashes: {response.json()['message']}")
|
69
67
|
except requests.exceptions.RequestException as e:
|
@@ -6,7 +6,6 @@ from ragaai_catalyst.tracers.agentic_tracing.tracers.base import RagaAICatalyst
|
|
6
6
|
|
7
7
|
def create_dataset_schema_with_trace(project_name, dataset_name):
|
8
8
|
def make_request():
|
9
|
-
import pdb; pdb.set_trace()
|
10
9
|
headers = {
|
11
10
|
"Content-Type": "application/json",
|
12
11
|
"Authorization": f"Bearer {os.getenv('RAGAAI_CATALYST_TOKEN')}",
|
@@ -4,6 +4,7 @@ from .trace_utils import (
|
|
4
4
|
convert_usage_to_dict,
|
5
5
|
)
|
6
6
|
from importlib import resources
|
7
|
+
from litellm import model_cost
|
7
8
|
import json
|
8
9
|
import os
|
9
10
|
import asyncio
|
@@ -304,8 +305,11 @@ def extract_input_data(args, kwargs, result):
|
|
304
305
|
}
|
305
306
|
|
306
307
|
|
307
|
-
def calculate_llm_cost(token_usage, model_name, model_costs
|
308
|
+
def calculate_llm_cost(token_usage, model_name, model_costs, model_custom_cost=None):
|
308
309
|
"""Calculate cost based on token usage and model"""
|
310
|
+
if model_custom_cost is None:
|
311
|
+
model_custom_cost = {}
|
312
|
+
model_costs.update(model_custom_cost)
|
309
313
|
if not isinstance(token_usage, dict):
|
310
314
|
token_usage = {
|
311
315
|
"prompt_tokens": 0,
|
@@ -313,17 +317,20 @@ def calculate_llm_cost(token_usage, model_name, model_costs=None, model_custom_c
|
|
313
317
|
"total_tokens": token_usage if isinstance(token_usage, (int, float)) else 0
|
314
318
|
}
|
315
319
|
|
316
|
-
# Get model costs
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
+
# Get model costs, defaulting to default costs if unknown
|
321
|
+
model_cost = model_cost = model_costs.get(model_name, {
|
322
|
+
"input_cost_per_token": 0.0,
|
323
|
+
"output_cost_per_token": 0.0
|
324
|
+
})
|
325
|
+
if model_cost['input_cost_per_token'] == 0.0 and model_cost['output_cost_per_token'] == 0.0:
|
320
326
|
provide_name = model_name.split('-')[0]
|
321
327
|
if provide_name == 'azure':
|
322
328
|
model_name = os.path.join('azure', '-'.join(model_name.split('-')[1:]))
|
323
|
-
|
329
|
+
|
330
|
+
model_cost = model_costs.get(model_name, {
|
324
331
|
"input_cost_per_token": 0.0,
|
325
332
|
"output_cost_per_token": 0.0
|
326
|
-
}
|
333
|
+
})
|
327
334
|
|
328
335
|
input_cost = (token_usage.get("prompt_tokens", 0)) * model_cost.get("input_cost_per_token", 0.0)
|
329
336
|
output_cost = (token_usage.get("completion_tokens", 0)) * model_cost.get("output_cost_per_token", 0.0)
|
@@ -549,9 +556,8 @@ def extract_llm_data(args, kwargs, result):
|
|
549
556
|
|
550
557
|
token_usage = extract_token_usage(result)
|
551
558
|
|
552
|
-
#
|
553
|
-
|
554
|
-
model_costs = cost_manager.costs
|
559
|
+
# Load model costs
|
560
|
+
model_costs = model_cost
|
555
561
|
|
556
562
|
# Calculate cost
|
557
563
|
cost = calculate_llm_cost(token_usage, model_name, model_costs)
|
@@ -6,6 +6,7 @@ import logging
|
|
6
6
|
import asyncio
|
7
7
|
import aiohttp
|
8
8
|
import requests
|
9
|
+
from litellm import model_cost
|
9
10
|
|
10
11
|
from contextlib import contextmanager
|
11
12
|
from concurrent.futures import ThreadPoolExecutor
|
@@ -128,6 +129,7 @@ class Tracer(AgenticTracing):
|
|
128
129
|
self.timeout = 30
|
129
130
|
self.num_projects = 100
|
130
131
|
self.start_time = datetime.datetime.now().astimezone().isoformat()
|
132
|
+
self.model_cost_dict = model_cost
|
131
133
|
self.user_context = "" # Initialize user_context to store context from add_context
|
132
134
|
|
133
135
|
try:
|
@@ -181,8 +183,8 @@ class Tracer(AgenticTracing):
|
|
181
183
|
Args:
|
182
184
|
cost_config (dict): Dictionary containing model cost configuration with keys:
|
183
185
|
- model_name (str): Name of the model
|
184
|
-
-
|
185
|
-
-
|
186
|
+
- input_cost_per_token (float): Cost per input token
|
187
|
+
- output_cost_per_token (float): Cost per output token
|
186
188
|
|
187
189
|
Example:
|
188
190
|
tracer.set_model_cost({
|
@@ -191,14 +193,17 @@ class Tracer(AgenticTracing):
|
|
191
193
|
"output_cost_per_million_token": 2.40
|
192
194
|
})
|
193
195
|
"""
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
196
|
+
if not isinstance(cost_config, dict):
|
197
|
+
raise TypeError("cost_config must be a dictionary")
|
198
|
+
|
199
|
+
required_keys = {"model_name", "input_cost_per_million_token", "output_cost_per_million_token"}
|
200
|
+
if not all(key in cost_config for key in required_keys):
|
201
|
+
raise ValueError(f"cost_config must contain all required keys: {required_keys}")
|
202
|
+
|
198
203
|
model_name = cost_config["model_name"]
|
199
204
|
self.model_custom_cost[model_name] = {
|
200
|
-
"input_cost_per_token": float(cost_config["input_cost_per_million_token"])
|
201
|
-
"output_cost_per_token": float(cost_config["output_cost_per_million_token"]) /
|
205
|
+
"input_cost_per_token": float(cost_config["input_cost_per_million_token"])/ 1000000,
|
206
|
+
"output_cost_per_token": float(cost_config["output_cost_per_million_token"]) /1000000
|
202
207
|
}
|
203
208
|
|
204
209
|
|
@@ -307,8 +312,7 @@ class Tracer(AgenticTracing):
|
|
307
312
|
# Add cost if possible
|
308
313
|
if additional_metadata.get('model_name'):
|
309
314
|
try:
|
310
|
-
|
311
|
-
model_cost_data = model_cost[additional_metadata['model_name']]
|
315
|
+
model_cost_data = self.model_cost_dict[additional_metadata['model_name']]
|
312
316
|
if 'tokens' in additional_metadata and all(k in additional_metadata['tokens'] for k in ['prompt', 'completion']):
|
313
317
|
prompt_cost = additional_metadata["tokens"]["prompt"]*model_cost_data["input_cost_per_token"]
|
314
318
|
completion_cost = additional_metadata["tokens"]["completion"]*model_cost_data["output_cost_per_token"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ragaai_catalyst
|
3
|
-
Version: 2.1.
|
3
|
+
Version: 2.1.5b32
|
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>
|
6
6
|
Requires-Python: <3.13,>=3.9
|
@@ -8,7 +8,7 @@ ragaai_catalyst/guardrails_manager.py,sha256=DILMOAASK57FH9BLq_8yC1AQzRJ8McMFLwC
|
|
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=5nVg3_-lcvhrXjNkPTeGhe3tdUjm_4ZIctOcqWXBkRA,17939
|
12
12
|
ragaai_catalyst/redteaming_old.py,sha256=W2d89Ok8W-C8g7TBM3fDIFLof3q9FuYSr0jcryH2XQo,7097
|
13
13
|
ragaai_catalyst/synthetic_data_generation.py,sha256=rJPWj6luKMa6CTs1cEAmtnZhUMEQsr67O_C4jG47dMQ,37547
|
14
14
|
ragaai_catalyst/utils.py,sha256=TlhEFwLyRU690HvANbyoRycR3nQ67lxVUQoUOfTPYQ0,3772
|
@@ -31,7 +31,7 @@ ragaai_catalyst/tracers/distributed.py,sha256=MwlBwIxCAng-OI-7Ove_rkE1mTLeuW4Jw-
|
|
31
31
|
ragaai_catalyst/tracers/langchain_callback.py,sha256=KooENtkX0Hp0S_d_1WI3iH3qNVt-ZcnwOKVlydv4dUk,33518
|
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=iO5m4ev0ruXjp-YjRMuN_mhr0Cd499Phz6ZYlfJ1yak,22889
|
35
35
|
ragaai_catalyst/tracers/upload_traces.py,sha256=OKsc-Obf8bJvKBprt3dqj8GQQNkoX3kT_t8TBDi9YDQ,5670
|
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
|
@@ -45,26 +45,26 @@ ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py,sha256=S4rCcKzU
|
|
45
45
|
ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py,sha256=Xk1cLzs-2A3dgyBwRRnCWs7Eubki40FVonwd433hPN8,4805
|
46
46
|
ragaai_catalyst/tracers/agentic_tracing/tracers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
47
|
ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py,sha256=LzbsHvELwBmH8ObFomJRhiQ98b6MEi18irm0DPiplt0,29743
|
48
|
-
ragaai_catalyst/tracers/agentic_tracing/tracers/base.py,sha256=
|
48
|
+
ragaai_catalyst/tracers/agentic_tracing/tracers/base.py,sha256=0eFrHtEddxYBQnkilGXOAMpen09bFV3jkymywTjDSU4,46139
|
49
49
|
ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py,sha256=OBJJjFSvwRjCGNJyqX3yIfC1W05ZN2QUXasCJ4gmCjQ,13930
|
50
50
|
ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
|
-
ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py,sha256=
|
51
|
+
ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py,sha256=BvC_jCN2EObfFZKu4-POnE_YmlH4Q_pjF9gZLV1AwZ0,50226
|
52
52
|
ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py,sha256=PYYNNeFfsQpw5D4A0jzwNYhAvC1bMT5vtAGaTsgk2xY,16112
|
53
53
|
ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py,sha256=m8CxYkl7iMiFya_lNwN1ykBc3Pmo-2pR_2HmpptwHWQ,10352
|
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/upload_agentic_traces.py,sha256=
|
58
|
-
ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py,sha256=
|
57
|
+
ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py,sha256=1MDKXAAPzOEdxFKWWQrRgrmM3kz--DGXSywGXQmR3lQ,6041
|
58
|
+
ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py,sha256=HgpMgI-JTWZrizcM7GGUIaAgaZF4aRT3D0dJXVEkblY,4271
|
59
59
|
ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py,sha256=m1O8lKpxKwtHofXLW3fTHX5yfqDW5GxoveARlg5cTw4,2571
|
60
60
|
ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py,sha256=V9dgYx4DwibPr38Xbk7_SOJk9gONE7xYpb0MPA1oMGI,3943
|
61
61
|
ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py,sha256=XdB3X_ufe4RVvGorxSqAiB9dYv4UD7Hvvuw3bsDUppY,60
|
62
62
|
ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py,sha256=JyNCbfpW-w4O9CjtemTqmor2Rh1WGpQwhRaDSRmBxw8,689
|
63
|
-
ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py,sha256=
|
63
|
+
ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py,sha256=lgvJL0cakJrX8WGsnU05YGvotequSj6HgSohyR4OJNE,804
|
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=h29o5xkEjE9v71pRTtJJTM_fPTj4GijCPYE0xypNF7E,21093
|
68
68
|
ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json,sha256=2tzGw_cKCTPcfjEm7iGvFE6pTw7gMTPzeBov_MTaXNY,321336
|
69
69
|
ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py,sha256=qmODERcFZhc8MX24boFCXkkh6sJ-vZngRHPvxhyWFeE,4347
|
70
70
|
ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml,sha256=LvFDivDIE96Zasp-fgDEqUJ5GEQZUawQucR3aOcSUTY,926
|
@@ -85,8 +85,8 @@ ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py,sha256=8qLo7x4Zsn
|
|
85
85
|
ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py,sha256=ZhPs0YhVtB82-Pq9o1BvCinKE_WPvVxPTEcZjlJbFYM,2371
|
86
86
|
ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py,sha256=XS2_x2qneqEx9oAighLg-LRiueWcESLwIC2r7eJT-Ww,3117
|
87
87
|
ragaai_catalyst/tracers/utils/utils.py,sha256=ViygfJ7vZ7U0CTSA1lbxVloHp4NSlmfDzBRNCJuMhis,2374
|
88
|
-
ragaai_catalyst-2.1.
|
89
|
-
ragaai_catalyst-2.1.
|
90
|
-
ragaai_catalyst-2.1.
|
91
|
-
ragaai_catalyst-2.1.
|
92
|
-
ragaai_catalyst-2.1.
|
88
|
+
ragaai_catalyst-2.1.5b32.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
89
|
+
ragaai_catalyst-2.1.5b32.dist-info/METADATA,sha256=VMbQ_YRI9gcoOArMDv7MAgpLWuhHfix77iOo01nGPRw,21884
|
90
|
+
ragaai_catalyst-2.1.5b32.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
91
|
+
ragaai_catalyst-2.1.5b32.dist-info/top_level.txt,sha256=HpgsdRgEJMk8nqrU6qdCYk3di7MJkDL0B19lkc7dLfM,16
|
92
|
+
ragaai_catalyst-2.1.5b32.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|