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.")