File size: 2,306 Bytes
7d849d3
413cb20
e4b3526
7d849d3
9830b8e
 
 
e4b3526
4b4013f
b16e227
9830b8e
 
b16e227
874fc5b
63e083c
874fc5b
 
 
 
 
 
 
 
 
 
 
 
6a1c9b8
63e083c
e4b3526
4b4013f
413cb20
6cbfbad
e4b3526
4b4013f
6cbfbad
413cb20
e4b3526
4b4013f
005a493
413cb20
 
 
e4b3526
 
 
 
413cb20
e4b3526
8060e77
874fc5b
8060e77
874fc5b
8060e77
a7ccdf0
 
8060e77
 
 
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
52
53
54
55
56
57
58
59
60
import streamlit as st
from tempfile import NamedTemporaryFile
import validators

radioButtonList = ["E-commerce CSV (https://www.kaggle.com/datasets/mervemenekse/ecommerce-dataset)",
"Upload my own CSV",
"Upload my own PDF",
"URL Chat with Google Alphabet's 2022 Q2 Earnings Report (https://tinyurl.com/f85wujsj)",
"Enter my own URL"]
genre = st.radio(
    "Choose dataset to finetune", radioButtonList
    )

pdfCSVURLText = ""
if genre==radioButtonList[0]:
    pdfCSVURLText = "CSV"
    # st.write('You selected comedy.')
    # else:
    # st.write(f'''Password streamlit app: {st.secrets["PSWD"]}''')
elif genre==radioButtonList[1]:
    pdfCSVURLText = "CSV"
elif genre==radioButtonList[2]:
    pdfCSVURLText = "PDF"
elif genre==radioButtonList[3]:
    pdfCSVURLText = "URL"
elif genre==radioButtonList[4]:
    pdfCSVURLText = "URL"

isCustomURL = genre==radioButtonList[4]
urlInput = st.text_input('Enter your own URL', '', placeholder="Type your URL here (e.g. https://tinyurl.com/f85wujsj)", disabled=not isCustomURL)

isCustomPDF = genre==radioButtonList[1] or genre==radioButtonList[2]
uploaded_file = st.file_uploader(f"Upload your own {pdfCSVURLText} here", type=pdfCSVURLText.lower(), disabled=not isCustomPDF)
uploadedFilename = ""
if uploaded_file is not None:
    with NamedTemporaryFile(dir='.', suffix=f'.{pdfCSVURLText.lower()}') as f:
        f.write(uploaded_file.getbuffer())
        uploadedFilename = f.name

enableChatBox = False
if genre==radioButtonList[0]:
    enableChatBox = True
elif genre==radioButtonList[1]:
    enableChatBox = uploadedFilename[-4:]==".csv"
elif genre==radioButtonList[2]:
    enableChatBox = uploadedFilename[-4:]==".pdf"
elif genre==radioButtonList[3]:
    enableChatBox = True
elif genre==radioButtonList[4]:
    enableChatBox = True

chatTextStr = st.text_input(f'Ask me anything about this {pdfCSVURLText}', '', placeholder="Type your question here (e.g. what was the most sold item?)", disabled=not enableChatBox)
chatWithPDFButton = "CLICK HERE TO START CHATTING"
if st.button(chatWithPDFButton, disabled=not enableChatBox and not chatTextStr): #  Button Cliked
    if genre==radioButtonList[4] and not validators.url(urlInput):
        st.write('Invalid ULR. Please enter a valid URL.')
    print("Successfully processed files")
# else:
#     pass