ginipick commited on
Commit
3c1fdb3
Β·
verified Β·
1 Parent(s): e13feb1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -17
app.py CHANGED
@@ -179,7 +179,7 @@ def analyze_space(url: str, progress=gr.Progress()):
179
 
180
 
181
 
182
- async def respond_stream(message: str, chat_history: List[Dict[str, str]], max_tokens: int, temperature: float, top_p: float):
183
  system_message = """당신은 ν—ˆκΉ…νŽ˜μ΄μŠ€μ— νŠΉν™”λœ AI μ½”λ”© μ „λ¬Έκ°€μž…λ‹ˆλ‹€. μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ— μΉœμ ˆν•˜κ³  μƒμ„Έν•˜κ²Œ λ‹΅λ³€ν•΄μ£Όμ„Έμš”.
184
  Gradio νŠΉμ„±μ„ μ •ν™•νžˆ μΈμ‹ν•˜κ³  Requirements.txt λˆ„λ½μ—†μ΄ μ½”λ”©κ³Ό 였λ₯˜λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.
185
  항상 μ •ν™•ν•˜κ³  μœ μš©ν•œ 정보λ₯Ό μ œκ³΅ν•˜λ„λ‘ λ…Έλ ₯ν•˜μ„Έμš”."""
@@ -189,20 +189,19 @@ async def respond_stream(message: str, chat_history: List[Dict[str, str]], max_t
189
  messages.append({"role": "user", "content": message})
190
 
191
  try:
192
- stream = hf_client.chat_completion(
193
  messages,
194
  max_tokens=max_tokens,
195
  temperature=temperature,
196
- top_p=top_p,
197
- stream=True
198
  )
199
 
200
- full_response = ""
201
- async for response in stream:
202
- if response.token.special:
203
- continue
204
- full_response += response.token.text
205
- yield full_response
206
  except Exception as e:
207
  yield f"응닡 생성 쀑 였λ₯˜ λ°œμƒ: {str(e)}"
208
 
@@ -319,7 +318,7 @@ def create_ui():
319
  msg = gr.Textbox(label="λ©”μ‹œμ§€")
320
 
321
  max_tokens = gr.Slider(minimum=1, maximum=8000, value=4000, label="Max Tokens", visible=False)
322
- temperature = gr.Slider(minimum=0, maximum=1, value=0.3, label="Temperature", visible=False)
323
  top_p = gr.Slider(minimum=0, maximum=1, value=0.9, label="Top P", visible=False)
324
 
325
  examples = [
@@ -330,19 +329,21 @@ def create_ui():
330
  ["νŠΉν—ˆ μΆœμ›μ— ν™œμš©ν•  기술 및 λΉ„μ¦ˆλ‹ˆμŠ€λͺ¨λΈ 츑면을 ν¬ν•¨ν•˜μ—¬ νŠΉν—ˆ μΆœμ›μ„œ ꡬ성에 맞게 ν˜μ‹ μ μΈ 창의 발λͺ… λ‚΄μš©μ„ μ€‘μ‹¬μœΌλ‘œ 4000토큰 이상 μž‘μ„±ν•˜λΌ."],
331
  ["계속 μ΄μ–΄μ„œ λ‹΅λ³€ν•˜λΌ"],
332
  ]
333
-
334
  gr.Examples(examples, inputs=msg)
335
 
336
  def respond_wrapper(message, chat_history, max_tokens, temperature, top_p):
337
- generator = respond_stream(message, chat_history, max_tokens, temperature, top_p)
338
- bot_message = asyncio.run(generator.__anext__())
339
  chat_history.append({"role": "user", "content": message})
340
- chat_history.append({"role": "assistant", "content": bot_message})
341
- return "", chat_history
 
 
 
 
342
 
343
  msg.submit(respond_wrapper, [msg, chatbot, max_tokens, temperature, top_p], [msg, chatbot])
344
 
345
-
346
 
347
 
348
 
 
179
 
180
 
181
 
182
+ def respond_stream(message: str, chat_history: List[Dict[str, str]], max_tokens: int, temperature: float, top_p: float):
183
  system_message = """당신은 ν—ˆκΉ…νŽ˜μ΄μŠ€μ— νŠΉν™”λœ AI μ½”λ”© μ „λ¬Έκ°€μž…λ‹ˆλ‹€. μ‚¬μš©μžμ˜ μ§ˆλ¬Έμ— μΉœμ ˆν•˜κ³  μƒμ„Έν•˜κ²Œ λ‹΅λ³€ν•΄μ£Όμ„Έμš”.
184
  Gradio νŠΉμ„±μ„ μ •ν™•νžˆ μΈμ‹ν•˜κ³  Requirements.txt λˆ„λ½μ—†μ΄ μ½”λ”©κ³Ό 였λ₯˜λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.
185
  항상 μ •ν™•ν•˜κ³  μœ μš©ν•œ 정보λ₯Ό μ œκ³΅ν•˜λ„λ‘ λ…Έλ ₯ν•˜μ„Έμš”."""
 
189
  messages.append({"role": "user", "content": message})
190
 
191
  try:
192
+ response = hf_client.chat_completion(
193
  messages,
194
  max_tokens=max_tokens,
195
  temperature=temperature,
196
+ top_p=top_p
 
197
  )
198
 
199
+ full_response = response.choices[0].message.content
200
+ words = full_response.split()
201
+ for i in range(len(words)):
202
+ partial_response = " ".join(words[:i+1])
203
+ time.sleep(0.05) # 응닡 속도 쑰절
204
+ yield partial_response
205
  except Exception as e:
206
  yield f"응닡 생성 쀑 였λ₯˜ λ°œμƒ: {str(e)}"
207
 
 
318
  msg = gr.Textbox(label="λ©”μ‹œμ§€")
319
 
320
  max_tokens = gr.Slider(minimum=1, maximum=8000, value=4000, label="Max Tokens", visible=False)
321
+ temperature = gr.Slider(minimum=0, maximum=1, value=0.7, label="Temperature", visible=False)
322
  top_p = gr.Slider(minimum=0, maximum=1, value=0.9, label="Top P", visible=False)
323
 
324
  examples = [
 
329
  ["νŠΉν—ˆ μΆœμ›μ— ν™œμš©ν•  기술 및 λΉ„μ¦ˆλ‹ˆμŠ€λͺ¨λΈ 츑면을 ν¬ν•¨ν•˜μ—¬ νŠΉν—ˆ μΆœμ›μ„œ ꡬ성에 맞게 ν˜μ‹ μ μΈ 창의 발λͺ… λ‚΄μš©μ„ μ€‘μ‹¬μœΌλ‘œ 4000토큰 이상 μž‘μ„±ν•˜λΌ."],
330
  ["계속 μ΄μ–΄μ„œ λ‹΅λ³€ν•˜λΌ"],
331
  ]
332
+
333
  gr.Examples(examples, inputs=msg)
334
 
335
  def respond_wrapper(message, chat_history, max_tokens, temperature, top_p):
 
 
336
  chat_history.append({"role": "user", "content": message})
337
+ bot_message = ""
338
+ for partial_response in respond_stream(message, chat_history, max_tokens, temperature, top_p):
339
+ bot_message = partial_response
340
+ chat_history[-1] = {"role": "assistant", "content": bot_message}
341
+ yield "", chat_history
342
+ return
343
 
344
  msg.submit(respond_wrapper, [msg, chatbot, max_tokens, temperature, top_p], [msg, chatbot])
345
 
346
+
347
 
348
 
349