Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -251,9 +251,9 @@ def process_new_user_message(message: dict) -> list[dict]:
|
|
251 |
return content_list
|
252 |
|
253 |
# 7) ์ด๋ฏธ์ง ์ฒ๋ฆฌ
|
254 |
-
if "<image>" in message["text"]:
|
255 |
# interleaved
|
256 |
-
return process_interleaved_images(message)
|
257 |
else:
|
258 |
# ์ผ๋ฐ ์ฌ๋ฌ ์ฅ
|
259 |
for img_path in image_files:
|
@@ -261,7 +261,6 @@ def process_new_user_message(message: dict) -> list[dict]:
|
|
261 |
|
262 |
return content_list
|
263 |
|
264 |
-
|
265 |
##################################################
|
266 |
# history -> LLM ๋ฉ์์ง ๋ณํ
|
267 |
##################################################
|
@@ -300,8 +299,26 @@ def run(message: dict, history: list[dict], system_prompt: str = "", max_new_tok
|
|
300 |
if system_prompt:
|
301 |
messages.append({"role": "system", "content": [{"type": "text", "text": system_prompt}]})
|
302 |
messages.extend(process_history(history))
|
303 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
|
|
|
305 |
inputs = processor.apply_chat_template(
|
306 |
messages,
|
307 |
add_generation_prompt=True,
|
@@ -324,7 +341,6 @@ def run(message: dict, history: list[dict], system_prompt: str = "", max_new_tok
|
|
324 |
output += new_text
|
325 |
yield output
|
326 |
|
327 |
-
|
328 |
##################################################
|
329 |
# ์์๋ค (๊ธฐ์กด)
|
330 |
##################################################
|
|
|
251 |
return content_list
|
252 |
|
253 |
# 7) ์ด๋ฏธ์ง ์ฒ๋ฆฌ
|
254 |
+
if "<image>" in message["text"] and image_files: # ์ด๋ฏธ์ง ํ์ผ์ด ์๋ ๊ฒฝ์ฐ์๋ง
|
255 |
# interleaved
|
256 |
+
return process_interleaved_images({"text": message["text"], "files": image_files})
|
257 |
else:
|
258 |
# ์ผ๋ฐ ์ฌ๋ฌ ์ฅ
|
259 |
for img_path in image_files:
|
|
|
261 |
|
262 |
return content_list
|
263 |
|
|
|
264 |
##################################################
|
265 |
# history -> LLM ๋ฉ์์ง ๋ณํ
|
266 |
##################################################
|
|
|
299 |
if system_prompt:
|
300 |
messages.append({"role": "system", "content": [{"type": "text", "text": system_prompt}]})
|
301 |
messages.extend(process_history(history))
|
302 |
+
|
303 |
+
# ์ฌ์ฉ์ ๋ฉ์์ง ์ฒ๋ฆฌ
|
304 |
+
user_content = process_new_user_message(message)
|
305 |
+
|
306 |
+
# ์ด๋ฏธ์ง๊ฐ ์๋ ํ์ผ๋ค๋ง ํ
์คํธ๋ก ๋ณํ
|
307 |
+
processed_content = []
|
308 |
+
for item in user_content:
|
309 |
+
if item["type"] == "image":
|
310 |
+
# ์ด๋ฏธ์ง ํ์ผ์ธ์ง ํ์ธ
|
311 |
+
if re.search(r"\.(png|jpg|jpeg|gif|webp)$", item["url"], re.IGNORECASE):
|
312 |
+
processed_content.append(item)
|
313 |
+
else:
|
314 |
+
# ์ด๋ฏธ์ง๊ฐ ์๋ ํ์ผ์ ํ
์คํธ๋ก ๋ณํ
|
315 |
+
processed_content.append({"type": "text", "text": f"[File: {os.path.basename(item['url'])}]"})
|
316 |
+
else:
|
317 |
+
processed_content.append(item)
|
318 |
+
|
319 |
+
messages.append({"role": "user", "content": processed_content})
|
320 |
|
321 |
+
# LLM ์ฒ๋ฆฌ๋ ๊ทธ๋๋ก ์งํ
|
322 |
inputs = processor.apply_chat_template(
|
323 |
messages,
|
324 |
add_generation_prompt=True,
|
|
|
341 |
output += new_text
|
342 |
yield output
|
343 |
|
|
|
344 |
##################################################
|
345 |
# ์์๋ค (๊ธฐ์กด)
|
346 |
##################################################
|