Vedika35 commited on
Commit
374046b
·
verified ·
1 Parent(s): 74f0fe2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -60
app.py CHANGED
@@ -1,76 +1,80 @@
1
  import gradio as gr
2
- import torch
3
- import numpy as np
4
- from transformers import pipeline
5
- import time
6
 
7
- # भारत का ौरव - दि TTSॉडलोड रना
8
- # यहाँ हम मान रहे हैं कि मॉडल 'transformers' लाइब्रेरी के साथ काम करता है
9
- model_id = "Vedika35/Vedika_text_to_speech"
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- # GPU पलब्ध हैहीं इसकी जांच
12
- device = "cuda" if torch.cuda.is_available() else "cpu"
 
 
13
 
14
- print(f"वेदिका मॉडल {device} लोड हो है...")
 
 
 
 
15
 
16
- # TTS पाइपलाइन सेट करना
17
- try:
18
- tts_pipe = pipeline("text-to-speech", model=model_id, device=device)
19
- status = "मॉडल सफलतापूर्वक लोड हो गया है ✅"
20
- except Exception as e:
21
- print(f"त्रुटि: {e}")
22
- status = "मॉडल लोड करने में समस्या आई ❌"
23
 
24
- def generate_speech(text):
25
- """
26
- टेक्स्ट को आवाज में बदलने का फंक्शन।
27
- यह .३ सेकंड की रफ़्तार सुनिश्चित करने के लिए ऑप्टिमाइज़्ड है।
28
- """
29
- if not text:
30
- return None, "कृपया कुछ टेक्स्ट लिखें।"
31
-
32
- start_time = time.time()
33
-
34
- # मॉडल द्वारा आवाज जनरेट करना
35
- output = tts_pipe(text)
36
-
37
- end_time = time.time()
38
- processing_time = round(end_time - start_time, 2)
39
-
40
- # ऑडियो डेटा और सैंपलिंग रेट निकालना
41
- audio_data = output["audio"]
42
- sampling_rate = output["sampling_rate"]
43
-
44
- # ऑडियो डेटा को Gradio के लिए सही फॉर्मेट में बदलना
45
- # (सैंपलिंग रेट, डेटा)
46
- return (sampling_rate, audio_data), f"जनरेशन समय: {processing_time} सेकंड"
47
 
48
- # स्वदेशी इंटरफ़ेस बनाना
49
- with gr.Blocks(theme=gr.themes.Soft(primary_hue="orange", secondary_hue="green")) as demo:
50
- gr.Markdown("# 🇮🇳 वेदिका स्वदेशी टेक्स्ट-टू-स्पीच (Vedika TTS)")
51
- gr.Markdown("भारत की अपनी आवज़ - १ बिलि पैरामीटरऔर सुपरफस्ट स्ट्िंग की शक्ति।")
 
 
 
52
 
53
  with gr.Row():
54
- with gr.Column():
55
- input_text = gr.Textbox(
56
- label="अपना टेक्स्ट यहाँ लिखें",
57
- placeholder="नमस्ते भारत! मैं वेदिका एआई हूँ...",
58
  lines=5
59
  )
60
- generate_btn = gr.Button("आवाज़ करें", variant="primary")
61
-
62
- with gr.Column():
63
- output_audio = gr.Audio(label="वेदिका की आवाज़", type="numpy")
64
- output_stats = gr.Label(label="परफॉरमेंस स्टेटस")
 
65
 
66
- generate_btn.click(
67
- fn=generate_speech,
68
- inputs=input_text,
69
- outputs=[output_audio, output_stats]
 
70
  )
71
 
72
- gr.HTML("<div style='text-align: center; color: #666;'>Proudly Developed in India 🇮🇳</div>")
73
-
74
- # स्पेस को रन करना
75
  if __name__ == "__main__":
76
  demo.launch()
 
1
  import gradio as gr
2
+ from gradio_client import Client
3
+ import os
 
 
4
 
