from os import environ import requests from .utils import * def get_env_var(key): try: return environ[key] except KeyError: logger.debug(f"Missing {key} environment variable.") def get_user_info(request): access_token = request.META.get('HTTP_AUTHORIZATION', '').split(' ')[1] userinfo_response = requests.get( 'https://dev-jy1enj724oy2las3.us.auth0.com/userinfo', headers={'Authorization': f'Bearer {access_token}'} ) if userinfo_response.status_code == 200: userinfo = userinfo_response.json() return userinfo def get_model_prices(model_name: str): """ Returns input and output prices for models for 1k tokens :param model_name: str["gpt-4o" | "gpt-4o-mini" | "gemini-1.5-pro" | "gemini-1.5-flash"] :return: Tuple[input_price, output_price] """ env_model_name = model_name.upper().replace("-", "_") input_price = get_env_var(f'{env_model_name}_INPUT_PRICE_1K') output_price = get_env_var(f'{env_model_name}_OUTPUT_PRICE_1K') return float(output_price), float(input_price)