File size: 1,668 Bytes
3d568b7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
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() |