Spaces:
Sleeping
Sleeping
| 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) | |