import gradio as gr from utils import * from chains.openai_model import OpenAIModel from config import SEVER, PORT, DEBUG, DEPLOYMENT_ID, SAVE_DIR from vector_db import delete_all, delete_file, handle_upload_file, update_file # Get and load new model def get_model(llm_model_name, temperature=0., top_p=1.0): model = OpenAIModel(llm_model_name=llm_model_name, condense_model_name=llm_model_name, temperature=temperature, top_p=top_p) return model def create_new_model(): return get_model(llm_model_name=DEPLOYMENT_ID) def update_database(files_src): message = handle_upload_file(files_src) saved_file = os.listdir(SAVE_DIR) # saved_file = os.listdir(SAVE_DIR) # if files_src is None: # return gr.update(choices=[]) # for file in files_src: # file_path = file.name # file_name = os.path.basename(file_path) # if file_name in os.listdir(SAVE_DIR): # continue # else: # saved_file.extend([file_name]) return gr.update(choices=saved_file), message # Gradio app title = """
Azure OpenAI Service:here
') index_files = gr.Files(label="Files", type="file", multiple=True) use_websearch = gr.Checkbox(label="Google search", value=False, elem_classes="switch_checkbox") custom_websearch = gr.Checkbox(label="Custom web search", value=False, elem_classes="switch_checkbox") with gr.Tab(label="Configuration"): gr.Markdown( "โ ๏ธBe careful to change โ ๏ธ\n\nIf you can't use it, please restore the default settings") with gr.Accordion("Parameter", open=False): temperature_slider = gr.Slider( minimum=-0, maximum=1.0, value=0.0, step=0.1, interactive=True, label="Temperature", ) top_p_slider = gr.Slider( minimum=-0, maximum=1.0, value=1.0, step=0.1, interactive=True, label="Top_p", ) user_identifier = gr.Textbox( show_label=True, placeholder="Enter here", label="User name", value=user_name.value, lines=1, ) loadHistoryBtn = gr.Button("๐พ Load History") with gr.Tab(label="Knowledge DB"): all_files = gr.Dropdown( label="All available files:", multiselect=True, choices=os.listdir(SAVE_DIR), interactive=True ) with gr.Column(): delete_btn = gr.Button("๐๏ธ Delete") with gr.Column(): delete_all_btn = gr.Button("๐๏ธ Delete all") update_btn = gr.Button("๐๏ธ Update DB") index_files.change(update_database, [index_files], [all_files, status_display]) delete_all_btn.click(delete_all, None, [all_files, status_display, index_files]) delete_btn.click(delete_file, [all_files], [all_files, status_display, index_files]) update_btn.click(update_file, None, [status_display]) emptyBtn.click( reset, inputs=[current_model], outputs=[chatbot], show_progress=True, ) retryBtn.click(retry, [chatbot, current_model, use_websearch, custom_websearch], [chatbot]) loadHistoryBtn.click(load_chat_history, [current_model], [chatbot]) rec.click(transcribe, [current_model, record_audio], [user_input]) user_identifier.change(set_user_indentifier, [current_model, user_identifier], None) user_input.submit(predict, [chatbot, current_model, user_input, use_websearch, custom_websearch], [chatbot, status_display], show_progress=True) user_input.submit(lambda: "", None, user_input) submitBtn.click(predict, [chatbot, current_model, user_input, use_websearch, custom_websearch], [chatbot, status_display], show_progress=True) submitBtn.click(lambda: "", None, user_input) demo.queue(concurrency_count=10).launch( server_name=SEVER, server_port=PORT, debug=DEBUG)