Vikram Thangaraj commited on
Commit
c43eb47
·
1 Parent(s): 9efaf2a

Initial commit Thirukural

Browse files
Files changed (1) hide show
  1. app.py +36 -35
app.py CHANGED
@@ -1,56 +1,57 @@
1
  import gradio as gr
2
  from datasets import load_dataset
3
 
4
- # Load the Thirukural dataset
5
- dataset = load_dataset("kodebot/Thirukural_tamil_with_meaning", split="train")
6
-
7
- # Define chatbot logic
 
 
 
 
 
 
 
 
8
  def search_thirukural(query):
9
- results = []
10
  query = query.lower()
11
-
12
- for item in dataset:
13
- if (
14
- query in item["Couplet"].lower()
15
- or query in item["Tamil_explanation"].lower()
16
- or query in item["Couplet_English"].lower()
17
- or query in item["English_explanation"].lower()
18
- or query in item["Adhigaram_english"].lower()
19
- or query == str(item["Number"])
20
- ):
21
- results.append(item)
22
- if len(results) >= 1:
23
- break
24
-
25
- if not results:
26
- return "\ud83d\ude4f மன்னிக்கவும், பொருத்தமான குறள் எதுவும் இல்லை."
27
-
28
- kural = results[0]
29
  return f"""
30
- 📜 **குறள் #{kural['Number']}**
31
 
32
- 🔸 **தமிழில் குறள்**:
33
- {kural['Couplet']}
34
 
35
- 📝 **விளக்கம்**:
36
- {kural['Tamil_explanation']}
37
 
38
- 🔸 **Kural in English**:
39
- {kural['Couplet_English']}
40
 
41
- 📝 **Explanation**:
42
- {kural['English_explanation']}
43
  """
44
 
45
  # Gradio interface
46
  chat_interface = gr.Interface(
47
  fn=search_thirukural,
48
- inputs=gr.Textbox(lines=2, placeholder="உங்கள் கேள்வி / குறள் எண் / Adhigaram...", label="🔍 உங்கள் உள்ளீடு"),
49
  outputs=gr.Textbox(label="📖 திருக்குறள் விளக்கம்"),
50
  title="திருக்குறள் Chatbot 📜",
51
- description="திருக்குறளின் மூலம் தமிழ் மரபை அறிந்து கொள்ளுங்கள்! ஒரு வார்த்தை, எண்ணிக்கை அல்லது தலைப்பை உள்ளிடுங்கள்.",
52
  allow_flagging="never"
53
  )
54
 
55
  if __name__ == "__main__":
56
- chat_interface.launch()
 
1
  import gradio as gr
2
  from datasets import load_dataset
3
 
4
+ # Load the Hugging Face dataset
5
+ hf_dataset = load_dataset("Selvakumarduraipandian/Thirukural", split="train")
6
+ df = hf_dataset.to_pandas()
7
+
8
+ # Optional: lowercase for easier matching
9
+ df["Kural"] = df["Kural"].astype(str)
10
+ df["Vilakam"] = df["Vilakam"].astype(str)
11
+ df["Kalaingar_Urai"] = df["Kalaingar_Urai"].astype(str)
12
+ df["Parimezhalagar_Urai"] = df["Parimezhalagar_Urai"].astype(str)
13
+ df["Solomon_Pappaiya"] = df["Solomon_Pappaiya"].astype(str)
14
+
15
+ # Define search logic
16
  def search_thirukural(query):
 
17
  query = query.lower()
18
+ result = df[df.apply(lambda row:
19
+ query in row["Kural"].lower() or
20
+ query in row["Vilakam"].lower() or
21
+ query in row["Kalaingar_Urai"].lower() or
22
+ query in row["Parimezhalagar_Urai"].lower() or
23
+ query in row["Solomon_Pappaiya"].lower() or
24
+ query == str(row["ID"]), axis=1)]
25
+
26
+ if result.empty:
27
+ return "🙏 மன்னிக்கவும், பொருத்தமான குறள் எதுவும் இல்லை."
28
+
29
+ kural_row = result.iloc[0]
 
 
 
 
 
 
30
  return f"""
31
+ 📜 **குறள் #{kural_row['ID']}** - {kural_row['Kural']}
32
 
33
+ 🔹 **விளக்கம்**:
34
+ { kural_row['Vilakam'] }
35
 
36
+ 🗣️ **கலைஞர் உரை**:
37
+ { kural_row['Kalaingar_Urai'] }
38
 
39
+ 🗣️ **பரிமேழலகர் உரை**:
40
+ { kural_row['Parimezhalagar_Urai'] }
41
 
42
+ 🗣️ **சாலமன் பாப்பையா உரை**:
43
+ { kural_row['Solomon_Pappaiya'] }
44
  """
45
 
46
  # Gradio interface
47
  chat_interface = gr.Interface(
48
  fn=search_thirukural,
49
+ inputs=gr.Textbox(lines=2, placeholder="உங்கள் கேள்வி / குறள் எண் / சொல்லை உள்ளிடவும்", label="🔍 உங்கள் உள்ளீடு"),
50
  outputs=gr.Textbox(label="📖 திருக்குறள் விளக்கம்"),
51
  title="திருக்குறள் Chatbot 📜",
52
+ description="திருக்குறளின் பல்வேறு உரைகளுடன் ஒரு உரையாடல் அனுபவம். ஒரு சொல் அல்லது குறள் எண் மூலம் தேடுங்கள்.",
53
  allow_flagging="never"
54
  )
55
 
56
  if __name__ == "__main__":
57
+ chat_interface.launch()