EmbodiedAgentInterface/backend
0
1import logging2from apscheduler.schedulers.background import BackgroundScheduler3 4from src.logging import configure_root_logger5 6logging.getLogger("httpx").setLevel(logging.WARNING)7logging.getLogger("numexpr").setLevel(logging.WARNING)8logging.getLogger("absl").setLevel(logging.WARNING)9configure_root_logger()10 11from functools import partial12 13import gradio as gr14# Choose ligtheval or harness backend15from main_backend_lighteval import run_auto_eval16#from main_backend_harness import run_auto_eval17 18from src.display.log_visualizer import log_file_to_html_string19from src.display.css_html_js import dark_mode_gradio_js20from src.envs import REFRESH_RATE, REPO_ID, QUEUE_REPO, RESULTS_REPO21from src.logging import setup_logger, log_file22 23logging.basicConfig(level=logging.INFO)24logger = setup_logger(__name__)25 26 27intro_md = f"""28# Intro29This is a visual for the auto evaluator. 30"""31 32links_md = f"""33# Important links34 35| Description | Link |36|-----------------|------|37| Leaderboard | [{REPO_ID}](https://huggingface.co/spaces/{REPO_ID}) |38| Queue Repo | [{QUEUE_REPO}](https://huggingface.co/datasets/{QUEUE_REPO}) |39| Results Repo | [{RESULTS_REPO}](https://huggingface.co/datasets/{RESULTS_REPO}) |40"""41 42def auto_eval():43 logger.info("Triggering Auto Eval")44 run_auto_eval()45 46 47reverse_order_checkbox = gr.Checkbox(label="Reverse Order", value=True)48 49with gr.Blocks(js=dark_mode_gradio_js) as demo:50 gr.Markdown(intro_md)51 with gr.Tab("Application"):52 output_html = gr.HTML(partial(log_file_to_html_string, reverse=reverse_order_checkbox), every=1)53 with gr.Row():54 download_button = gr.DownloadButton("Download Log File", value=log_file)55 with gr.Accordion('Log View Configuration', open=False):56 reverse_order_checkbox.render()57 # Add a button that when pressed, triggers run_auto_eval58 button = gr.Button("Manually Run Evaluation")59 gr.Markdown(links_md)60 61 #dummy = gr.Markdown(auto_eval, every=REFRESH_RATE, visible=False)62 63 button.click(fn=auto_eval, inputs=[], outputs=[])64 65if __name__ == '__main__':66 scheduler = BackgroundScheduler()67 scheduler.add_job(auto_eval, "interval", seconds=REFRESH_RATE)68 scheduler.start()69 demo.queue(default_concurrency_limit=40).launch(server_name="0.0.0.0",70 show_error=True,71 server_port=7860)