in experiments/arena/pages/settings.py [0:0]
def _render_study_info(studies: dict[dict[str, Any]], app_state: me.state):
"""Render the Mesop Studies"""
def _handle_select(study: me.ClickEvent):
app_state.study = study.key
app_state.study_prompts_location = studies[study.key]['gcsuri']
app_state.study_models = studies[study.key].get('models', [])
def _handle_purge(study: me.ClickEvent):
asyncio.run(_purge_elo_ratings(study=study.key))
if len(studies):
me.text("Available Studies", type="headline-5")
for study in studies.keys():
with me.box(style=_BOX_STYLE):
this_study = studies[study]
study_modifier = "Available"
if app_state.study == study:
study_modifier = "Current"
me.text(f"{study_modifier} Study: {this_study['label']}", style=me.Style(font_weight="bold"))
me.box(style=me.Style(height=8))
models = this_study.get("models")
model_list_items = ""
if models:
for model in models:
model_list_items += f"<li>{model}</li>"
else:
model_list_items = """
<li>imagegeneration@006</li>
<li>imagen-3.0-generate-002</li>
<li>imagen-3.0-fast-generate-001</li>
<li>black-forest-labs/flux1-schnell</li>
<li>stability-ai/stable-diffusion-2-1</li>
"""
me.html(f"Models <ul>{model_list_items}</ul>")
me.text(f"Prompt list: {this_study['gcsuri']}")
#for key, value in studies[study].items():
# me.markdown(f"**{key}:** {value}")
if app_state.study != study:
me.button(
label="Activate",
on_click=lambda study=study: _handle_select(study),
key=study,
disabled=app_state.study == study,
)
me.box(style=me.Style(height=16))
#me.divider(inset=False)
me.box(style=me.Style(height=16))
me.button(label="Reset Leaderboard for current study",
on_click=lambda study=app_state.study: _handle_purge(study), key=f"{app_state.study}")
else:
me.markdown("No Studies found")