Spaces:
Sleeping
Sleeping
import gradio as gr | |
from datasets import load_dataset | |
# Load the Tamil Kavithai Tanglish dataset | |
hf_dataset = load_dataset("abishekmahi/tamil-kavithai-tanglish", split="train") | |
df = hf_dataset.to_pandas() | |
# Ensure columns are strings | |
df["Content"] = df["Content"].astype(str) | |
df["Title"] = df["Title"].astype(str) | |
df["Category"] = df["Category"].astype(str) | |
df["TanglishTitle"] = df["TanglishTitle"].astype(str) | |
df["TanglishContent"] = df["TanglishContent"].astype(str) | |
df["TanglishCategory"] = df["TanglishCategory"].astype(str) | |
# Define search logic | |
def search_kavithai(query): | |
query = query.lower() | |
result = df[df.apply(lambda row: | |
query in row["TanglishTitle"].lower() or | |
query in row["TanglishContent"].lower() or | |
query in row["TanglishCategory"].lower(), axis=1)] | |
if result.empty: | |
return "🙏 Sorry, no matching Kavithai found." | |
kavithai = result.iloc[0] | |
return f""" | |
🏷️ **Title**: {kavithai['Title']} | |
📜 **Category**: {kavithai['Category']} | |
📝 **Kavithai**: | |
{kavithai['Content']} | |
""" | |
# Gradio interface | |
chat_interface = gr.Interface( | |
fn=search_kavithai, | |
inputs=gr.Textbox(lines=2, placeholder="Enter a theme, title or word...", label="🔍 Your Query"), | |
outputs=gr.Textbox(label="📖 Tamil Kavithai"), | |
title="தமிழ் கவிதை Chatbot ✍️", | |
description="Search by theme, title or keywords to discover Tamil Kavithai in Tanglish.", | |
allow_flagging="never" | |
) | |
if __name__ == "__main__": | |
chat_interface.launch() | |