CoolFace
Apppublic

sharjeel1477/Upload-Docs-react

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py142 linesDownload Raw Back to root
1import gradio as gr2from build import updateBrain3import os4import pinecone5 6pinecone_key = os.environ['PINECONE_KEY']7password=os.environ['PASSWORD']8 9 10#test11get_window_url_params = """12    function(url_params) {13        var s = document.styleSheets, r,14        i, j, k;15 16        if(!s) return false; //no style sheets found17 18        // walk throuth css sheets19        20            for(i=0; i<s.length; i++) {21                try{22                    // get all rules23                    r = s[i].cssRules; 24                    if(!r) continue;25 26                    for(j=0; j<r.length; j++) {27                        //If there's a rule for media query28                        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)" ||29                        r[j].media.mediaText == "(min-width: 768px)" || r[j].media.mediaText == "(min-width: 640px)")) {30                            for(k=0; k<r[j].cssRules.length; k++) {31                                // remove all rules of it32                                r[j].deleteRule(r[j].cssRules[k]);33                            }34                            35                        }36                    }37                }catch(e){38                    console.log(e)39                }40            }41        42 43        console.log(url_params);44        const params = new URLSearchParams(window.location.search);45        url_params = Object.fromEntries(params);46        console.log(url_params)47        return url_params;48        }49    """50def isBrainFound(brainName):51    pinecone.init(api_key=pinecone_key,52                  environment="us-west4-gcp")53    active_indexes = pinecone.list_indexes()54    print(active_indexes)55    brainName = brainName.lower()56    if brainName in active_indexes:57        return True58    else:59        return False60 61def checkAuth(params):62    print(params)63    if ("brainName" in params):64        if(isBrainFound(params["brainName"])):65            return gr.update(visible=True),params["brainName"]66        else:67            return gr.update(visible=False),""68    else:69        return gr.update(visible=False),""70 71 72def handleSubmit(files,brainName):73 74    if (files == None):75        return "Please Upload Files!"76    return updateBrain(brainName, files)77 78 79bg_color = "#c5dde0"80s_color = "#003595"81light = "#666768"82mycss = """83    .gradio-container {{background-image:url("file=bg.png");background-position:center;background-size:cover;}}84    85    86    #secondrow {{margin-top:10%;padding:0 6%;gap:30px;display:flex;justify-content:center;align-items:center;padding-left:30%;padding-right:30%}}87 88    @media (max-width: 768px) #secondrow {{padding-left:0;padding-right:0 }}89    90 91    #file .svelte-1sohkj6 {{background-color:#ffffff;color:{clight};font-size:17px}}92    #file .svelte-xwlu1w {{color:{clight};min-height:fit-content}}93    #file .svelte-116rqfv {{height:15vh}}94    #file .file-preview-holder {{overflow-y:scroll;max-height:17vh}}95 96    #status {{display:flex;justify-content:center;align-items:center;margin-top:25px;font-size:20px;font-weight:700;color:#ffffff}}97    #status p {{color:#ffffff}}98 99    .built-with.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}100    .show-api.svelte-1lyswbr.svelte-1lyswbr.svelte-1lyswbr {{display:none}}101    102 103    #output {{background-color: {bgcolor};border-style:none;border-width:0;box-shadow:none}}104    #output span {{background-color:{bgcolor};color:{scolor};font-size:18px}}105 106    #button {{background-color:{scolor};color:#ffffff;margin-top:14px}}107"""108formatted_css = mycss.format(bgcolor=bg_color, scolor=s_color, clight=light)109 110 111with gr.Blocks(theme=gr.themes.Soft(), css=formatted_css) as block_demo:112    # with gr.Row(elem_id="first", visible=False):113 114    #     with gr.Column():115    #         title = gr.Markdown(116    #             """117    #         # Build Brain!118    #         """, elem_id="title", visible=False)119    brain = gr.State(value="")120    with gr.Row(elem_id="secondrow"):121 122        with gr.Column(scale=1,  elem_id="inputsCol") as myrow:123 124            files = gr.File(label="Upload Files", file_count="multiple",125                            file_types=[".docx", ".pdf", ".csv", ".txt", ".xml", ".json",".pptx"], elem_id="file")126            br = gr.Textbox(visible=False)127            submit_button = gr.Button(value="Submit", elem_id="button")128 129            status = gr.Markdown(130                """131            """, elem_id="status")132 133    #134    submit_button.click(135        updateBrain, [files,br], status,api_name="upload")136 137    block_demo.load(checkAuth, inputs=status, outputs=[myrow,brain],138                    _js=get_window_url_params)139 140block_demo.queue(concurrency_count=4)141block_demo.launch(show_api=False)142