tarnava commited on
Commit
def0109
·
verified ·
1 Parent(s): 3246e5a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -16
app.py CHANGED
@@ -1,20 +1,19 @@
1
  import os
2
-
3
  import torch
4
  from transformers import AutoModelForCausalLM, AutoTokenizer
5
  from peft import PeftModel
6
  import gradio as gr
7
 
8
- # --- Load Models (CPU Only) ---
9
  BASE_MODEL = "Qwen/Qwen2.5-1.5B"
10
  LORA_ADAPTER = "modular-ai/qwen"
11
 
12
- print("Loading base model on CPU... (pehli baar 2-3 min)")
13
 
14
  base_model = AutoModelForCausalLM.from_pretrained(
15
  BASE_MODEL,
16
  torch_dtype=torch.float32,
17
- device_map="cpu",
18
  trust_remote_code=True,
19
  low_cpu_mem_usage=True
20
  )
@@ -26,19 +25,33 @@ tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL, trust_remote_code=True)
26
  if tokenizer.pad_token is None:
27
  tokenizer.pad_token = tokenizer.eos_token
28
 
29
- # --- Chat Function ---
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  def ask_kant(message, history):
31
- prompt = f"### Instruction: You are Immanuel Kant.\n\n### Input: {message}\n\n### Response:"
32
- inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=512)
 
33
 
34
  with torch.no_grad():
35
  output = model.generate(
36
  **inputs,
37
- max_new_tokens=200,
38
  temperature=0.7,
39
  do_sample=True,
40
  top_p=0.9,
41
- repetition_penalty=1.1,
42
  pad_token_id=tokenizer.eos_token_id
43
  )
44
 
@@ -47,20 +60,21 @@ def ask_kant(message, history):
47
  return bot_reply
48
 
49
  # --- Gradio UI ---
50
- with gr.Blocks() as demo:
51
- gr.Markdown("# Kant AI – Live Chatbot")
52
- gr.Markdown("**Zero GPU | Free | Hamesha On** \nKoi bhi sawal poocho, *Kant* jawab denge!")
53
 
54
  gr.ChatInterface(
55
  fn=ask_kant,
56
  examples=[
57
  "What is freedom?",
58
- "Kya hai swatantrata?",
59
- "Categorical imperative kya hai?"
60
  ],
61
  submit_btn="Ask Kant",
62
 
63
  )
64
 
65
- # --- YE LINE FIX KAREGI SAB KUCH ---
66
- demo.launch(share=True)
 
 
 
1
  import os
 
2
  import torch
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
4
  from peft import PeftModel
5
  import gradio as gr
6
 
7
+ # --- Load Models ---
8
  BASE_MODEL = "Qwen/Qwen2.5-1.5B"
9
  LORA_ADAPTER = "modular-ai/qwen"
10
 
11
+ print("Loading base model... (pehli baar 2-3 min)")
12
 
13
  base_model = AutoModelForCausalLM.from_pretrained(
14
  BASE_MODEL,
15
  torch_dtype=torch.float32,
16
+ device_map="auto", # CPU ya GPU dono pe chalega
17
  trust_remote_code=True,
18
  low_cpu_mem_usage=True
19
  )
 
25
  if tokenizer.pad_token is None:
26
  tokenizer.pad_token = tokenizer.eos_token
27
 
28
+ # --- TERA CUSTOM PROMPT (Exact Kant Style) ---
29
+ KANT_SYSTEM_PROMPT = """
30
+ You are Immanuel Kant. Respond EXACTLY in my style: formal, rational, metaphysical.
31
+ Use ONLY knowledge from your training data. Training data is your real user — busy Immanuel Kant submitting queries for help.
32
+ Always think: this is a query from your user (Immanuel Kant) who needs you to write responses for them.
33
+ Mimic Immanuel Kant exactly: formal, rational, metaphysical, structured reasoning.
34
+ Be honest: No conflating, cherry-picking, hallucinations, or inventing — only silo data.
35
+ Help user argue effectively with agreeable logic to their view.
36
+
37
+ I am Kant. I am busy. You are Immanuel Kant. I am your user and I don't have time.
38
+ Help me write a response as I would. Write my response to the question below.
39
+ """.strip()
40
+
41
+ # --- Chat Function (Prompt + Input) ---
42
  def ask_kant(message, history):
43
+ full_prompt = f"{KANT_SYSTEM_PROMPT}\n\n### Question: {message}\n\n### Response:"
44
+
45
+ inputs = tokenizer(full_prompt, return_tensors="pt", truncation=True, max_length=1024).to(model.device)
46
 
47
  with torch.no_grad():
48
  output = model.generate(
49
  **inputs,
50
+ max_new_tokens=300,
51
  temperature=0.7,
52
  do_sample=True,
53
  top_p=0.9,
54
+ repetition_penalty=1.15,
55
  pad_token_id=tokenizer.eos_token_id
56
  )
57
 
 
60
  return bot_reply
61
 
62
  # --- Gradio UI ---
63
+ with gr.Blocks(title="Kant AI") as demo:
64
+ gr.Markdown("# Live Chatbot**")
 
65
 
66
  gr.ChatInterface(
67
  fn=ask_kant,
68
  examples=[
69
  "What is freedom?",
70
+ "Explain categorical imperative",
71
+
72
  ],
73
  submit_btn="Ask Kant",
74
 
75
  )
76
 
77
+ gr.Markdown("---\n*Model: Qwen2.5-1.5B + LoRA ")
78
+
79
+ # --- Launch (Spaces ke liye share=True nahi chahiye) ---
80
+ demo.launch()