Spaces:
Runtime error
Runtime error
| # XML_Ingestion_Tab.py | |
| # Description: This file contains functions for reading and writing XML files. | |
| # | |
| # Imports | |
| import logging | |
| # | |
| # External Imports | |
| import gradio as gr | |
| # | |
| # Local Imports | |
| from App_Function_Libraries.Utils.Utils import default_api_endpoint, global_api_endpoints, format_api_name | |
| from App_Function_Libraries.Plaintext.XML_Ingestion_Lib import import_xml_handler | |
| # | |
| ####################################################################################################################### | |
| # | |
| # Functions: | |
| def create_xml_import_tab(): | |
| try: | |
| default_value = None | |
| if default_api_endpoint: | |
| if default_api_endpoint in global_api_endpoints: | |
| default_value = format_api_name(default_api_endpoint) | |
| else: | |
| logging.warning(f"Default API endpoint '{default_api_endpoint}' not found in global_api_endpoints") | |
| except Exception as e: | |
| logging.error(f"Error setting default API endpoint: {str(e)}") | |
| default_value = None | |
| with gr.TabItem("Import XML Files", visible=True): | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Markdown("# Import XML Files") | |
| gr.Markdown("Upload XML files for import") | |
| import_file = gr.File(label="Upload XML file", file_types=[".xml"]) | |
| title_input = gr.Textbox(label="Title", placeholder="Enter the title of the content") | |
| keywords_input = gr.Textbox(label="Keywords", placeholder="Enter keywords, comma-separated") | |
| system_prompt_input = gr.Textbox(label="System Prompt (for Summarization)", lines=3, | |
| value="""<s>[Your default system prompt here]</s>""") | |
| custom_prompt_input = gr.Textbox(label="Custom User Prompt", | |
| placeholder="Enter a custom user prompt for summarization (optional)") | |
| auto_summarize_checkbox = gr.Checkbox(label="Auto-summarize/analyze", value=False) | |
| api_name_input = gr.Dropdown( | |
| choices=["None"] + [format_api_name(api) for api in global_api_endpoints], | |
| value=default_value, | |
| label="API for Summarization/Analysis (Optional)" | |
| ) | |
| api_key_input = gr.Textbox(label="API Key", type="password") | |
| import_button = gr.Button("Import XML File") | |
| with gr.Column(): | |
| import_output = gr.Textbox(label="Import Status") | |
| import_button.click( | |
| fn=import_xml_handler, | |
| inputs=[import_file, title_input, keywords_input, system_prompt_input, | |
| custom_prompt_input, auto_summarize_checkbox, api_name_input, api_key_input], | |
| outputs=import_output | |
| ) | |
| return import_file, title_input, keywords_input, system_prompt_input, custom_prompt_input, auto_summarize_checkbox, api_name_input, api_key_input, import_button, import_output | |
| # | |
| # End of XML_Ingestion_Tab.py | |
| ####################################################################################################################### | |