thirukural / app.py
Vikram Thangaraj
Initial commit Thirukural
9efaf2a
raw
history blame
2.03 kB
import gradio as gr
from datasets import load_dataset
# Load the Thirukural dataset
dataset = load_dataset("kodebot/Thirukural_tamil_with_meaning", split="train")
# Define chatbot logic
def search_thirukural(query):
results = []
query = query.lower()
for item in dataset:
if (
query in item["Couplet"].lower()
or query in item["Tamil_explanation"].lower()
or query in item["Couplet_English"].lower()
or query in item["English_explanation"].lower()
or query in item["Adhigaram_english"].lower()
or query == str(item["Number"])
):
results.append(item)
if len(results) >= 1:
break
if not results:
return "\ud83d\ude4f மன்னிக்கவும், பொருத்தமான குறள் எதுவும் இல்லை."
kural = results[0]
return f"""
📜 **குறள் #{kural['Number']}**
🔸 **தமிழில் குறள்**:
{kural['Couplet']}
📝 **விளக்கம்**:
{kural['Tamil_explanation']}
🔸 **Kural in English**:
{kural['Couplet_English']}
📝 **Explanation**:
{kural['English_explanation']}
"""
# Gradio interface
chat_interface = gr.Interface(
fn=search_thirukural,
inputs=gr.Textbox(lines=2, placeholder="உங்கள் கேள்வி / குறள் எண் / Adhigaram...", label="🔍 உங்கள் உள்ளீடு"),
outputs=gr.Textbox(label="📖 திருக்குறள் விளக்கம்"),
title="திருக்குறள் Chatbot 📜",
description="திருக்குறளின் மூலம் தமிழ் மரபை அறிந்து கொள்ளுங்கள்! ஒரு வார்த்தை, எண்ணிக்கை அல்லது தலைப்பை உள்ளிடுங்கள்.",
allow_flagging="never"
)
if __name__ == "__main__":
chat_interface.launch()