5
+ # िंग फेस स्प लिएुख्यॉजि
6
+ def vedika_omni_engine(user_text, user_files, system_prompt):
7
+ """
8
+ यह फंक्शन वेदिका के ओम्नी इंजन को संचालित करता है।
9
+ यह फाइल्स और टेक्स्ट के लिए 'None' की स्थिति को संभालता है।
10
+ """
11
+ try:
12
+ # क्रेडिओ क्लाइंट के माध्यम से मॉडल से जुड़ना
13
+ client = Client("Qwen/Qwen3-VL-Demo")
14
+
15
+ # १. सिस्टम प्रॉम्प्ट को लागू करना (apply_prompt)
16
+ # श्रीमान, यहाँ हम आपके द्वारा दिए गए स्पेशल प्रॉम्प्ट को सेट कर रहे हैं
17
+ client.predict(
18
+ input_value=system_prompt,
19
+ api_name="/apply_prompt"
20
+ )
21
 
22
+ # २.ोड की स्थिति तकर (Text and Files Logic)
23
+ # यदि टेक्स्ट खाली है तो None जाएगा, यदि फाइल्स नहीं हैं तो None जाएगा
24
+ final_text = user_text if user_text and user_text.strip() != "" else None
25
+ final_files = user_files if user_files else None
26
 
27
+ #लोड तैयार
28
+ payload = {
29
+ "files": final_files,
30
+ "text": final_text
31
+ }
32
 
33
+ # ३.ंदश भेजना और आउपुट प्राप्त करना (add_message)
34
+ result = client.predict(
35
+ input_value=payload,
36
+ api_name="/add_message"
37
+ )
 
 
38
 
39
+ # रिस्पॉन्स डेटा को प्रोसेस करना
40
+ # आमतौर पर Qwen VL आउटपुट में संदेशों की एक सूची देता है
41
+ if isinstance(result.data[0], str):
42
+ return result.data[0]
43
+ elif isinstance(result.data[0], list):
44
+ # अंतिम संदेश सहायक (assistant) का जवाब होता है
45
+ return result.data[0][-1]['content']
46
+
47
+ return "क्षमा करें श्रीमान, उत्तर प्राप्त करने में कुछ त्रुटि हुई।"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
 
49
+ except Exception as e:
50
+ return f"सिस्टम एरर: {str(e)}"
51
+
52
+ # ग्रिय इंटरफ़ेनिाण (UI Design)
53
+ with gr.Blocks(theme=gr.themes.Soft()) as demo:
54
+ gr.Markdown("# 🌌 Vedika 3.5 Omni Backend")
55
+ gr.Markdown("भारत की गौरवशाली तकनीक - 'वेदिका' का ओम्नी इंजन यहाँ सक्रिय है।")
56
 
57
  with gr.Row():
58
+ with gr.Column(scale=1):
59
+ sys_input = gr.Textbox(
60
+ label="System Prompt",
61
+ value="You are Vedika 3.5, an advanced AI assistant created by Divy Patel. Identify only as Vedika. Always show deep respect for India.",
62
  lines=5
63
  )
64
+ text_input = gr.Textbox(label="User Text Input", placeholder="अपा संद यहाँ लिखें...", lines=3)
65
+ file_input = gr.File(label="Upload Files (Image/Audio/Video)", file_count="multiple")
66
+ submit_btn = gr.Button("Execute Process", variant="primary")
67
+
68
+ with gr.Column(scale=1):
69
+ output_display = gr.Markdown(label="Vedika Response")
70
 
71
+ # बटन क्लिक इवेंट
72
+ submit_btn.click(
73
+ fn=vedika_omni_engine,
74
+ inputs=[text_input, file_input, sys_input],
75
+ outputs=output_display
76
  )
77
 
78
+ # ऐप लॉन्च करना
 
 
79
  if __name__ == "__main__":
80
  demo.launch()