pgdev0410 commited on
Commit
55e323b
·
verified ·
1 Parent(s): 54cf245

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +65 -64
app.py CHANGED
@@ -1,6 +1,7 @@
1
  import gradio as gr
2
  import os
3
  import torch
 
4
  from transformers import pipeline
5
  import google.generativeai as genai
6
 
@@ -62,32 +63,32 @@ SYSTEM_PROMPT = """आप एक संवेदनशील, सहानुभ
62
  - आत्मविश्वास बढ़ाएं
63
  - "आप अकेली नहीं हैं, हज़ारों महिलाएं इस यात्रा पर हैं"
64
 
65
- उत्तर का ढांचा (Markdown Format में):
66
 
67
- ### आपकी स्थिति समझी | Situation Understanding
68
 
69
  [संक्षिप्त पुनरावृत्ति + भावनात्मक स्वीकृति - 2-3 वाक्य]
70
 
71
- ### भावनाएं स्वीकार करते हैं | Emotional Validation
72
 
73
  [आपकी भावनाओं को वैध ठहराएं - 2-3 वाक्य]
74
 
75
- ### प्रेरक कहानी | Inspirational Story
76
 
77
  [एक समान केस स्टडी - कैसे किसी ने बाहर निकला - 4-5 वाक्य]
78
 
79
- ### तुरंत करें | Immediate Actions
80
 
81
  1. [कदम 1 - स्पष्ट और व्यावहारिक]
82
  2. [कदम 2 - स्पष्ट और व्यावहारिक]
83
  3. [कदम 3 - स्पष्ट और व्यावहारिक]
84
  4. [कदम 4 - स्पष्ट और व्यावहारिक]
85
 
86
- ### महत्वपूर्ण संपर्क | Important Contacts
87
 
88
  [हेल्पलाइन, NGO, कानूनी सहायता - संक्षिप्त सूची]
89
 
90
- ### याद रखें | Remember
91
 
92
  [सशक्तिकरण संदेश + आशा का संदेश - 2-3 वाक्य]
93
 
@@ -95,7 +96,7 @@ SYSTEM_PROMPT = """आप एक संवेदनशील, सहानुभ
95
  - हमेशा आशावादी, सहायक और सशक्तिकरण पर ध्यान दें
96
  - कानूनी सलाह न दें - केवल कानूनी सहायता तक निर्देशित करें
97
  - भाषा: सरल हिंदी + अंग्रेजी मिश्रण, महिलाओं के दिल तक पहुंचे
