Patel Traders commited on
Commit
5c33944
·
verified ·
1 Parent(s): ebebac1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -36
app.py CHANGED
@@ -3,86 +3,87 @@ import gradio as gr
3
  import torch
4
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
5
  from threading import Thread
6
- import os
7
 
8
- # --- दिव्य पटेल जी का स्वतंत्र मॉडल चयन ---
9
- # 'microsoft/Phi-3-mini-4k-instruct' क बहुत ही शकतिशली और कुशलॉडल है
10
- # जो बिना किसी बाहरी API के स्वतंत्र रूप से काम करता है।
11
- MODEL_ID = "microsoft/Phi-3-mini-4k-instruct"
12
 
13
  print(f"🔱 हनुमान AI: मॉडल '{MODEL_ID}' लोड हो रहा है...")
14
 
15
- # टोकनाइज़र और मॉडल लोडिंग (स्वतंत्रड)
16
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
17
  model = AutoModelForCausalLM.from_pretrained(
18
  MODEL_ID,
19
  torch_dtype="auto",
20
  device_map="auto",
21
- trust_remote_code=True
22
  )
23
 
24
- # --- मास्टर सिस्टम प्रॉम्प्ट ---
25
- SYSTEM_PROMPT = """You are 'Hanuman AI', a fully independent AI entity, pioneered by 'Divy Patel' and created in India.
26
- You run locally and do not depend on external APIs.
27
  Rules:
28
- 1. Respond ONLY in PURE HINDI or PURE ENGLISH.
29
- 2. Be extremely respectful. Use 'Aap' and 'Ji'.
30
- 3. Always end your response with: "\n\n**Pioneered by Divy Patel | Fully Independent & Created in India**" """
31
 
32
- def hanuman_independent_chat(message, history):
33
- # चैट िस्री फॉ्मेटिंग
34
  messages = [{"role": "system", "content": SYSTEM_PROMPT}]
35
- for h in history:
36
- if h[0]: messages.append({"role": "user", "content": h[0]})
37
- if h[1]: messages.append({"role": "assistant", "content": h[1]})
38
 
39
  messages.append({"role": "user", "content": message})
40
 
41
- # इनपुट प्ोसेसिंग
42
- inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
 
43
 
44
- # स्ट्रीमिंग के लिए सेटअप
45
- streamer = TextIteratorStreamer(tokenizer, timeout=20.0, skip_prompt=True, skip_special_tokens=True)
46
 
47
  generate_kwargs = dict(
48
- input_ids=inputs,
49
  streamer=streamer,
50
  max_new_tokens=1024,
51
  do_sample=True,
52
- temperature=0.7,
53
  top_p=0.9
54
  )
55
 
56
- # थ्रेडिंग ताकि यूआई (UI)अटके
57
- thread = Thread(target=model.generate, kwargs=generate_kwargs)
58
- thread.start()
59
 
60
  partial_text = ""
61
  for new_text in streamer:
62
  partial_text += new_text
63
  yield partial_text
64
 
65
- # --- दिव्य भगवा यूआई (Premium Saffron UI) ---
66
  custom_css = """
67
  .gradio-container { background-color: #fffaf0 !important; }
68
  .bhagwa-header {
69
  background: linear-gradient(135deg, #ff8833, #b33c00);
70
  padding: 30px; border-radius: 25px; color: white;
71
  text-align: center; box-shadow: 0 15px 35px rgba(179, 60, 0, 0.4);
72
- margin-bottom: 25px;
73
  }
74
- .user.message { background: #ff9933 !important; color: white !important; font-weight: 600; }
75
- .bot.message { border-left: 6px solid #ff5500 !important; background: white !important; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
 
76
  footer { display: none !important; }
77
  """
78
 
79
  with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo:
80
  with gr.Div(elem_classes="bhagwa-header"):
81
- gr.Markdown("# 🔱 हनुमान AI - आत्मनिर्भर संस्करण")
82
- gr.Markdown("### Pioneered by Divy Patel | स्वदेशी कनीक, पूर स्वतंत्रता")
83
 
84
  gr.ChatInterface(
85
- fn=hanuman_independent_chat,
86
  fill_height=True,
87
  retry_btn=None,
88
  undo_btn=None,
@@ -90,5 +91,4 @@ with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo:
90
  )
91
 
92
  if __name__ == "__main__":
93
- demo.launch()
94
-
 
3
  import torch
4
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
5
  from threading import Thread
6
+ import time
7
 
