hsuwill000 commited on
Commit
1a2760c
·
verified ·
1 Parent(s): 564b9a2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -12
app.py CHANGED
@@ -8,17 +8,17 @@ model_id = "hsuwill000/DeepSeek-R1-Distill-Qwen-1.5B-openvino"
8
  model = OVModelForCausalLM.from_pretrained(model_id, device_map="auto")
9
  tokenizer = AutoTokenizer.from_pretrained(model_id)
10
 
11
-
12
  def respond(prompt, history):
13
  # 建立初始的系統訊息
14
  messages = [
15
  {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."}
16
  ]
17
 
18
- # 將歷史對話內容整合進 messages
19
- for user_msg, bot_msg in history:
20
- messages.append({"role": "user", "content": user_msg})
21
- messages.append({"role": "assistant", "content": bot_msg})
 
22
 
23
  # 加入當前用戶輸入
24
  messages.append({"role": "user", "content": prompt})
@@ -29,11 +29,11 @@ def respond(prompt, history):
29
  tokenize=False,
30
  add_generation_prompt=True
31
  )
32
- model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
33
  generated_ids = model.generate(
34
  **model_inputs,
35
  max_new_tokens=512
36
- )
37
  generated_ids = [
38
  output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
39
  ]
@@ -42,12 +42,24 @@ def respond(prompt, history):
42
  print(f"Messages: {messages}")
43
  print(f"Reply: {response}")
44
 
45
- # 更新並返回完整的聊天歷史紀錄
46
- history.append((prompt, response))
47
- return history
 
 
 
 
 
 
 
48
 
49
  # 設定 Gradio 的聊天界面
50
- demo = gr.ChatInterface(fn=respond, title="# DeepSeek-R1-Distill-Qwen-1.5B-openvino Chat", description="Chat with DeepSeek-R1-Distill-Qwen-1.5B-openvino model.", type='messages')
 
 
 
 
 
51
 
52
  if __name__ == "__main__":
53
- demo.launch()
 
8
  model = OVModelForCausalLM.from_pretrained(model_id, device_map="auto")
9
  tokenizer = AutoTokenizer.from_pretrained(model_id)
10
 
 
11
  def respond(prompt, history):
12
  # 建立初始的系統訊息
13
  messages = [
14
  {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."}
15
  ]
16
 
17
+ # 將歷史對話內容整合進 messages(注意這裡轉換成字典)
18
+ for msg in history:
19
+ # 假設 history 中每個元素原本是字典格式 (如果不是,請自行轉換)
20
+ messages.append({"role": "user", "content": msg["user"]})
21
+ messages.append({"role": "assistant", "content": msg["assistant"]})
22
 
23
  # 加入當前用戶輸入
24
  messages.append({"role": "user", "content": prompt})
 
29
  tokenize=False,
30
  add_generation_prompt=True
31
  )
32
+ model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
33
  generated_ids = model.generate(
34
  **model_inputs,
35
  max_new_tokens=512
36
+ )
37
  generated_ids = [
38
  output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
39
  ]
 
42
  print(f"Messages: {messages}")
43
  print(f"Reply: {response}")
44
 
45
+ # 更新並返回完整的聊天歷史(改為字典列表)
46
+ new_history = history.copy()
47
+ new_history.append({"user": prompt, "assistant": response})
48
+ # 最後返回的是一個消息列表,每一條消息為字典格式(可進一步轉換為 ChatMessage 格式)
49
+ final_messages = []
50
+ # 如果需要顯示完整對話,可將歷史中每一條對話分拆成兩條消息
51
+ for item in new_history:
52
+ final_messages.append({"role": "user", "content": item["user"]})
53
+ final_messages.append({"role": "assistant", "content": item["assistant"]})
54
+ return final_messages
55
 
56
  # 設定 Gradio 的聊天界面
57
+ demo = gr.ChatInterface(
58
+ fn=respond,
59
+ title="DeepSeek-R1-Distill-Qwen-1.5B-openvino Chat",
60
+ description="Chat with DeepSeek-R1-Distill-Qwen-1.5B-openvino model.",
61
+ type="tuples"
62
+ )
63
 
64
  if __name__ == "__main__":
65
+ demo.launch()