evalscope_v0.17.0/evalscope.0.17.0/evalscope/app/ui/visualization.py

37 lines
1.1 KiB
Python

"""
Visualization components for the Evalscope dashboard.
"""
import gradio as gr
from dataclasses import dataclass
from typing import TYPE_CHECKING
from ..utils.localization import get_visualization_locale
from .multi_model import MultiModelComponents, create_multi_model_tab
from .single_model import SingleModelComponents, create_single_model_tab
if TYPE_CHECKING:
from .sidebar import SidebarComponents
@dataclass
class VisualizationComponents:
single_model: SingleModelComponents
multi_model: MultiModelComponents
def create_visualization(sidebar: 'SidebarComponents', lang: str):
locale_dict = get_visualization_locale(lang)
with gr.Column(visible=True):
gr.Markdown(f'## {locale_dict["visualization"]}')
with gr.Tabs():
with gr.Tab(locale_dict['single_model']):
single = create_single_model_tab(sidebar, lang)
with gr.Tab(locale_dict['multi_model']):
multi = create_multi_model_tab(sidebar, lang)
return VisualizationComponents(
single_model=single,
multi_model=multi,
)