Spaces:
Running
Running
| 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) | |