Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import requests | |
| import datetime | |
| # Function to retrieve usage data for a specific date | |
| def get_usage(api_key, date): | |
| url = 'https://api.openai.com/v1/dashboard/billing/usage' | |
| headers = {'Authorization': f'Bearer {api_key}'} | |
| params = {'date': date.strftime('%Y-%m-%d')} | |
| response = requests.get(url, headers=headers, params=params) | |
| if response.status_code == 200: | |
| return response.json() | |
| else: | |
| st.error(f"Error: {response.status_code} - {response.text}") | |
| return None | |
| # Streamlit application interface | |
| st.title("OpenAI API Usage Tracker") | |
| # Input for API key | |
| api_key = st.text_input("Enter your OpenAI API Key", type="password") | |
| # Date input | |
| date = st.date_input("Select a date", datetime.date.today()) | |
| # Display usage data when button is clicked | |
| if st.button("Get Usage Data"): | |
| if api_key: | |
| usage_data = get_usage(api_key, date) | |
| if usage_data: | |
| total_tokens_used = sum(item['n_generated_tokens_total'] + item['n_context_tokens_total'] for item in usage_data['data']) | |
| st.write(f"Total tokens used on {date}: {total_tokens_used}") | |
| else: | |
| st.write("No usage data available for the selected date.") | |
| else: | |
| st.warning("Please enter your API key.") |