File size: 1,901 Bytes
98c28c1
 
beff183
98c28c1
 
 
 
 
 
 
 
beff183
9d3366b
bfed265
beff183
98c28c1
 
7c42e93
98c28c1
beff183
 
98c28c1
beff183
a5d946f
beff183
 
98c28c1
 
 
 
 
 
 
 
 
9784311
42d7a9a
98c28c1
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import gradio as gr
import openai
from api_usage import check_gpt4_availability, check_gpt4_32k_availability, get_subscription, check_key_availability #, get_usage

def get_key_info(key):
    # Return a dictionary containing key information
    openai.api_key = key
    key_avai = check_key_availability()
    info_dict = {"account_name": "",
                 "key_availability": key_avai,
                 "gpt4_availability": "",
                 "gpt4_32k_availability": "",
                 "requests_per_minute": "",
                 "organization": "",
                 "quota": ""}
    if key_avai:
        info = get_subscription(key)
#        used = get_usage(key)
        gpt4_avai = check_gpt4_availability()
        gpt4_32k_avai = check_gpt4_32k_availability()
#        info_dict["account_name"] = info["account_name"]
        info_dict["gpt4_availability"] = gpt4_avai
        info_dict["gpt4_32k_availability"] = gpt4_32k_avai
        info_dict["requests_per_minute"] = info["rpm"] + " (gpt4)" if gpt4_avai else info["rpm"] + " (turbo)"
        info_dict["organization"] = info["organization"]
        info_dict["quota"] = info["quota"]
    return info_dict


def clear_inputs(text):
    return ""

with gr.Blocks() as demo:
    gr.Markdown('''
    # OpenAI API Key Status Checker
    
    *(Based on shaocongma and CncAnon1 key checker)*
    ''')

    with gr.Row():
        with gr.Column():
            key =  gr.Textbox(lines=1, max_lines=1, label="OpenAI API Key")
            with gr.Row():
                clear_button = gr.Button("Clear")
                submit_button = gr.Button("Submit", variant="primary")
        with gr.Column():
            info = gr.JSON(label="OpenAI API Key Information")

    clear_button.click(fn=clear_inputs, inputs=[key], outputs=[key])
    submit_button.click(fn=get_key_info, inputs=[key], outputs=[info], api_name="get_key_info")
demo.launch()