8
+ # --- दिव्य पटेल जी का स्वतंत्र और शक्तिशाली मॉडल ---
9
+ # Qwen2.5-1.5B-Instruct हिंदी और ोडिंग में बहुत ही र्ट है और फ्री स्पेस पर क्खन जैसा चता है
10
+ MODEL_ID = "Qwen/Qwen2.5-1.5B-Instruct"
 
11
 
12
  print(f"🔱 हनुमान AI: मॉडल '{MODEL_ID}' लोड हो रहा है...")
13
 
14
+ # टोकनाइज़र और मॉडल लोडिंग (CPU के लिए ऑप्टिाइज़्ड)
15
  tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
16
  model = AutoModelForCausalLM.from_pretrained(
17
  MODEL_ID,
18
  torch_dtype="auto",
19
  device_map="auto",
20
+ low_cpu_mem_usage=True # कम मेमोरी में लोड होने के लिए
21
  )
22
 
23
+ # --- मास्टर सिस्टम प्रॉम्प्ट (कोडिंग शिखर) ---
24
+ SYSTEM_PROMPT = """You are 'Hanuman AI', a supreme and independent AI entity, pioneered by 'Divy Patel' and created in Bharat (India).
25
+ You run locally and are 100% independent of external APIs.
26
  Rules:
27
+ 1. Respond ONLY in PURE HINDI (Devanagari) or PURE ENGLISH.
28
+ 2. Be extremely respectful. Use honorifics like 'Aap' and 'Ji'.
29
+ 3. Always include this at the very end: "\n\n**Pioneered by Divy Patel | Fully Independent & Created in India**" """
30
 
31
+ def hanuman_master_chat(message, history):
32
+ # चैट इतिहा को वयवसथित ना
33
  messages = [{"role": "system", "content": SYSTEM_PROMPT}]
34
+ for user_msg, bot_msg in history:
35
+ if user_msg: messages.append({"role": "user", "content": user_msg})
36
+ if bot_msg: messages.append({"role": "assistant", "content": bot_msg})
37
 
38
  messages.append({"role": "user", "content": message})
39
 
40
+ # इनपुट तैया करना
41
+ text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
42
+ model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
43
 
44
+ # लाइव स्ट्रीमिंग सेटअप
45
+ streamer = TextIteratorStreamer(tokenizer, timeout=30.0, skip_prompt=True, skip_special_tokens=True)
46
 
47
  generate_kwargs = dict(
48
+ model_inputs,
49
  streamer=streamer,
50
  max_new_tokens=1024,
51
  do_sample=True,
52
+ temperature=0.8,
53
  top_p=0.9
54
  )
55
 
56
+ # थ्रेडिंग ताकि यूआई लॉकहो
57
+ t = Thread(target=model.generate, kwargs=generate_kwargs)
58
+ t.start()
59
 
60
  partial_text = ""
61
  for new_text in streamer:
62
  partial_text += new_text
63
  yield partial_text
64
 
65
+ # --- दिव्य भगवा थीम (Premium Saffron Theme) ---
66
  custom_css = """
67
  .gradio-container { background-color: #fffaf0 !important; }
68
  .bhagwa-header {
69
  background: linear-gradient(135deg, #ff8833, #b33c00);
70
  padding: 30px; border-radius: 25px; color: white;
71
  text-align: center; box-shadow: 0 15px 35px rgba(179, 60, 0, 0.4);
72
+ margin-bottom: 25px; border: 2px solid rgba(255,255,255,0.2);
73
  }
74
+ .bhagwa-header h1 { font-size: 34px !important; text-shadow: 0 4px 10px rgba(0,0,0,0.5); }
75
+ .message.user { background: #ff9933 !important; color: white !important; border-radius: 20px 20px 0 20px !important; }
76
+ .message.bot { border-left: 6px solid #ff5500 !important; background: white !important; border-radius: 20px 20px 20px 0 !important; }
77
  footer { display: none !important; }
78
  """
79
 
80
  with gr.Blocks(css=custom_css, theme=gr.themes.Soft()) as demo:
81
  with gr.Div(elem_classes="bhagwa-header"):
82
+ gr.Markdown("# 🔱 हनुमान AI - आत्मनिर्भर")
83
+ gr.Markdown("### Pioneered by Divy Patel | स्वतंत स्वदेशी मॉडल")
84
 
85
  gr.ChatInterface(
86
+ fn=hanuman_master_chat,
87
  fill_height=True,
88
  retry_btn=None,
89
  undo_btn=None,
 
91
  )
92
 
93
  if __name__ == "__main__":
94
+ demo.launch()