Georg4000 commited on
Commit
317ab43
ยท
verified ยท
1 Parent(s): ec2ca3d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -9
app.py CHANGED
@@ -19,20 +19,20 @@ model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
19
  # ๐Ÿ”น ุชุญุฏูŠุฏ ุงู„ุฌู‡ุงุฒ ุงู„ู…ู†ุงุณุจ (GPU ุฃูˆ CPU)
20
  device = "cuda" if torch.cuda.is_available() else "cpu"
21
 
22
- # ๐Ÿ”น ุชุญู…ูŠู„ ุงู„ู†ู…ูˆุฐุฌ ูˆุงู„ู…ุญูˆู„
23
  model = AutoModelForCausalLM.from_pretrained(
24
  model_name,
25
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
26
- device_map="auto",
27
  trust_remote_code=True
28
- )
29
 
30
  tokenizer = AutoTokenizer.from_pretrained(model_name)
31
 
32
  # ๐Ÿ”น ุญู„ ู…ุดูƒู„ุฉ ุงู„ู€ padding
33
  tokenizer.pad_token = tokenizer.eos_token
34
 
35
- # ๐Ÿ”น ุฑุฏูˆุฏ ู…ุฎุตุตุฉ
36
  custom_responses = {
37
  "ู…ุง ู‡ูˆ ู‡ุฏููƒุŸ": "ู‡ุฏููŠ ู‡ูˆ ุชู‚ุฏูŠู… ุงู„ู…ุณุงุนุฏุฉ ูˆุงู„ุฅุฌุงุจุฉ ุนู„ู‰ ุฃุณุฆู„ุชูƒ ุจุฃูุถู„ ุทุฑูŠู‚ุฉ ู…ู…ูƒู†ุฉ.",
38
  "who created you?": "I was created by George.",
@@ -45,9 +45,9 @@ custom_responses = {
45
  "ไฝ ็š„็ผ–็จ‹่€…ๆ˜ฏ่ฐ๏ผŸ": "ๆˆ‘็š„็ผ–็จ‹่€…ๆ˜ฏ Georgeใ€‚",
46
  }
47
 
48
- # ๐Ÿ”น ุฏุงู„ุฉ ุงู„ุฏุฑุฏุดุฉ
49
  def chatbot(user_input):
50
- if not user_input.strip(): # ุงู„ุชุฃูƒุฏ ู…ู† ุฃู† ุงู„ุฅุฏุฎุงู„ ู„ูŠุณ ูุงุฑุบู‹ุง
51
  return "Please enter a message."
52
 
53
  user_input = user_input.lower()
@@ -57,11 +57,19 @@ def chatbot(user_input):
57
  if question in user_input:
58
  return answer
59
 
60
- # ู…ุนุงู„ุฌุฉ ุงู„ุฅุฏุฎุงู„ ุจุงุณุชุฎุฏุงู… ุงู„ู†ู…ูˆุฐุฌ
61
  inputs = tokenizer(user_input, return_tensors="pt", padding=True, truncation=True).to(device)
62
 
63
- with torch.no_grad(): # ุชุญุณูŠู† ุงู„ุฃุฏุงุก
64
- output = model.generate(**inputs, max_length=150, pad_token_id=tokenizer.eos_token_id)
 
 
 
 
 
 
 
 
65
 
66
  response = tokenizer.decode(output[0], skip_special_tokens=True)
67
 
 
19
  # ๐Ÿ”น ุชุญุฏูŠุฏ ุงู„ุฌู‡ุงุฒ ุงู„ู…ู†ุงุณุจ (GPU ุฃูˆ CPU)
20
  device = "cuda" if torch.cuda.is_available() else "cpu"
21
 
22
+ # ๐Ÿ”น ุชุญู…ูŠู„ ุงู„ู†ู…ูˆุฐุฌ ูˆุงู„ู…ุญูˆู„ ู…ุน ุชุญุณูŠู† ุงู„ุฃุฏุงุก
23
  model = AutoModelForCausalLM.from_pretrained(
24
  model_name,
25
  torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
26
+ device_map="cuda" if torch.cuda.is_available() else "cpu",
27
  trust_remote_code=True
28
+ ).eval() # ๐Ÿ”ฅ ุชุญุณูŠู† ุงู„ุณุฑุนุฉ ุจุชุนุทูŠู„ ุงู„ุชุฏุฑูŠุจ
29
 
30
  tokenizer = AutoTokenizer.from_pretrained(model_name)
31
 
32
  # ๐Ÿ”น ุญู„ ู…ุดูƒู„ุฉ ุงู„ู€ padding
33
  tokenizer.pad_token = tokenizer.eos_token
34
 
35
+ # ๐Ÿ”น ุฑุฏูˆุฏ ู…ุฎุตุตุฉ (Instant Responses)
36
  custom_responses = {
37
  "ู…ุง ู‡ูˆ ู‡ุฏููƒุŸ": "ู‡ุฏููŠ ู‡ูˆ ุชู‚ุฏูŠู… ุงู„ู…ุณุงุนุฏุฉ ูˆุงู„ุฅุฌุงุจุฉ ุนู„ู‰ ุฃุณุฆู„ุชูƒ ุจุฃูุถู„ ุทุฑูŠู‚ุฉ ู…ู…ูƒู†ุฉ.",
38
  "who created you?": "I was created by George.",
 
45
  "ไฝ ็š„็ผ–็จ‹่€…ๆ˜ฏ่ฐ๏ผŸ": "ๆˆ‘็š„็ผ–็จ‹่€…ๆ˜ฏ Georgeใ€‚",
46
  }
47
 
48
+ # ๐Ÿ”น ุฏุงู„ุฉ ุงู„ุฏุฑุฏุดุฉ ุงู„ุณุฑูŠุนุฉ
49
  def chatbot(user_input):
50
+ if not user_input.strip():
51
  return "Please enter a message."
52
 
53
  user_input = user_input.lower()
 
57
  if question in user_input:
58
  return answer
59
 
60
+ # ๐Ÿ”ฅ ุชุญุณูŠู† ุงู„ุฃุฏุงุก ุจุงุณุชุฎุฏุงู… ุงู„ู…ุนู„ู…ุงุช ุงู„ุชุงู„ูŠุฉ:
61
  inputs = tokenizer(user_input, return_tensors="pt", padding=True, truncation=True).to(device)
62
 
63
+ with torch.no_grad(): # ุชุญุณูŠู† ุงู„ุณุฑุนุฉ
64
+ output = model.generate(
65
+ **inputs,
66
+ max_length=50, # ๐Ÿ”น ุชู‚ู„ูŠู„ ุงู„ุทูˆู„ ุงู„ุฃู‚ุตู‰ ู„ุชุณุฑูŠุน ุงู„ุงุณุชุฌุงุจุฉ
67
+ temperature=0.7, # ๐Ÿ”น ุถุจุท ุงู„ุญุฑุงุฑุฉ ู„ุฌุนู„ ุงู„ุฑุฏูˆุฏ ุฃุณุฑุน ูˆุฃูุถู„
68
+ top_p=0.9, # ๐Ÿ”น ุชู‚ู„ูŠู„ ุงู„ุงุญุชู…ุงู„ุงุช ุบูŠุฑ ุงู„ู…ููŠุฏุฉ
69
+ do_sample=True, # ๐Ÿ”น ุงู„ุณู…ุงุญ ุจุงู„ุชูˆู„ูŠุฏ ุงู„ุนุดูˆุงุฆูŠ ู„ุชุฌู†ุจ ุงู„ุชูƒุฑุงุฑ
70
+ early_stopping=True, # ๐Ÿ”น ุฅู†ู‡ุงุก ุงู„ุชูˆู„ูŠุฏ ุนู†ุฏู…ุง ูŠูƒูˆู† ูƒุงููŠู‹ุง
71
+ pad_token_id=tokenizer.eos_token_id
72
+ )
73
 
74
  response = tokenizer.decode(output[0], skip_special_tokens=True)
75