37 lines
1.1 KiB
Python
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,
|
|
)
|