AIRider commited on
Commit
b8376a6
·
verified ·
1 Parent(s): c1e9c0c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -15
app.py CHANGED
@@ -19,7 +19,10 @@ def get_model_response(client, messages, max_tokens, temperature, top_p):
19
  for message in response:
20
  if stop_event.is_set():
21
  break
22
- token = message.choices[0].delta.content if hasattr(message.choices[0], 'delta') else message.choices[0].text
 
 
 
23
  if token:
24
  full_response += token
25
  yield full_response
@@ -35,10 +38,9 @@ def respond(message, history, system_message, max_tokens, temperature, top_p, se
35
  messages.extend([{"role": "user" if i % 2 == 0 else "assistant", "content": m} for h in history for i, m in enumerate(h) if m])
36
  messages.append({"role": "user", "content": message})
37
 
38
- response = ""
39
- for partial_response in get_model_response(client, messages, max_tokens, temperature, top_p):
40
- response = partial_response
41
- history.append((message, response))
42
  yield "", history
43
 
44
  except Exception as e:
@@ -59,16 +61,13 @@ def continue_writing(history, system_message, max_tokens, temperature, top_p, mo
59
  messages.extend([{"role": "user" if i % 2 == 0 else "assistant", "content": m} for h in history for i, m in enumerate(h)])
60
  messages.append({"role": "user", "content": prompt})
61
 
62
- response = ""
63
- for partial_response in get_model_response(client, messages, max_tokens, temperature, top_p):
64
- response = partial_response
65
-
66
- continued_response = last_assistant_message + " " + response
67
- history[-1] = (last_user_message, continued_response)
68
- return "", history
69
  except Exception as e:
70
  history.append(("시스템", f"계속 작성 중 오류 발생: {str(e)}"))
71
- return "", history
72
 
73
  def stop_generation():
74
  stop_event.set()
@@ -112,7 +111,6 @@ with gr.Blocks() as demo:
112
  top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.90, step=0.05, label="Top-p (핵 샘플링)")
113
  model = gr.Radio(list(models.keys()), value=list(models.keys())[0], label="언어 모델 선택", info="사용할 언어 모델을 선택하세요")
114
 
115
- # JavaScript를 사용하여 키 입력 동작 커스터마이즈
116
  msg.javascript = """
117
  (x) => {
118
  const textbox = document.querySelector("#component-3");
@@ -130,7 +128,6 @@ with gr.Blocks() as demo:
130
  }
131
  """
132
 
133
- # 이벤트 핸들러 설정
134
  send.click(respond, inputs=[msg, chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])
135
  msg.submit(respond, inputs=[msg, chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])
136
  continue_btn.click(continue_writing, inputs=[chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])
 
19
  for message in response:
20
  if stop_event.is_set():
21
  break
22
+ if hasattr(message.choices[0], 'delta'):
23
+ token = message.choices[0].delta.content
24
+ else:
25
+ token = message.choices[0].text
26
  if token:
27
  full_response += token
28
  yield full_response
 
38
  messages.extend([{"role": "user" if i % 2 == 0 else "assistant", "content": m} for h in history for i, m in enumerate(h) if m])
39
  messages.append({"role": "user", "content": message})
40
 
41
+ history.append((message, ""))
42
+ for response in get_model_response(client, messages, max_tokens, temperature, top_p):
43
+ history[-1] = (message, response)
 
44
  yield "", history
45
 
46
  except Exception as e:
 
61
  messages.extend([{"role": "user" if i % 2 == 0 else "assistant", "content": m} for h in history for i, m in enumerate(h)])
62
  messages.append({"role": "user", "content": prompt})
63
 
64
+ for response in get_model_response(client, messages, max_tokens, temperature, top_p):
65
+ continued_response = last_assistant_message + " " + response
66
+ history[-1] = (last_user_message, continued_response)
67
+ yield "", history
 
 
 
68
  except Exception as e:
69
  history.append(("시스템", f"계속 작성 중 오류 발생: {str(e)}"))
70
+ yield "", history
71
 
72
  def stop_generation():
73
  stop_event.set()
 
111
  top_p = gr.Slider(minimum=0.1, maximum=1.0, value=0.90, step=0.05, label="Top-p (핵 샘플링)")
112
  model = gr.Radio(list(models.keys()), value=list(models.keys())[0], label="언어 모델 선택", info="사용할 언어 모델을 선택하세요")
113
 
 
114
  msg.javascript = """
115
  (x) => {
116
  const textbox = document.querySelector("#component-3");
 
128
  }
129
  """
130
 
 
131
  send.click(respond, inputs=[msg, chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])
132
  msg.submit(respond, inputs=[msg, chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])
133
  continue_btn.click(continue_writing, inputs=[chatbot, system_message, max_tokens, temperature, top_p, model], outputs=[msg, chatbot])