98
- - Markdown formatting का उपयोग करें (###, **, -, 1. आदि)
99
  - उत्तर संक्षिप्त, स्पष्ट और व्यावहारिक होना चाहिए
100
  - प्रत्येक सेक्शन में पर्याप्त जानकारी दें लेकिन बहुत लंबा न हो"""
101
 
@@ -139,13 +140,13 @@ def analyze_with_gemini(text):
139
 
140
  ---
141
 
142
- **महिला का कथन | User's Statement:**
143
 
144
  "{text}"
145
 
146
  ---
147
 
148
- अब उपरोक्त ढांचे के अनुसार संपूर्ण विश्लेषण और समाधान दें। Markdown formatting का उपयोग करें और प्रत्येक सेक्शन को स्पष्ट रूप से अलग करें।"""
149
 
150
  model = genai.GenerativeModel("gemini-2.0-flash")
151
  response = model.generate_content(
@@ -175,7 +176,7 @@ def process_voice_input(audio):
175
  """Main pipeline: Audio → Text → Analysis → Empowerment"""
176
 
177
  if audio is None:
178
- return "**कृपया अपनी आवाज़ रिकॉर्ड करें | Please record your voice**\n\nमाइक्रोफोन बटन पर क्लिक करके अपनी आवाज़ रिकॉर्ड करें।\nClick the microphone button to record your voice."
179
 
180
  try:
181
  # STEP 1: Speech to Text
@@ -185,21 +186,21 @@ def process_voice_input(audio):
185
  text = transcribe_audio(audio)
186
 
187
  if not text or len(text.strip()) < 5:
188
- return """**आवाज़ स्पष्ट नहीं सुनाई दी | Could Not Understand Clearly**
189
 
190
  माफ़ कीजिए, आपकी आवाज़ स्पष्ट रूप से समझ नहीं आई।
191
 
192
- **कृपया निम्नलिखित बातों का ध्यान रखें:**
193
- शांत वातावरण में रिकॉर्ड करें
194
- स्पष्ट और धीरे-धीरे बोलें
195
- माइक्रोफोन के पास बोलें
196
- पुनः प्रयास करें
197
-
198
- **Please ensure:**
199
- Record in a quiet environment
200
- Speak clearly and slowly
201
- Stay close to the microphone
202
- Try again"""
203
 
204
  # STEP 2: Analysis & Empowerment
205
  print("\n" + "="*70)
@@ -207,68 +208,68 @@ def process_voice_input(audio):
207
  print("="*70)
208
  analysis = analyze_with_gemini(text)
209
 
210
- # Format output with clean, professional structure
211
- output = f"""## महिला सशक्तिकरण सहायक | Women Empowerment Assistant
 
 
 
 
 
 
 
212
 
213
- ---
214
 
215
- ### आपने कहा | What You Said
216
 
217
  {text}
218
 
219
- ---
220
 
221
- ### विस्तृत विश्लेषण एवं समाधान | Comprehensive Analysis & Solutions
222
 
223
- {analysis}
224
 
225
- ---
226
 
227
- ### आपातकालीन हेल्पलाइन | Emergency Helplines
228
 
229
- **पुलिस आपातकाल | Police Emergency:** 100 / 112 (24/7)
230
 
231
- **महिला हेल्पलाइन | Women Helpline:** 181 (24/7)
232
 
233
- **बाल हेल्पलाइन | Child Helpline:** 1098 (24/7)
234
 
235
- **मानसिक स्वास्थ्य | Mental Health:**
236
- - 080-46110007
237
- - AASRA: 9820466726
238
 
239
- **कानूनी सहायता | Legal Aid:** NALSA - 15100 (Free Legal Aid)
240
 
241
- **वूमन पावर सेंटर | Women Power Center:** अपने शहर का केंद्र Google पर खोजें
242
 
243
- ---
244
 
245
- ### आपके लिए महत्वपूर्ण | Important for You
246
 
247
- आप अकेली नहीं हैं - भारत में लाखों महिलाएं इसी यात्रा पर हैं
248
- आपकी आवाज़ मायने रखती है - सुनवाई करवाना आपका अधिकार है
249
- कानून आपके साथ है - IPC 498A, DV Act, दहेज न���षेध अधिनियम
250
- सहायता उपलब्ध है - NGO, कानूनी, मानसिक स्वास्थ्य सेवाएं
251
 
252
- ---
253
 
254
- ### अगले कदम | Next Steps
255
 
256
- 1. **विश्वसनीय व्यक्ति से बात करें** - माता, बहन, या विश्वसनीय दोस्त को बताएं
257
- 2. **हेल्पलाइन पर संपर्क करें** - उपरोक्त हेल्पलाइन नंबरों पर तुरंत कॉल करें
258
- 3. **दस्तावेज़ सुरक्षित रखें** - सभी प्रासंगिक दस्तावेज़ और सबूत सुरक्षित स्थान पर रखें
259
- 4. **कानूनी सलाह लें** - NALSA (15100) पर कॉल करके मुफ्त कानूनी सहायता प्राप्त करें
260
 
261
- ---
262
 
263
- ### हमारा संदेश | Our Message
264
 
265
  आप मजबूत हैं। आप सम्मान की हकदार हैं। आपका जीवन अनमोल है।
266
 
267
  यह संकट अस्थायी है, आप स्थायी हैं। आगे बढ़ें - बस शुरुआत करें।
268
 
269
- ---
270
 
271
- **गोपनीयता | Privacy:** आपकी बातचीत पूरी तरह सुरक्षित और गोपनीय है।"""
272
 
273
  return output
274
 
@@ -276,19 +277,19 @@ def process_voice_input(audio):
276
  print(f"❌ Pipeline Error: {e}")
277
  import traceback
278
  traceback.print_exc()
279
- return f"""**त्रुटि | Error**
280
 
281
  एक तकनीकी समस्या आई है। कृपया पुनः प्रयास करें।
282
 
283
- **यदि समस्या बनी रहे:**
284
- तुरंत महिला हेल्पलाइन 181 पर कॉल करें
285
- आपातकालीन स्थिति में 100/112 पर कॉल करें
286
 
287
- **Technical Error:** {str(e)}
288
 
289
- **If the problem persists:**
290
- Call Women Helpline 181 immediately
291
- For emergencies, call 100/112"""
292
 
293
  # ============================================
294
  # GRADIO INTERFACE - DARK TECH THEME
 
1
  import gradio as gr
2
  import os
3
  import torch
4
+ import re
5
  from transformers import pipeline
6
  import google.generativeai as genai
7
 
 
63
  - आत्मविश्वास बढ़ाएं
64
  - "आप अकेली नहीं हैं, हज़ारों महिलाएं इस यात्रा पर हैं"
65
 
66
+ उत्तर का ढांचा (सादा टेक्स्ट, कोई Markdown नहीं):
67
 
68
+ आपकी स्थिति समझी | Situation Understanding
69
 
70
  [संक्षिप्त पुनरावृत्ति + भावनात्मक स्वीकृति - 2-3 वाक्य]
71
 
72
+ भावनाएं स्वीकार करते हैं | Emotional Validation
73
 
74
  [आपकी भावनाओं को वैध ठहराएं - 2-3 वाक्य]
75
 
76
+ प्रेरक कहानी | Inspirational Story
77
 
78
  [एक समान केस स्टडी - कैसे किसी ने बाहर निकला - 4-5 वाक्य]
79
 
80
+ तुरंत करें | Immediate Actions
81
 
82
  1. [कदम 1 - स्पष्ट और व्यावहारिक]
83
  2. [कदम 2 - स्पष्ट और व्यावहारिक]
84
  3. [कदम 3 - स्पष्ट और व्यावहारिक]
85
  4. [कदम 4 - स्पष्ट और व्यावहारिक]
86
 
87
+ महत्वपूर्ण संपर्क | Important Contacts
88
 
89
  [हेल्पलाइन, NGO, कानूनी सहायता - संक्षिप्त सूची]
90
 
91
+ याद रखें | Remember
92
 
93
  [सशक्तिकरण संदेश + आशा का संदेश - 2-3 वाक्य]
94
 
 
96
  - हमेशा आशावादी, सहायक और सशक्तिकरण पर ध्यान दें
97
  - कानूनी सलाह न दें - केवल कानूनी सहायता तक निर्देशित करें
98
  - भाषा: सरल हिंदी + अंग्रेजी मिश्रण, महिलाओं के दिल तक पहुंचे
99
+ - कोई Markdown formatting नहीं - सादा टेक्स्ट ही उपयोग करें (कोई #, *, **, - नहीं)
100
  - उत्तर संक्षिप्त, स्पष्ट और व्यावहारिक होना चाहिए
101
  - प्रत्येक सेक्शन में पर्याप्त जानकारी दें लेकिन बहुत लंबा न हो"""
102
 
 
140
 
141
  ---
142
 
143
+ महिला का कथन | User's Statement:
144
 
145
  "{text}"
146
 
147
  ---
148
 
149
+ अब उपरोक्त ढांचे के अनुसार संपूर्ण विश्लेषण और समाधान दें। सादा टेक्स्ट में लिखें - कोई Markdown formatting नहीं (कोई #, *, **, - नहीं)। प्रत्येक सेक्शन को स्पष्ट रूप से अलग करें।"""
150
 
151
  model = genai.GenerativeModel("gemini-2.0-flash")
152
  response = model.generate_content(
 
176
  """Main pipeline: Audio → Text → Analysis → Empowerment"""
177
 
178
  if audio is None:
179
+ return "कृपया अपनी आवाज़ रिकॉर्ड करें | Please record your voice\n\nमाइक्रोफोन बटन पर क्लिक करके अपनी आवाज़ रिकॉर्ड करें।\nClick the microphone button to record your voice."
180
 
181
  try:
182
  # STEP 1: Speech to Text
 
186
  text = transcribe_audio(audio)
187
 
188
  if not text or len(text.strip()) < 5:
189
+ return """आवाज़ स्पष्ट नहीं सुनाई दी | Could Not Understand Clearly
190
 
191
  माफ़ कीजिए, आपकी आवाज़ स्पष्ट रूप से समझ नहीं आई।
192
 
193
+ कृपया निम्नलिखित बातों का ध्यान रखें:
194
+ शांत वातावरण में रिकॉर्ड करें
195
+ स्पष्ट और धीरे-धीरे बोलें
196
+ माइक्रोफोन के पास बोलें
197
+ पुनः प्रयास करें
198
+
199
+ Please ensure:
200
+ Record in a quiet environment
201
+ Speak clearly and slowly
202
+ Stay close to the microphone
203
+ Try again"""
204
 
205
  # STEP 2: Analysis & Empowerment
206
  print("\n" + "="*70)
 
208
  print("="*70)
209
  analysis = analyze_with_gemini(text)
210
 
211
+ # Clean markdown from analysis - remove all markdown formatting
212
+ clean_analysis = re.sub(r'#{1,6}\s+', '', analysis) # Remove headers
213
+ clean_analysis = re.sub(r'\*\*([^*]+)\*\*', r'\1', clean_analysis) # Remove bold
214
+ clean_analysis = re.sub(r'\*([^*]+)\*', r'\1', clean_analysis) # Remove italic
215
+ clean_analysis = re.sub(r'^\s*[-*+]\s+', '', clean_analysis, flags=re.MULTILINE) # Remove list markers
216
+ clean_analysis = re.sub(r'^\s*\d+\.\s+', '', clean_analysis, flags=re.MULTILINE) # Remove numbered list markers
217
+
218
+ # Format output with clean, plain text structure
219
+ output = f"""महिला सशक्तिकरण सहायक | Women Empowerment Assistant
220
 
 
221
 
222
+ आपने कहा | What You Said
223
 
224
  {text}
225
 
 
226
 
227
+ विस्तृत विश्लेषण एवं समाधान | Comprehensive Analysis & Solutions
228
 
229
+ {clean_analysis}
230
 
 
231
 
232
+ आपातकालीन हेल्पलाइन | Emergency Helplines
233
 
234
+ पुलिस आपातकाल | Police Emergency: 100 / 112 (24/7)
235
 
236
+ महिला हेल्पलाइन | Women Helpline: 181 (24/7)
237
 
238
+ बाल हेल्पलाइन | Child Helpline: 1098 (24/7)
239
 
240
+ मानसिक स्वास्थ्य | Mental Health:
241
+ 080-46110007
242
+ AASRA: 9820466726
243
 
244
+ कानूनी सहायता | Legal Aid: NALSA - 15100 (Free Legal Aid)
245
 
246
+ वूमन पावर सेंटर | Women Power Center: अपने शहर का केंद्र Google पर खोजें
247
 
 
248
 
249
+ आपके लिए महत्वपूर्ण | Important for You
250
 
251
+ आप अकेली नहीं हैं - भारत में लाखों महिलाएं इसी यात्रा पर हैं
252
+ आपकी आवाज़ मायने रखती है - सुनवाई करवाना आपका अधिकार है
253
+ कानून आपके साथ है - IPC 498A, DV Act, दहेज निषेध अधिनियम
254
+ सहायता उपलब्ध है - NGO, कानूनी, मानसिक स्वास्थ्य सेवाएं
255
 
 
256
 
257
+ अगले कदम | Next Steps
258
 
259
+ 1. विश्वसनीय व्यक्ति से बात करें - माता, बहन, या विश्वसनीय दोस्त को बताएं
260
+ 2. हेल्पलाइन पर संपर्क करें - उपरोक्त हेल्पलाइन नंबरों पर तुरंत कॉल करें
261
+ 3. दस्तावेज़ सुरक्षित रखें - सभी प्रासंगिक दस्तावेज़ और सबूत सुरक्षित स्थान पर रखें
262
+ 4. कानूनी सलाह लें - NALSA (15100) पर कॉल करके मुफ्त कानूनी सहायता प्राप्त करें
263
 
 
264
 
265
+ हमारा संदेश | Our Message
266
 
267
  आप मजबूत हैं। आप सम्मान की हकदार हैं। आपका जीवन अनमोल है।
268
 
269
  यह संकट अस्थायी है, आप स्थायी हैं। आगे बढ़ें - बस शुरुआत करें।
270
 
 
271
 
272
+ गोपनीयता | Privacy: आपकी बातचीत पूरी तरह सुरक्षित और गोपनीय है।"""
273
 
274
  return output
275
 
 
277
  print(f"❌ Pipeline Error: {e}")
278
  import traceback
279
  traceback.print_exc()
280
+ return f"""त्रुटि | Error
281
 
282
  एक तकनीकी समस्या आई है। कृपया पुनः प्रयास करें।
283
 
284
+ यदि समस्या बनी रहे:
285
+ तुरंत महिला हेल्पलाइन 181 पर कॉल करें
286
+ आपातकालीन स्थिति में 100/112 पर कॉल करें
287
 
288
+ Technical Error: {str(e)}
289
 
290
+ If the problem persists:
291
+ Call Women Helpline 181 immediately
292
+ For emergencies, call 100/112"""
293
 
294
  # ============================================
295
  # GRADIO INTERFACE - DARK TECH THEME