chore: update design in version 6
Browse files
app.py
CHANGED
@@ -470,7 +470,6 @@ def reset_fn():
|
|
470 |
submit_button: gr.update(value="Confirm Symptoms"),
|
471 |
user_id_box: gr.update(visible=False, value=None, interactive=False),
|
472 |
user_vect_box1: None,
|
473 |
-
recap_symptoms_box: gr.update(visible=False, value=None),
|
474 |
default_symptoms: gr.update(visible=True, value=None),
|
475 |
disease_box: gr.update(visible=True, value=None),
|
476 |
quant_vect_box: gr.update(visible=False, value=None, interactive=False),
|
@@ -581,9 +580,7 @@ if __name__ == "__main__":
|
|
581 |
error_box1 = gr.Textbox(label="Error β", visible=False)
|
582 |
|
583 |
# Default disease, picked from the dataframe
|
584 |
-
gr.Markdown(
|
585 |
-
"You can choose an **existing disease** and explore its associated symptoms."
|
586 |
-
)
|
587 |
|
588 |
with gr.Row():
|
589 |
with gr.Column(scale=2):
|
@@ -683,11 +680,11 @@ if __name__ == "__main__":
|
|
683 |
)
|
684 |
|
685 |
with gr.TabItem("3. FHE execution", id=2):
|
|
|
686 |
gr.Markdown("<span style='color:grey'>Server Side</span>")
|
687 |
-
gr.Markdown("## Run the FHE evaluation")
|
688 |
gr.Markdown(
|
689 |
"Once the server receives the encrypted data, it can process and compute the output without ever decrypting the data just as it would on clear data.\n\n"
|
690 |
-
"This server employs a logistic regression model that has been trained on this [data-set](https://github.com/anujdutt9/Disease-Prediction-from-Symptoms/tree/master/dataset)."
|
691 |
)
|
692 |
|
693 |
run_fhe_btn = gr.Button("Run the FHE evaluation π")
|
@@ -703,8 +700,10 @@ if __name__ == "__main__":
|
|
703 |
)
|
704 |
|
705 |
with gr.TabItem("4. Data Decryption", id=3):
|
|
|
706 |
gr.Markdown("<span style='color:grey'>Client Side</span>")
|
707 |
-
|
|
|
708 |
|
709 |
error_box6 = gr.Textbox(label="Error β", visible=False)
|
710 |
|
@@ -722,11 +721,7 @@ if __name__ == "__main__":
|
|
722 |
outputs=[srv_resp_retrieve_data_box, error_box6],
|
723 |
)
|
724 |
|
725 |
-
gr.Markdown("
|
726 |
-
|
727 |
-
recap_symptoms_box = gr.Textbox(
|
728 |
-
label="Summary of chief complaints:", visible=False, max_lines=3
|
729 |
-
)
|
730 |
|
731 |
decrypt_target_btn = gr.Button(
|
732 |
"Decrypt the output with the π private secret decryption key π"
|
@@ -739,6 +734,11 @@ if __name__ == "__main__":
|
|
739 |
inputs=[user_id_box, user_vect_box1, *check_boxes],
|
740 |
outputs=[decrypt_target_box, error_box7],
|
741 |
)
|
|
|
|
|
|
|
|
|
|
|
742 |
|
743 |
gen_key_btn.click(
|
744 |
key_gen_fn,
|
@@ -773,7 +773,6 @@ if __name__ == "__main__":
|
|
773 |
error_box7,
|
774 |
disease_box,
|
775 |
default_symptoms,
|
776 |
-
recap_symptoms_box,
|
777 |
user_id_box,
|
778 |
key_len_box,
|
779 |
key_box,
|
|
|
470 |
submit_button: gr.update(value="Confirm Symptoms"),
|
471 |
user_id_box: gr.update(visible=False, value=None, interactive=False),
|
472 |
user_vect_box1: None,
|
|
|
473 |
default_symptoms: gr.update(visible=True, value=None),
|
474 |
disease_box: gr.update(visible=True, value=None),
|
475 |
quant_vect_box: gr.update(visible=False, value=None, interactive=False),
|
|
|
580 |
error_box1 = gr.Textbox(label="Error β", visible=False)
|
581 |
|
582 |
# Default disease, picked from the dataframe
|
583 |
+
gr.Markdown("You can choose an **existing disease** and explore its associated symptoms.")
|
|
|
|
|
584 |
|
585 |
with gr.Row():
|
586 |
with gr.Column(scale=2):
|
|
|
680 |
)
|
681 |
|
682 |
with gr.TabItem("3. FHE execution", id=2):
|
683 |
+
gr.Markdown("## Step 3: Run the FHE evaluation")
|
684 |
gr.Markdown("<span style='color:grey'>Server Side</span>")
|
|
|
685 |
gr.Markdown(
|
686 |
"Once the server receives the encrypted data, it can process and compute the output without ever decrypting the data just as it would on clear data.\n\n"
|
687 |
+
"This server employs a [logistic regression]() model that has been trained on this [data-set](https://github.com/anujdutt9/Disease-Prediction-from-Symptoms/tree/master/dataset)."
|
688 |
)
|
689 |
|
690 |
run_fhe_btn = gr.Button("Run the FHE evaluation π")
|
|
|
700 |
)
|
701 |
|
702 |
with gr.TabItem("4. Data Decryption", id=3):
|
703 |
+
gr.Markdown("## Step 4: Decrypt the data")
|
704 |
gr.Markdown("<span style='color:grey'>Client Side</span>")
|
705 |
+
|
706 |
+
gr.Markdown("### Get the data from the <span style='color:grey'>Server Side</span>")
|
707 |
|
708 |
error_box6 = gr.Textbox(label="Error β", visible=False)
|
709 |
|
|
|
721 |
outputs=[srv_resp_retrieve_data_box, error_box6],
|
722 |
)
|
723 |
|
724 |
+
gr.Markdown("### Decrypt the output")
|
|
|
|
|
|
|
|
|
725 |
|
726 |
decrypt_target_btn = gr.Button(
|
727 |
"Decrypt the output with the π private secret decryption key π"
|
|
|
734 |
inputs=[user_id_box, user_vect_box1, *check_boxes],
|
735 |
outputs=[decrypt_target_box, error_box7],
|
736 |
)
|
737 |
+
|
738 |
+
gr.Markdown(
|
739 |
+
"""The app was built with [Concrete ML](https://github.com/zama-ai/concrete-ml), a Privacy-Preserving Machine Learning (PPML) open-source set of tools by Zama.
|
740 |
+
Try it yourself and don't forget to star on [Github](https://github.com/zama-ai/concrete-ml) β.
|
741 |
+
""")
|
742 |
|
743 |
gen_key_btn.click(
|
744 |
key_gen_fn,
|
|
|
773 |
error_box7,
|
774 |
disease_box,
|
775 |
default_symptoms,
|
|
|
776 |
user_id_box,
|
777 |
key_len_box,
|
778 |
key_box,
|