FarelDeveloper commited on
Commit
4edb1c9
·
verified ·
1 Parent(s): 50d5b4f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -18
app.py CHANGED
@@ -1,34 +1,32 @@
1
- import os
2
  import gradio as ui
3
  import torch
4
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
5
  from threading import Thread
6
 
7
- # Mengambil token rahasia dari settings Space kamu
8
- hf_token = os.environ.get("HF_TOKEN")
9
 
10
- model_id = "Qwen/Qwen3-0.6B-Instruct"
11
-
12
- print("Memuat Tokenizer & Model Qwen3-0.6B menggunakan Akses Token...")
13
- # Kita masukkan parameter token=hf_token agar lolos verifikasi download
14
- tokenizer = AutoTokenizer.from_pretrained(model_id, token=hf_token)
15
  model = AutoModelForCausalLM.from_pretrained(
16
  model_id,
17
- torch_dtype=torch.float32,
18
- device_map="cpu",
19
- token=hf_token
20
  )
21
- print("Qwen3 Berhasil Dimuat dan Siap Beraksi!")
22
 
23
- def chat_qwen(message, history):
24
  conversation = []
25
 
 
26
  for user_msg, ai_msg in history:
27
  conversation.append({"role": "user", "content": user_msg})
28
  conversation.append({"role": "assistant", "content": ai_msg})
29
 
 
30
  conversation.append({"role": "user", "content": message})
31
 
 
32
  input_ids = tokenizer.apply_chat_template(
33
  conversation,
34
  tokenize=True,
@@ -36,16 +34,18 @@ def chat_qwen(message, history):
36
  return_tensors="pt"
37
  ).to("cpu")
38
 
 
39
  streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
40
 
41
  generation_kwargs = dict(
42
  input_ids=input_ids,
43
  streamer=streamer,
44
  max_new_tokens=512,
45
- temperature=0.6,
46
- top_p=0.95
47
  )
48
 
 
49
  thread = Thread(target=model.generate, kwargs=generation_kwargs)
50
  thread.start()
51
 
@@ -54,10 +54,11 @@ def chat_qwen(message, history):
54
  partial_text += new_text
55
  yield partial_text
56
 
 
57
  demo = ui.ChatInterface(
58
- fn=chat_qwen,
59
- title="🤖 Qwen3-0.6B Chatbot Authenticated",
60
- description="Berhasil berjalan menggunakan akses token privat akunmu!",
61
  theme="soft"
62
  )
63
 
 
 
1
  import gradio as ui
2
  import torch
3
  from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
4
  from threading import Thread
5
 
6
+ # Menggunakan Phi-3.5-mini-instruct (3.8B Parameter)
7
+ model_id = "microsoft/Phi-3.5-mini-instruct"
8
 
9
+ print("Memuat Tokenizer & Model Phi-3.5 ke RAM (Bakal butuh waktu agak lama)...")
10
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
 
 
 
11
  model = AutoModelForCausalLM.from_pretrained(
12
  model_id,
13
+ torch_dtype=torch.float32, # Stabil untuk kalkulasi CPU
14
+ device_map="cpu"
 
15
  )
16
+ print("Phi-3.5 Berhasil Dimuat dan Siap Beraksi!")
17
 
18
+ def chat_phi(message, history):
19
  conversation = []
20
 
21
+ # Menyusun riwayat percakapan terdahulu
22
  for user_msg, ai_msg in history:
23
  conversation.append({"role": "user", "content": user_msg})
24
  conversation.append({"role": "assistant", "content": ai_msg})
25
 
26
+ # Memasukkan prompt baru dari user
27
  conversation.append({"role": "user", "content": message})
28
 
29
+ # Mengonversi pesan sesuai dengan template chat khusus dari Microsoft Phi
30
  input_ids = tokenizer.apply_chat_template(
31
  conversation,
32
  tokenize=True,
 
34
  return_tensors="pt"
35
  ).to("cpu")
36
 
37
+ # Menggunakan Streamer agar output teks muncul mengetik secara real-time
38
  streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
39
 
40
  generation_kwargs = dict(
41
  input_ids=input_ids,
42
  streamer=streamer,
43
  max_new_tokens=512,
44
+ temperature=0.7,
45
+ top_p=0.9
46
  )
47
 
48
+ # Menjalankan inferensi di background thread agar UI tidak mengalami freeze/stuck
49
  thread = Thread(target=model.generate, kwargs=generation_kwargs)
50
  thread.start()
51
 
 
54
  partial_text += new_text
55
  yield partial_text
56
 
57
+ # Mengaktifkan antarmuka Chatbot menggunakan UI modern Gradio
58
  demo = ui.ChatInterface(
59
+ fn=chat_phi,
60
+ title="🧠 Phi-3.5 Mini Instruct Chatbot",
61
+ description="Merasakan kekuatan model penalaran 3.8B buatan Microsoft, berjalan stabil langsung dari CPU Hugging Face Space Gratisan.",
62
  theme="soft"
63
  )
64