in infrastructure/cymbal-store-embeddings/cymbal_store.py [0:0]
def model_picker_dialog():
state = me.state(State)
with dialog(state.is_model_picker_dialog_open):
with me.box(style=me.Style(display="flex", flex_direction="column", gap=12)):
me.text("API keys")
me.input(
label="Gemini API Key",
value=state.gemini_api_key,
on_blur=set_gemini_api_key,
)
me.input(
label="OpenAI API Key",
value=state.openai_api_key,
on_blur=set_openai_api_key,
)
me.input(
label="Gemma Endpoint",
value=state.gemma_endpoint_id,
on_blur=set_gemma_endpoint,
)
me.input(
label="TEI Endpoint",
value=state.tei_embedding_url,
on_blur=set_tei_endpoint,
)
me.text("Pick a model")
for model in Models:
if model.name.startswith("GEMINI"):
disabled = not state.gemini_api_key
elif model.name.startswith("OPENAI"):
disabled = not state.openai_api_key
elif model.name.startswith("GEMMA"):
disabled = not state.gemma_endpoint_id
else:
disabled = False
me.checkbox(
key=model.value,
label=model.value,
checked=model.value in state.models,
disabled=disabled,
on_change=change_model_option,
style=me.Style(
display="flex",
flex_direction="column",
gap=4,
padding=me.Padding(top=12),
),
)
with dialog_actions():
me.button("Cancel", on_click=close_model_picker_dialog)
me.button("Confirm", on_click=confirm_model_picker_dialog)