import os import subprocess import gradio as gr def list_bin_files(): # Get the current directory current_directory = os.getcwd() # List all files in the current directory all_files = os.listdir(current_directory) # Filter files with the ".bin" extension bin_files = [file for file in all_files if file.endswith(".bin")] return bin_files # Call the function to get the list of ".bin" files model_list = list_bin_files() try: subprocess.run(["make", "runfast"], check=True, shell=True) print("Model compilation successful.") except subprocess.CalledProcessError as e: print("Error:", e) print(e.stderr) def chatbot(prompt, temperature, topt, maxtoken, model): command = ["./run", model, "-t", str(temperature), "-p", str(topt), "-n", str(maxtoken), "-i", f"{prompt}"] try: result = subprocess.run(command, capture_output=True, text=True, check=True, shell=False) response = result.stdout except subprocess.CalledProcessError as e: response = "Error occurred while processing the request." return response with gr.Blocks() as demo: gr.Markdown("HF Spaces for Product Review Writer") with gr.Row(): with gr.Column(): inp = gr.Textbox(placeholder="Type the title of the product Review") with gr.Row(): with gr.Column(): temperature_slider = gr.Slider(minimum=0.1, maximum=2.0, value=0.8, label="Temperature") topt_slider = gr.Slider(minimum=0.1, maximum=1.0, value=0.9, label="Topt") maxtoken_slider = gr.Slider(minimum=64, maximum=1024, value=256, label="Max Tokens") model_pick = gr.Dropdown(model_list, label="Model", info="Model") out = gr.Textbox() btn = gr.Button("Run") gr.Examples(examples=[["best sci-fi book ever"], ["great laptop for the price"]], inputs=[inp]) btn.click(fn=chatbot, inputs=[inp, temperature_slider, topt_slider, maxtoken_slider, model_pick], outputs=out) demo.launch()