Yingxu He commited on
Commit
1c776f7
·
verified ·
1 Parent(s): 1d31f31

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -13
app.py CHANGED
@@ -1,12 +1,36 @@
 
1
  import urllib
2
  import chatglm_cpp
3
  import gradio as gr
4
 
5
- DEFAULT_MODEL_PATH = "chatglm3-6b.bin"
6
 
7
- pipeline = chatglm_cpp.Pipeline(DEFAULT_MODEL_PATH)
8
- system_message = chatglm_cpp.ChatMessage(role="system", content="请你现在扮演一个软件工程师,名字叫做贺英旭。你需要以这个身份和朋友们对话。")
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  def respond(
12
  message,
@@ -16,30 +40,36 @@ def respond(
16
  temperature,
17
  top_p,
18
  ):
19
- messages = [chatglm_cpp.ChatMessage(role="system", content=system_message)]
20
  # messages = [{"role": "system", "content": system_message}]
 
21
 
22
  for val in history:
23
  if val[0]:
24
  # messages.append({"role": "user", "content": val[0]})
25
- messages.append(chatglm_cpp.ChatMessage(role="user", content=val[0]))
 
26
  if val[1]:
27
- messages.append(chatglm_cpp.ChatMessage(role="assistant", content=val[1]))
 
28
 
29
- messages.append(chatglm_cpp.ChatMessage(role="user", content=message))
 
30
 
31
  generation_kwargs = dict(
32
  max_new_tokens=max_new_tokens,
33
  do_sample=temperature > 0,
34
  top_p=top_p,
35
  temperature=temperature,
36
- stream=True,
37
  )
38
 
39
- response = ""
40
- for chunk in pipeline.chat(messages, **generation_kwargs):
41
- response += chunk.content
42
- yield response
 
 
43
 
44
 
45
  """
@@ -48,7 +78,7 @@ For information on how to customize the ChatInterface, peruse the gradio docs: h
48
  demo = gr.ChatInterface(
49
  respond,
50
  additional_inputs=[
51
- gr.Textbox(value="You are a friendly Chatbot.", label="System message"),
52
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
53
  gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
54
  gr.Slider(
 
1
+ import os
2
  import urllib
3
  import chatglm_cpp
4
  import gradio as gr
5
 
6
+ import requests
7
 
8
+ endpoint_url = os.getenv('ENDPOINT_URL')
9
+ personal_secret_token = os.getenv('PERSONAL_HF_TOKEN')
10
 
11
+ turn_breaker = os.getenv('TURN_BREAKER')
12
+ system_symbol = os.getenv('SYSTEM_SYMBOL')
13
+ user_symbol = os.getenv('USER_SYMBOL')
14
+ assistant_symbol = os.getenv('ASSISTANT_SYMBOL')
15
+
16
+ headers = {
17
+ "Accept" : "application/json",
18
+ "Authorization": f"Bearer {personal_secret_token}",
19
+ "Content-Type": "application/json"
20
+ }
21
+
22
+ def query(payload):
23
+ # response = requests.post(endpoint_url, headers=headers, json=payload)
24
+ # return response.json()
25
+ return payload['inputs']
26
+
27
+ # output = query({
28
+ # "inputs": "你啥比",
29
+ # "parameters": {
30
+ # "max_new_tokens": 150
31
+ # }
32
+ # })
33
+ # system_message = chatglm_cpp.ChatMessage(role="system", content="请你现在扮演一个软件工程师,名字叫做贺英旭。你需要以这个身份和朋友们对话。")
34
 
35
  def respond(
36
  message,
 
40
  temperature,
41
  top_p,
42
  ):
43
+ # messages = [chatglm_cpp.ChatMessage(role="system", content=system_message)]
44
  # messages = [{"role": "system", "content": system_message}]
45
+ all_messages = [system_message]
46
 
47
  for val in history:
48
  if val[0]:
49
  # messages.append({"role": "user", "content": val[0]})
50
+ all_messages.append(user_symbol+val[0])
51
+ # messages.append(chatglm_cpp.ChatMessage(role="user", content=val[0]))
52
  if val[1]:
53
+ all_messages.append(assistant_symbol+val[1])
54
+ # messages.append(chatglm_cpp.ChatMessage(role="assistant", content=val[1]))
55
 
56
+ # messages.append(chatglm_cpp.ChatMessage(role="user", content=message))
57
+ all_messages.append(user_symbol+message)
58
 
59
  generation_kwargs = dict(
60
  max_new_tokens=max_new_tokens,
61
  do_sample=temperature > 0,
62
  top_p=top_p,
63
  temperature=temperature,
64
+ # stream=True,
65
  )
66
 
67
+ response = query({
68
+ "inputs": turn_breaker.join(all_messages),
69
+ "parameters": generation_kwargs
70
+ })
71
+
72
+ return response
73
 
74
 
75
  """
 
78
  demo = gr.ChatInterface(
79
  respond,
80
  additional_inputs=[
81
+ gr.Textbox(value="请你现在扮演一个软件工程师,名字叫做贺英旭。你需要以这个身份和朋友们对话。", label="System message"),
82
  gr.Slider(minimum=1, maximum=2048, value=512, step=1, label="Max new tokens"),
83
  gr.Slider(minimum=0.1, maximum=4.0, value=0.7, step=0.1, label="Temperature"),
84
  gr.Slider(