Spaces:
Running
Running
"""Strategy selection UI components for Streamlit.""" | |
import streamlit as st | |
from typing import Dict, Any, Tuple | |
def render_strategy_selector() -> Tuple[str, Dict[str, Any]]: | |
"""Render strategy selection UI and return selected strategy and parameters.""" | |
strategy = st.radio( | |
"Select Extraction Strategy", | |
["Original Strategy", "Unique Indices Strategy"], | |
help="Choose how to extract information from the document" | |
) | |
params = {} | |
if strategy == "Original Strategy": | |
params["strategy"] = "original" | |
params["current_field"] = st.text_input( | |
"Field to Extract", | |
help="Enter the field name to extract from the document" | |
) | |
else: | |
params["strategy"] = "unique_indices" | |
# Get unique indices | |
indices_input = st.text_area( | |
"Unique Indices", | |
help="Enter comma-separated list of indices to look for (e.g., 'peptide, modification, timepoint')" | |
) | |
params["unique_indices"] = [idx.strip() for idx in indices_input.split(",") if idx.strip()] | |
# Get fields to extract | |
fields_input = st.text_area( | |
"Fields to Extract", | |
help="Enter comma-separated list of fields to extract for each combination" | |
) | |
params["fields_to_extract"] = [field.strip() for field in fields_input.split(",") if field.strip()] | |
return strategy, params |