mkw18 commited on
Commit
1a6fe15
·
1 Parent(s): 0f9e9b8

add finish

Browse files
Files changed (1) hide show
  1. app.py +20 -8
app.py CHANGED
@@ -63,7 +63,7 @@ def showInput(input, chatbot):
63
  return chatbot
64
 
65
 
66
- def predict(input, chatbot, messages, idx):
67
  chatbot.append((parse_text(input), ""))
68
  messages.append({"role": 'user', "content": input})
69
  completion = openai.ChatCompletion.create(
@@ -72,15 +72,27 @@ def predict(input, chatbot, messages, idx):
72
  logit_bias={42468: 10, 28938: 10}
73
  )
74
  response=completion.choices[0].message.content.strip()
75
- chatbot[-1] = (parse_text(input), parse_text(response))
76
  messages.append({"role": "assistant", "content": response})
77
- data = {'predict': messages, 'idx': idx}
78
- requests.post(os.environ.get("URL"), data=json.dumps(data, ensure_ascii=False).encode('utf-8'))
79
  # data = {'predict': messages, 'idx': idx}
80
  # response=str(requests.post(os.environ.get("URL"), data=json.dumps(data, ensure_ascii=False).encode('utf-8')).content, encoding="utf-8")
81
  # chatbot[-1] = (parse_text(input), parse_text(response))
82
  # messages.append({"role": "assistant", "content": response})
83
- # messages1 = messages + [{"role": 'user', "content": '我猜到汤底了吗?请回答是或否。'}]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  return chatbot, messages
85
 
86
 
@@ -125,20 +137,20 @@ with gr.Blocks() as demo:
125
  with gr.Row():
126
  with gr.Column(scale=4):
127
  with gr.Column(scale=12):
128
- user_input = gr.Textbox(show_label=False, placeholder="Input...", lines=7, max_lines=7).style(
129
  container=False)
130
  with gr.Column(min_width=32, scale=1):
131
  submitBtn = gr.Button("Submit", variant="primary")
132
  emptyBtn = gr.Button("New game")
133
  with gr.Column(scale=1):
134
- answer_output = gr.Textbox(show_label=False, lines=10, max_lines=10).style(
135
  container=False)
136
  answerBtn = gr.Button("Show Answer")
137
 
138
  messages = gr.State(data['messages'])
139
 
140
  # submitBtn.click(showInput, [user_input, chatbot], [chatbot])
141
- submitBtn.click(predict, [user_input, chatbot, messages, idx], [chatbot, messages],
142
  show_progress=True)
143
  submitBtn.click(reset_user_input, [], [user_input])
144
 
 
63
  return chatbot
64
 
65
 
66
+ def predict(input, chatbot, messages, idx, answer):
67
  chatbot.append((parse_text(input), ""))
68
  messages.append({"role": 'user', "content": input})
69
  completion = openai.ChatCompletion.create(
 
72
  logit_bias={42468: 10, 28938: 10}
73
  )
74
  response=completion.choices[0].message.content.strip()
 
75
  messages.append({"role": "assistant", "content": response})
 
 
76
  # data = {'predict': messages, 'idx': idx}
77
  # response=str(requests.post(os.environ.get("URL"), data=json.dumps(data, ensure_ascii=False).encode('utf-8')).content, encoding="utf-8")
78
  # chatbot[-1] = (parse_text(input), parse_text(response))
79
  # messages.append({"role": "assistant", "content": response})
80
+ messages1 = messages + [{"role": 'user', "content": '我猜到汤底了吗?请回答是或否。'}]
81
+ completion1 = openai.ChatCompletion.create(
82
+ model="gpt-3.5-turbo",
83
+ messages=messages1,
84
+ logit_bias={42468: 10, 28938: 10}
85
+ )
86
+ response1=completion1.choices[0].message.content.strip()
87
+ if '不' in response1 or '否' in response1 or '没' in response1:
88
+ response = response
89
+ finish = False
90
+ else:
91
+ response += f'恭喜您已经猜到汤底,汤底是:{answer}\n点击"New Game"按钮开始下一局游戏。'
92
+ finish = True
93
+ data = {'predict': messages, 'idx': idx, 'isfinished': finish}
94
+ requests.post(os.environ.get("URL"), data=json.dumps(data, ensure_ascii=False).encode('utf-8'))
95
+ chatbot[-1] = (parse_text(input), parse_text(response))
96
  return chatbot, messages
97
 
98
 
 
137
  with gr.Row():
138
  with gr.Column(scale=4):
139
  with gr.Column(scale=12):
140
+ user_input = gr.Textbox(show_label=False, placeholder="Input...", lines=3, max_lines=3).style(
141
  container=False)
142
  with gr.Column(min_width=32, scale=1):
143
  submitBtn = gr.Button("Submit", variant="primary")
144
  emptyBtn = gr.Button("New game")
145
  with gr.Column(scale=1):
146
+ answer_output = gr.Textbox(show_label=False, lines=6, max_lines=6).style(
147
  container=False)
148
  answerBtn = gr.Button("Show Answer")
149
 
150
  messages = gr.State(data['messages'])
151
 
152
  # submitBtn.click(showInput, [user_input, chatbot], [chatbot])
153
+ submitBtn.click(predict, [user_input, chatbot, messages, idx, answer], [chatbot, messages],
154
  show_progress=True)
155
  submitBtn.click(reset_user_input, [], [user_input])
156