DamarJati's picture
(づ˶•༝•˶)づ
3d568b7 verified
raw
history blame
1.67 kB
import gradio as gr
import pandas as pd
PARQUET_FILE = 'data.parquet'
preset_values = [
"1girl, kamado nezuko, kimetsu no yaiba",
"1girl, kanroji mitsuri, kimetsu no yaiba",
"1girl, fern (sousou no frieren), sousou no frieren",
"1girl, elaina (majo no tabitabi), majo no tabitabi"
]
def search_parquet(search_term):
try:
df = pd.read_parquet(PARQUET_FILE)
if search_term.strip():
search_results = df[df['teks'].str.lower().str.contains(search_term.lower(), na=False)]
else:
search_results = df[df['teks'].str.lower().str.contains("|".join(preset_values).lower(), na=False)]
if len(search_results.columns) > 12:
search_results = search_results.iloc[:, :12]
return search_results
except FileNotFoundError:
return pd.DataFrame({'Error': ['Parquet file not found. Please check the file path.']})
except Exception as e:
return pd.DataFrame({'Error': [f'An error occurred: {e}']})
if __name__ == "__main__":
with gr.Blocks() as app:
gr.Markdown("## 🔍 Text Search for Animagine tag characters")
with gr.Column():
search_input = gr.Textbox(
label="Search for characters or series:",
placeholder="sousou no frieren",
)
search_output = gr.Dataframe(
label="Search Results",
value=pd.DataFrame({'Characters tag': preset_values}),
headers="auto",
)
search_input.change(
fn=search_parquet,
inputs=search_input,
outputs=search_output,
)
app.launch()