- Portkey log retrieval started
- flower container added (dev and prod)
This commit is contained in:
@@ -97,7 +97,12 @@ class ModelVariables(MutableMapping):
|
||||
|
||||
portkey_headers = createHeaders(api_key=os.getenv('PORTKEY_API_KEY'),
|
||||
provider=self._variables['embedding_provider'],
|
||||
metadata=portkey_metadata)
|
||||
metadata=portkey_metadata,
|
||||
trace_id=current_event.trace_id,
|
||||
span_id=current_event.span_id,
|
||||
span_name=current_event.span_name,
|
||||
parent_span_id=current_event.parent_span_id
|
||||
)
|
||||
api_key = os.getenv('OPENAI_API_KEY')
|
||||
model = self._variables['embedding_model']
|
||||
self._embedding_model = OpenAIEmbeddings(api_key=api_key,
|
||||
@@ -136,7 +141,12 @@ class ModelVariables(MutableMapping):
|
||||
portkey_metadata = self.get_portkey_metadata()
|
||||
portkey_headers = createHeaders(api_key=os.getenv('PORTKEY_API_KEY'),
|
||||
metadata=portkey_metadata,
|
||||
provider=self._variables['llm_provider'])
|
||||
provider=self._variables['llm_provider'],
|
||||
trace_id=current_event.trace_id,
|
||||
span_id=current_event.span_id,
|
||||
span_name=current_event.span_name,
|
||||
parent_span_id=current_event.parent_span_id
|
||||
)
|
||||
return portkey_headers
|
||||
|
||||
def get_portkey_metadata(self):
|
||||
@@ -196,7 +206,12 @@ class ModelVariables(MutableMapping):
|
||||
portkey_metadata = self.get_portkey_metadata()
|
||||
portkey_headers = createHeaders(api_key=os.getenv('PORTKEY_API_KEY'),
|
||||
metadata=portkey_metadata,
|
||||
provider='openai')
|
||||
provider='openai',
|
||||
trace_id=current_event.trace_id,
|
||||
span_id=current_event.span_id,
|
||||
span_name=current_event.span_name,
|
||||
parent_span_id=current_event.parent_span_id
|
||||
)
|
||||
api_key = os.getenv('OPENAI_API_KEY')
|
||||
self._transcription_client = OpenAI(api_key=api_key,
|
||||
base_url=PORTKEY_GATEWAY_URL,
|
||||
|
||||
99
common/utils/portkey_utils.py
Normal file
99
common/utils/portkey_utils.py
Normal file
@@ -0,0 +1,99 @@
|
||||
import requests
|
||||
import json
|
||||
from typing import Optional
|
||||
|
||||
# Define a function to make the GET request
|
||||
def get_metadata_grouped_data(
|
||||
api_key: str,
|
||||
metadata_key: str,
|
||||
time_of_generation_min: Optional[str] = None,
|
||||
time_of_generation_max: Optional[str] = None,
|
||||
total_units_min: Optional[int] = None,
|
||||
total_units_max: Optional[int] = None,
|
||||
cost_min: Optional[float] = None,
|
||||
cost_max: Optional[float] = None,
|
||||
prompt_token_min: Optional[int] = None,
|
||||
prompt_token_max: Optional[int] = None,
|
||||
completion_token_min: Optional[int] = None,
|
||||
completion_token_max: Optional[int] = None,
|
||||
status_code: Optional[str] = None,
|
||||
weighted_feedback_min: Optional[float] = None,
|
||||
weighted_feedback_max: Optional[float] = None,
|
||||
virtual_keys: Optional[str] = None,
|
||||
configs: Optional[str] = None,
|
||||
workspace_slug: Optional[str] = None,
|
||||
api_key_ids: Optional[str] = None,
|
||||
current_page: Optional[int] = 1,
|
||||
page_size: Optional[int] = 20,
|
||||
metadata: Optional[str] = None,
|
||||
ai_org_model: Optional[str] = None,
|
||||
trace_id: Optional[str] = None,
|
||||
span_id: Optional[str] = None,
|
||||
):
|
||||
url = f"https://api.portkey.ai/v1/analytics/groups/metadata/{metadata_key}"
|
||||
|
||||
# Set up query parameters
|
||||
params = {
|
||||
"time_of_generation_min": time_of_generation_min,
|
||||
"time_of_generation_max": time_of_generation_max,
|
||||
"total_units_min": total_units_min,
|
||||
"total_units_max": total_units_max,
|
||||
"cost_min": cost_min,
|
||||
"cost_max": cost_max,
|
||||
"prompt_token_min": prompt_token_min,
|
||||
"prompt_token_max": prompt_token_max,
|
||||
"completion_token_min": completion_token_min,
|
||||
"completion_token_max": completion_token_max,
|
||||
"status_code": status_code,
|
||||
"weighted_feedback_min": weighted_feedback_min,
|
||||
"weighted_feedback_max": weighted_feedback_max,
|
||||
"virtual_keys": virtual_keys,
|
||||
"configs": configs,
|
||||
"workspace_slug": workspace_slug,
|
||||
"api_key_ids": api_key_ids,
|
||||
"current_page": current_page,
|
||||
"page_size": page_size,
|
||||
"metadata": metadata,
|
||||
"ai_org_model": ai_org_model,
|
||||
"trace_id": trace_id,
|
||||
"span_id": span_id,
|
||||
}
|
||||
|
||||
# Remove any keys with None values
|
||||
params = {k: v for k, v in params.items() if v is not None}
|
||||
|
||||
# Set up the headers
|
||||
headers = {
|
||||
"Authorization": f"Bearer {api_key}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
# Make the GET request
|
||||
response = requests.get(url, headers=headers, params=params)
|
||||
|
||||
# Check for successful response
|
||||
if response.status_code == 200:
|
||||
return response.json() # Return JSON data
|
||||
else:
|
||||
response.raise_for_status() # Raise an exception for errors
|
||||
|
||||
# Example usage
|
||||
# Replace 'your_api_key' and 'your_metadata_key' with actual values
|
||||
api_key = 'your_api_key'
|
||||
metadata_key = 'your_metadata_key'
|
||||
|
||||
try:
|
||||
data = get_metadata_grouped_data(
|
||||
api_key=api_key,
|
||||
metadata_key=metadata_key,
|
||||
time_of_generation_min="2024-08-23T15:50:23+05:30",
|
||||
time_of_generation_max="2024-09-23T15:50:23+05:30",
|
||||
total_units_min=100,
|
||||
total_units_max=1000,
|
||||
cost_min=10,
|
||||
cost_max=100,
|
||||
status_code="200,201"
|
||||
)
|
||||
print(json.dumps(data, indent=4))
|
||||
except Exception as e:
|
||||
print(f"Error occurred: {str(e)}")
|
||||
Reference in New Issue
Block a user