lambdaofgod's picture
better layout
9de44a7
raw
history blame
1.07 kB
import pandas as pd
import streamlit as st
import math
models_df = pd.read_csv("models_with_readmes.csv").dropna(subset=["readme"])
st.title("Huggingface model explorer")
st.text(f"search {len(models_df)} models by name or readme")
st.text("note that there are many more models but here we only show those with readme")
col1, col2, col3 = st.columns(3)
query = col1.text_input("model name query", value="")
readme_query = col2.text_input("readme query", value="")
selected_models_df = models_df[
models_df["readme"].str.contains(readme_query)
& models_df["modelId"].str.contains(query)
]
n_per_page = 10
slider = col3.number_input("page", 0, math.ceil(len(selected_models_df) / 10))
selected_models_df_subset = selected_models_df.iloc[
slider * n_per_page : (slider + 1) * n_per_page
]
st.write(f"matched {len(selected_models_df)} models")
for i, (model_name, tag, readme) in enumerate(
selected_models_df_subset[["modelId", "pipeline_tag", "readme"]].itertuples(index=False)
):
with st.expander(f"{model_name} ({tag})"):
st.write(readme)