startrz's picture
Update app.py
be1b585 verified
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.")