sharjeel1477's picture
Update app.py
fb0ebfd
import gradio as gr
from build import updateBrain
import os
import pinecone
pinecone_key = os.environ['PINECONE_KEY']
password=os.environ['PASSWORD']
#test
get_window_url_params = """
function(url_params) {
var s = document.styleSheets, r,
i, j, k;
if(!s) return false; //no style sheets found
// walk throuth css sheets
for(i=0; i<s.length; i++) {
try{
// get all rules
r = s[i].cssRules;
if(!r) continue;
for(j=0; j<r.length; j++) {
//If there's a rule for media query
if(r[j] instanceof CSSMediaRule && (r[j].media.mediaText == "(min-width: 1536px)" || r[j].media.mediaText == "(min-width: 1280px)" || r[j].media.mediaText == "(min-width: 1024px)" ||
r[j].media.mediaText == "(min-width: 768px)" || r[j].media.mediaText == "(min-width: 640px)")) {
for(k=0; k<r[j].cssRules.length; k++) {
// remove all rules of it
r[j].deleteRule(r[j].cssRules[k]);
}
}
}
}catch(e){
console.log(e)
}
}
console.log(url_params);
const params = new URLSearchParams(window.location.search);
url_params = Object.fromEntries(params);
console.log(url_params)
return url_params;
}
"""
def isBrainFound(brainName):
pinecone.init(api_key=pinecone_key,
environment="us-west4-gcp")
active_indexes = pinecone.list_indexes()
print(active_indexes)
brainName = brainName.lower()
if brainName in active_indexes:
return True
else:
return False
def checkAuth(params):
print(params)
if ("brainName" in params):
if(isBrainFound(params["brainName"])):
return gr.update(visible=True),params["brainName"]
else:
return gr.update(visible=False),""
else:
return gr.update(visible=False),""
def handleSubmit(files,brainName):
if (files == None):
return "Please Upload Files!"
return updateBrain(brainName, files)
bg_color = "#c5dde0"
s_color = "#003595"
light = "#666768"
mycss = """
.gradio-container {{background-image:url("file=bg.png");background-position:center;background-size:cover;}}
#secondrow {{margin-top:10%;padding:0 6%;gap:30px;display:flex;justify-content:center;align-items:center;padding-left:30%;padding-right:30%}}
@media (max-width: 768px) #secondrow {{padding-left:0;padding-right:0 }}
#file .svelte-1sohkj6 {{background-color:#ffffff;color:{clight};font-size:17px}}
#file .svelte-xwlu1w {{color:{clight};min-height:fit-content}}
#file .svelte-116rqfv {{height:15vh}}
#file .file-preview-holder {{overflow-y:scroll;max-height:17vh}}
#status {{display:flex;justify-content:center;align-items:center;margin-top:25px;font-size:20px;font-weight:700;color:#ffffff}}
#status p {{color:#ffffff}}
.built-with.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}
.show-api.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}
#output {{background-color: {bgcolor};border-style:none;border-width:0;box-shadow:none}}
#output span {{background-color:{bgcolor};color:{scolor};font-size:18px}}
#button {{background-color:{scolor};color:#ffffff;margin-top:14px}}
"""
formatted_css = mycss.format(bgcolor=bg_color, scolor=s_color, clight=light)
with gr.Blocks(theme=gr.themes.Soft(), css=formatted_css) as block_demo:
# with gr.Row(elem_id="first", visible=False):
# with gr.Column():
# title = gr.Markdown(
# """
# # Build Brain!
# """, elem_id="title", visible=False)
brain = gr.State(value="")
with gr.Row(elem_id="secondrow"):
with gr.Column(scale=1, elem_id="inputsCol") as myrow:
files = gr.File(label="Upload Files", file_count="multiple",
file_types=[".docx", ".pdf", ".csv", ".txt", ".xml", ".json",".pptx"], elem_id="file")
br = gr.Textbox(visible=False)
submit_button = gr.Button(value="Submit", elem_id="button")
status = gr.Markdown(
"""
""", elem_id="status")
#
submit_button.click(
updateBrain, [files,br], status,api_name="upload")
block_demo.load(checkAuth, inputs=status, outputs=[myrow,brain],
_js=get_window_url_params)
block_demo.queue(concurrency_count=4)
block_demo.launch(show_api=False)