Gilvaa commited on
Commit
a55beaf
·
verified ·
1 Parent(s): f6e0b33

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -176,28 +176,38 @@ with gr.Blocks(css="""
176
  """) as demo:
177
  gr.Markdown("## Qwen × SimSimi Hybrid Chat\n小贴士:在 Settings → Repository secrets 设置 SIMSIMI_API_KEY 后即可使用 SimSimi。")
178
 
179
- with gr.Row():
180
- mode_dd = gr.Dropdown(choices=["Auto 混合", "只用 Qwen", "只用 SimSimi"], value="Auto 混合", label="对话模式")
181
- lang_dd = gr.Dropdown(choices=["ch", "en", "zh", "vi", "th", "ko", "ja", "es", "fr", "de"], value=SIMSIMI_LANG or "ch", label="SimSimi 语言码")
182
- bad_sl = gr.Slider(0.0, 1.0, value=SIMSIMI_BAD_MAX, step=0.05, label="SimSimi 坏话阈值 (atext_bad_prob_max)")
 
 
183
 
184
  chatbox = gr.Chatbot(elem_id="chatbot")
185
- user_in = gr.Textbox(placeholder="输入内容,回车发送…", lines=2)
 
186
  clear_btn = gr.Button("清空对话")
187
 
188
  # 内部状态:存储 Qwen 用的 messages
189
  state_msgs = gr.State([{"role": "system", "content": SYSTEM_PROMPT}])
190
 
191
- async def respond(user_text, history, messages, mode, lang, bad_max):
192
  user_text = (user_text or "").strip()
193
  if not user_text:
194
  return gr.update(), messages, ""
195
 
 
 
 
 
 
 
 
196
  # 更新 message 历史
197
  messages = list(messages) if messages else [{"role": "system", "content": SYSTEM_PROMPT}]
198
  messages.append({"role": "user", "content": user_text})
199
 
200
- reply = await hybrid_reply(messages, user_text, mode=mode, lang=lang, bad_max=bad_max)
201
 
202
  messages.append({"role": "assistant", "content": reply})
203
  history = (history or []) + [[user_text, reply]]
@@ -206,11 +216,13 @@ with gr.Blocks(css="""
206
  def clear_all():
207
  return [], [{"role": "system", "content": SYSTEM_PROMPT}]
208
 
209
- user_in.submit(
 
210
  respond,
211
- inputs=[user_in, chatbox, state_msgs, mode_dd, lang_dd, bad_sl],
212
  outputs=[chatbox, state_msgs, user_in]
213
  )
 
214
  clear_btn.click(
215
  clear_all,
216
  inputs=None,
 
176
  """) as demo:
177
  gr.Markdown("## Qwen × SimSimi Hybrid Chat\n小贴士:在 Settings → Repository secrets 设置 SIMSIMI_API_KEY 后即可使用 SimSimi。")
178
 
179
+ # 只保留“对话模式”一个选项(映射到内部的“Auto 混合”)
180
+ mode_dd = gr.Dropdown(
181
+ choices=["对话模式"],
182
+ value="对话模式",
183
+ label="模式"
184
+ )
185
 
186
  chatbox = gr.Chatbot(elem_id="chatbot")
187
+ user_in = gr.Textbox(placeholder="输入内容,然后点击【提交】发送…", lines=2)
188
+ submit_btn = gr.Button("提交", variant="primary")
189
  clear_btn = gr.Button("清空对话")
190
 
191
  # 内部状态:存储 Qwen 用的 messages
192
  state_msgs = gr.State([{"role": "system", "content": SYSTEM_PROMPT}])
193
 
194
+ async def respond(user_text, history, messages, mode_label):
195
  user_text = (user_text or "").strip()
196
  if not user_text:
197
  return gr.update(), messages, ""
198
 
199
+ # 将“对话模式”映射到内部“Auto 混合”
200
+ internal_mode = "Auto 混合"
201
+
202
+ # 使用环境变量/默认值作为 SimSimi 参数
203
+ lang = SIMSIMI_LANG
204
+ bad_max = SIMSIMI_BAD_MAX
205
+
206
  # 更新 message 历史
207
  messages = list(messages) if messages else [{"role": "system", "content": SYSTEM_PROMPT}]
208
  messages.append({"role": "user", "content": user_text})
209
 
210
+ reply = await hybrid_reply(messages, user_text, mode=internal_mode, lang=lang, bad_max=bad_max)
211
 
212
  messages.append({"role": "assistant", "content": reply})
213
  history = (history or []) + [[user_text, reply]]
 
216
  def clear_all():
217
  return [], [{"role": "system", "content": SYSTEM_PROMPT}]
218
 
219
+ # 仅“提交”按钮触发发送;移除回车提交
220
+ submit_btn.click(
221
  respond,
222
+ inputs=[user_in, chatbox, state_msgs, mode_dd],
223
  outputs=[chatbox, state_msgs, user_in]
224
  )
225
+
226
  clear_btn.click(
227
  clear_all,
228
  inputs=None,