From 2e11b1f9f78740798a7d13115e04ae0e444e92b1 Mon Sep 17 00:00:00 2001 From: Kryst4lDem0ni4s Date: Mon, 3 Mar 2025 15:20:23 +0530 Subject: [PATCH] fix #176: refactor(demo) switched gr.Blocks() concurrency to gr.Button() concurrency. --- .../hugegraph_llm/demo/rag_demo/rag_block.py | 116 +++++++++--------- .../src/pyhugegraph/utils/huge_config.py | 2 +- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/hugegraph-llm/src/hugegraph_llm/demo/rag_demo/rag_block.py b/hugegraph-llm/src/hugegraph_llm/demo/rag_demo/rag_block.py index bc4b2eeb..561ba340 100644 --- a/hugegraph-llm/src/hugegraph_llm/demo/rag_demo/rag_block.py +++ b/hugegraph-llm/src/hugegraph_llm/demo/rag_demo/rag_block.py @@ -128,68 +128,68 @@ def create_rag_block(): gr.Markdown("""## 1. HugeGraph RAG Query""") with gr.Row(): with gr.Column(scale=2): - with gr.Blocks().queue(max_size=20, default_concurrency_limit=5): - inp = gr.Textbox(value=prompt.default_question, label="Question", show_copy_button=True, lines=3) + # with gr.Blocks().queue(max_size=20, default_concurrency_limit=5): + inp = gr.Textbox(value=prompt.default_question, label="Question", show_copy_button=True, lines=3) - # TODO: Only support inline formula now. Should support block formula - gr.Markdown("Basic LLM Answer", elem_classes="output-box-label") - raw_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, - latex_delimiters=[{"left": "$", "right": "$", "display": False}]) - gr.Markdown("Vector-only Answer", elem_classes="output-box-label") - vector_only_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, - latex_delimiters=[{"left": "$", "right": "$", "display": False}]) - gr.Markdown("Graph-only Answer", elem_classes="output-box-label") - graph_only_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, - latex_delimiters=[{"left": "$", "right": "$", "display": False}]) - gr.Markdown("Graph-Vector Answer", elem_classes="output-box-label") - graph_vector_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, - latex_delimiters=[{"left": "$", "right": "$", "display": False}]) + # TODO: Only support inline formula now. Should support block formula + gr.Markdown("Basic LLM Answer", elem_classes="output-box-label") + raw_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, + latex_delimiters=[{"left": "$", "right": "$", "display": False}]) + gr.Markdown("Vector-only Answer", elem_classes="output-box-label") + vector_only_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, + latex_delimiters=[{"left": "$", "right": "$", "display": False}]) + gr.Markdown("Graph-only Answer", elem_classes="output-box-label") + graph_only_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, + latex_delimiters=[{"left": "$", "right": "$", "display": False}]) + gr.Markdown("Graph-Vector Answer", elem_classes="output-box-label") + graph_vector_out = gr.Markdown(elem_classes="output-box", show_copy_button=True, + latex_delimiters=[{"left": "$", "right": "$", "display": False}]) - answer_prompt_input = gr.Textbox( - value=prompt.answer_prompt, label="Query Prompt", show_copy_button=True, lines=7 - ) - keywords_extract_prompt_input = gr.Textbox( - value=prompt.keywords_extract_prompt, - label="Keywords Extraction Prompt", - show_copy_button=True, - lines=7, - ) - - with gr.Column(scale=1): - with gr.Row(): - raw_radio = gr.Radio(choices=[True, False], value=False, label="Basic LLM Answer") - vector_only_radio = gr.Radio(choices=[True, False], value=False, label="Vector-only Answer") - with gr.Row(): - graph_only_radio = gr.Radio(choices=[True, False], value=True, label="Graph-only Answer") - graph_vector_radio = gr.Radio(choices=[True, False], value=False, label="Graph-Vector Answer") + answer_prompt_input = gr.Textbox( + value=prompt.answer_prompt, label="Query Prompt", show_copy_button=True, lines=7 + ) + keywords_extract_prompt_input = gr.Textbox( + value=prompt.keywords_extract_prompt, + label="Keywords Extraction Prompt", + show_copy_button=True, + lines=7, + ) - def toggle_slider(enable): - return gr.update(interactive=enable) + with gr.Column(scale=1): + with gr.Row(): + raw_radio = gr.Radio(choices=[True, False], value=False, label="Basic LLM Answer") + vector_only_radio = gr.Radio(choices=[True, False], value=False, label="Vector-only Answer") + with gr.Row(): + graph_only_radio = gr.Radio(choices=[True, False], value=True, label="Graph-only Answer") + graph_vector_radio = gr.Radio(choices=[True, False], value=False, label="Graph-Vector Answer") - with gr.Column(): - with gr.Row(): - online_rerank = llm_settings.reranker_type - rerank_method = gr.Dropdown( - choices=["bleu", ("rerank (online)", "reranker")] if online_rerank else ["bleu"], - value="reranker" if online_rerank else "bleu", - label="Rerank method", - ) - example_num = gr.Number(value=2, label="Template Num (0 to disable it) ", precision=0) - graph_ratio = gr.Slider(0, 1, 0.6, label="Graph Ratio", step=0.1, interactive=False) + def toggle_slider(enable): + return gr.update(interactive=enable) - graph_vector_radio.change( - toggle_slider, inputs=graph_vector_radio, outputs=graph_ratio - ) # pylint: disable=no-member - near_neighbor_first = gr.Checkbox( - value=False, - label="Near neighbor first(Optional)", - info="One-depth neighbors > two-depth neighbors", - ) - custom_related_information = gr.Text( - prompt.custom_rerank_info, - label="Query related information(Optional)", + with gr.Column(): + with gr.Row(): + online_rerank = llm_settings.reranker_type + rerank_method = gr.Dropdown( + choices=["bleu", ("rerank (online)", "reranker")] if online_rerank else ["bleu"], + value="reranker" if online_rerank else "bleu", + label="Rerank method", ) - btn = gr.Button("Answer Question", variant="primary") + example_num = gr.Number(value=2, label="Template Num (0 to disable it) ", precision=0) + graph_ratio = gr.Slider(0, 1, 0.6, label="Graph Ratio", step=0.1, interactive=False) + + graph_vector_radio.change( + toggle_slider, inputs=graph_vector_radio, outputs=graph_ratio + ) # pylint: disable=no-member + near_neighbor_first = gr.Checkbox( + value=False, + label="Near neighbor first(Optional)", + info="One-depth neighbors > two-depth neighbors", + ) + custom_related_information = gr.Text( + prompt.custom_rerank_info, + label="Query related information(Optional)", + ) + btn = gr.Button("Answer Question", variant="primary") btn.click( # pylint: disable=no-member fn=rag_answer, @@ -208,8 +208,8 @@ def toggle_slider(enable): example_num, ], outputs=[raw_out, vector_only_out, graph_only_out, graph_vector_out], - # queue=True, # Enable queueing for this event - # concurrency_limit=5, # Maximum of 5 concurrent executions + queue=True, # Enable queueing for this event + concurrency_limit=5, # Maximum of 5 concurrent executions concurrency_id="rag_answer_task" ) diff --git a/hugegraph-python-client/src/pyhugegraph/utils/huge_config.py b/hugegraph-python-client/src/pyhugegraph/utils/huge_config.py index b0f73cb5..efb9575b 100644 --- a/hugegraph-python-client/src/pyhugegraph/utils/huge_config.py +++ b/hugegraph-python-client/src/pyhugegraph/utils/huge_config.py @@ -67,7 +67,7 @@ def __post_init__(self): try: traceback.print_exception(e) self.gs_supported = False - except Exception as e: + except: exc_type, exc_value, tb = sys.exc_info() traceback.print_exception(exc_type, exc_value, tb) log.warning(