openfree commited on
Commit
3c39492
ยท
verified ยท
1 Parent(s): bbe7924

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -5
app.py CHANGED
@@ -25,6 +25,9 @@ from io import BytesIO
25
  from llama_cpp import Llama
26
  from llama_cpp.llama_chat_format import Llava16ChatHandler
27
 
 
 
 
28
  # CSV/TXT ๋ถ„์„
29
  import pandas as pd
30
  # PDF ํ…์ŠคํŠธ ์ถ”์ถœ
@@ -210,6 +213,37 @@ def image_to_base64_data_uri(image: Union[np.ndarray, Image.Image]) -> str:
210
  ##############################################################################
211
  # ๋ชจ๋ธ ๋กœ๋“œ
212
  ##############################################################################
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  @spaces.GPU(duration=120)
214
  def load_model():
215
  global llm, model_loaded
@@ -222,9 +256,8 @@ def load_model():
222
  logger.info("Gemma3-R1984-4B GGUF Q4_K_M ๋ชจ๋ธ ๋กœ๋”ฉ ์‹œ์ž‘...")
223
  clear_cuda_cache()
224
 
225
- # ๋ชจ๋ธ ๊ฒฝ๋กœ ์„ค์ •
226
- model_path = os.getenv("MODEL_PATH", "VIDraft/Gemma-3-R1984-4B-GGUF/Gemma-3-R1984-4B.Q4_K_M.gguf")
227
- mmproj_path = os.getenv("MMPROJ_PATH", "VIDraft/Gemma-3-R1984-4B-GGUF/Gemma-3-R1984-4B.mmproj-Q8_0.gguf")
228
 
229
  # GPU ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
230
  n_gpu_layers = -1 if torch.cuda.is_available() else 0
@@ -253,6 +286,8 @@ def load_model():
253
 
254
  except Exception as e:
255
  logger.error(f"๋ชจ๋ธ ๋กœ๋”ฉ ์‹คํŒจ: {e}")
 
 
256
  return False
257
 
258
  ##############################################################################
@@ -807,8 +842,8 @@ with gr.Blocks(title="๐Ÿค– ๋กœ๋ด‡ ์‹œ๊ฐ ์‹œ์Šคํ…œ (Gemma3-4B GGUF)", css=css) a
807
 
808
  # ์ดˆ๊ธฐ ๋ชจ๋ธ ๋กœ๋“œ
809
  def initial_load():
810
- load_model()
811
- return "์‹œ์Šคํ…œ ์ค€๋น„ ์™„๋ฃŒ! ๐Ÿš€"
812
 
813
  demo.load(
814
  fn=initial_load,
 
25
  from llama_cpp import Llama
26
  from llama_cpp.llama_chat_format import Llava16ChatHandler
27
 
28
+ # Model download
29
+ from huggingface_hub import hf_hub_download
30
+
31
  # CSV/TXT ๋ถ„์„
32
  import pandas as pd
33
  # PDF ํ…์ŠคํŠธ ์ถ”์ถœ
 
213
  ##############################################################################
214
  # ๋ชจ๋ธ ๋กœ๋“œ
215
  ##############################################################################
216
+ def download_model_files():
217
+ """Hugging Face Hub์—์„œ ๋ชจ๋ธ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ"""
218
+ model_repo = "VIDraft/Gemma-3-R1984-4B-GGUF"
219
+
220
+ # ๋ฉ”์ธ ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ
221
+ model_filename = "Gemma-3-R1984-4B.Q4_K_M.gguf"
222
+ logger.info(f"๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ ์ค‘: {model_filename}")
223
+
224
+ model_path = hf_hub_download(
225
+ repo_id=model_repo,
226
+ filename=model_filename,
227
+ resume_download=True,
228
+ local_files_only=False
229
+ )
230
+
231
+ # Vision projection ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
232
+ mmproj_filename = "Gemma-3-R1984-4B.mmproj-Q8_0.gguf"
233
+ logger.info(f"Vision ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ ์ค‘: {mmproj_filename}")
234
+
235
+ mmproj_path = hf_hub_download(
236
+ repo_id=model_repo,
237
+ filename=mmproj_filename,
238
+ resume_download=True,
239
+ local_files_only=False
240
+ )
241
+
242
+ logger.info(f"๋ชจ๋ธ ๊ฒฝ๋กœ: {model_path}")
243
+ logger.info(f"Vision ๊ฒฝ๋กœ: {mmproj_path}")
244
+
245
+ return model_path, mmproj_path
246
+
247
  @spaces.GPU(duration=120)
248
  def load_model():
249
  global llm, model_loaded
 
256
  logger.info("Gemma3-R1984-4B GGUF Q4_K_M ๋ชจ๋ธ ๋กœ๋”ฉ ์‹œ์ž‘...")
257
  clear_cuda_cache()
258
 
259
+ # ๋ชจ๋ธ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
260
+ model_path, mmproj_path = download_model_files()
 
261
 
262
  # GPU ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
263
  n_gpu_layers = -1 if torch.cuda.is_available() else 0
 
286
 
287
  except Exception as e:
288
  logger.error(f"๋ชจ๋ธ ๋กœ๋”ฉ ์‹คํŒจ: {e}")
289
+ import traceback
290
+ logger.error(traceback.format_exc())
291
  return False
292
 
293
  ##############################################################################
 
842
 
843
  # ์ดˆ๊ธฐ ๋ชจ๋ธ ๋กœ๋“œ
844
  def initial_load():
845
+ # ์ฒซ ์‹คํ–‰ ์‹œ GPU์—์„œ ๋ชจ๋ธ ๋กœ๋“œ
846
+ return "์‹œ์Šคํ…œ ์ค€๋น„ ์™„๋ฃŒ! ์ฒซ ๋ถ„์„ ์‹œ ๋ชจ๋ธ์ด ์ž๋™์œผ๋กœ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ๐Ÿš€"
847
 
848
  demo.load(
849
  fn=initial_load,