import fn import gradio as gr from refresh import create_refresh_button with gr.Blocks() as demo: title = gr.Markdown('# llama-cpp-python server manager') info = gr.Markdown() url = gr.Textbox(label='URL', interactive=True) download_button = gr.Button(value='Download') model = gr.Dropdown(label='Model', choices=fn.list_model(), interactive=True) create_refresh_button(gr, model, lambda: None, lambda: {'choices': fn.list_model()}, 'refresh-button', interactive=True) set_model_button = gr.Button(value='Set Model') download_button.click( fn=fn.download, inputs=[url], outputs=[info], ) set_model_button.click( fn=fn.set_model, inputs=[model], outputs=[], ) if __name__ == '__main__': demo.launch()