Spaces:
Sleeping
Sleeping
File size: 2,332 Bytes
9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 9efaf2a c43eb47 |
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 49 50 51 52 53 54 55 56 57 |
import gradio as gr
from datasets import load_dataset
# Load the Hugging Face dataset
hf_dataset = load_dataset("Selvakumarduraipandian/Thirukural", split="train")
df = hf_dataset.to_pandas()
# Optional: lowercase for easier matching
df["Kural"] = df["Kural"].astype(str)
df["Vilakam"] = df["Vilakam"].astype(str)
df["Kalaingar_Urai"] = df["Kalaingar_Urai"].astype(str)
df["Parimezhalagar_Urai"] = df["Parimezhalagar_Urai"].astype(str)
df["Solomon_Pappaiya"] = df["Solomon_Pappaiya"].astype(str)
# Define search logic
def search_thirukural(query):
query = query.lower()
result = df[df.apply(lambda row:
query in row["Kural"].lower() or
query in row["Vilakam"].lower() or
query in row["Kalaingar_Urai"].lower() or
query in row["Parimezhalagar_Urai"].lower() or
query in row["Solomon_Pappaiya"].lower() or
query == str(row["ID"]), axis=1)]
if result.empty:
return "🙏 மன்னிக்கவும், பொருத்தமான குறள் எதுவும் இல்லை."
kural_row = result.iloc[0]
return f"""
📜 **குறள் #{kural_row['ID']}** - {kural_row['Kural']}
🔹 **விளக்கம்**:
{ kural_row['Vilakam'] }
🗣️ **கலைஞர் உரை**:
{ kural_row['Kalaingar_Urai'] }
🗣️ **பரிமேழலகர் உரை**:
{ kural_row['Parimezhalagar_Urai'] }
🗣️ **சாலமன் பாப்பையா உரை**:
{ kural_row['Solomon_Pappaiya'] }
"""
# Gradio interface
chat_interface = gr.Interface(
fn=search_thirukural,
inputs=gr.Textbox(lines=2, placeholder="உங்கள் கேள்வி / குறள் எண் / சொல்லை உள்ளிடவும்", label="🔍 உங்கள் உள்ளீடு"),
outputs=gr.Textbox(label="📖 திருக்குறள் விளக்கம்"),
title="திருக்குறள் Chatbot 📜",
description="திருக்குறளின் பல்வேறு உரைகளுடன் ஒரு உரையாடல் அனுபவம். ஒரு சொல் அல்லது குறள் எண் மூலம் தேடுங்கள்.",
allow_flagging="never"
)
if __name__ == "__main__":
chat_interface.launch() |