File size: 1,253 Bytes
770f5f7
 
 
 
20d9410
770f5f7
20d9410
770f5f7
1125ceb
 
 
770f5f7
 
2a9567a
 
 
 
1125ceb
 
 
770f5f7
1125ceb
 
 
 
770f5f7
2a9567a
1a385f1
2a9567a
 
 
 
 
 
 
 
 
 
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
import os
import gradio as gr
# import openai
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
key = os.getenv('OPENAI_API_KEY')
uname = os.getenv('LOGNAME')
pwd = os.getenv('PASSWORD')

client = OpenAI(api_key = key)

def clear():
    return [None, None]


def chat(username, password, prompt):
    if username==uname and pwd==password:
        completion = client.chat.completions.create(model="gpt-4o-mini",
                                              messages=[{"role":"user", "content":prompt}])
        result = completion.choices[0].message.content
    else:
        result = "User name and/or password are incorrect"
    return result

with gr.Blocks() as demo:
    heading = gr.Label(value="GPT Chat", scale=2, color="Crimson" )
    user_window = gr.Textbox(label = "User Name")
    pwd_window = gr.Textbox(label = "Password")
    clear_button = gr.Button(value="Clear")
    prompt_window = gr.Textbox(label = "Prompt")
    submit_window = gr.Button(value="Submit")
    output_window = gr.Textbox(label = "Response")
    submit_window.click(chat, inputs=[user_window, pwd_window, prompt_window], outputs=output_window)
    clear_button.click(clear, inputs=[], outputs=[prompt_window, output_window])
    
demo.launch()