jeongsoo commited on
Commit
f61a84c
ยท
1 Parent(s): fed1232
Files changed (2) hide show
  1. app/app.py +16 -10
  2. docs/project_plan.md +4 -0
app/app.py CHANGED
@@ -264,24 +264,30 @@ def background_init():
264
  logger.info("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์‹œ๋„ (background)...")
265
  retriever = init_retriever() # init_retriever๊ฐ€ base_retriever๋„ ์„ค์ •
266
 
267
- # ์„ฑ๊ณต ์—ฌ๋ถ€ ํ™•์ธ
268
- if retriever is not None and not isinstance(retriever, MockComponent):
269
- logger.info("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์„ฑ๊ณต (background)")
270
- app_ready_event.set() # ์•ฑ ์ค€๋น„ ์™„๋ฃŒ ์ƒํƒœ๋กœ ์„ค์ •
 
 
 
 
271
  logger.info("app_ready_event๊ฐ€ True๋กœ ์„ค์ •๋จ.")
272
  else:
273
- logger.error("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์‹คํŒจ ๋˜๋Š” Mock ๊ฐ์ฒด ์‚ฌ์šฉ (background)")
274
- # ์‹คํŒจ ์‹œ์—๋„ ์•ฑ์€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก app_ready_event๋ฅผ ์„ค์ •ํ• ์ง€ ๊ฒฐ์ •
275
- # app_ready_event.set() # ์‹คํŒจํ•ด๋„ ์ผ๋‹จ ์•ฑ์€ ๋„์šฐ๋ ค๋ฉด ์ฃผ์„ ํ•ด์ œ
276
- logger.warning("์ดˆ๊ธฐํ™” ์‹คํŒจ๋กœ app_ready_event๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์Œ.")
 
277
 
278
  except Exception as e:
279
  logger.error(f"๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ดˆ๊ธฐํ™” ์ค‘ ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}", exc_info=True)
280
  # ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ์—๋„ Mock ๊ฐ์ฒด ํ• ๋‹น ๋ฐ ์ƒํƒœ ์„ค์ • ๊ณ ๋ ค
281
  if base_retriever is None: base_retriever = MockComponent()
282
  if retriever is None: retriever = MockComponent()
283
- # app_ready_event.set() # ์˜ค๋ฅ˜ ์‹œ์—๋„ ์•ฑ ์‹คํ–‰ ์›ํ•˜๋ฉด ์ฃผ์„ ํ•ด์ œ
284
- logger.warning("์ดˆ๊ธฐํ™” ์˜ค๋ฅ˜ ๋ฐœ์ƒ์œผ๋กœ app_ready_event๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์Œ.")
 
285
 
286
  finally:
287
  end_init_time = time.time()
 
264
  logger.info("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์‹œ๋„ (background)...")
265
  retriever = init_retriever() # init_retriever๊ฐ€ base_retriever๋„ ์„ค์ •
266
 
267
+ # ์„ฑ๊ณต ์—ฌ๋ถ€ ํ™•์ธ - retriever๊ฐ€ None์ด ์•„๋‹ˆ๋ฉด ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ
268
+ if retriever is not None:
269
+ if not isinstance(retriever, MockComponent):
270
+ logger.info("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์„ฑ๊ณต (background)")
271
+ else:
272
+ logger.warning("Mock ๊ฒ€์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ธฐ๋Šฅ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.")
273
+ # ์ค‘์š”: ๊ฒ€์ƒ‰๊ธฐ๊ฐ€ Mock ๊ฐ์ฒด์ด๋”๋ผ๋„ app_ready_event.set()์„ ํ˜ธ์ถœํ•˜์—ฌ ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
274
+ app_ready_event.set()
275
  logger.info("app_ready_event๊ฐ€ True๋กœ ์„ค์ •๋จ.")
276
  else:
277
+ logger.error("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์‹คํŒจ (background)")
278
+ # ์ค‘์š” ์ˆ˜์ •: ์‹คํŒจ ์‹œ์—๋„ app_ready_event๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋กœ๋”ฉ ํŽ˜์ด์ง€์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
279
+ # ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•ฑ ์ž์ฒด๋Š” ์‹คํ–‰๋˜์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๊ฐ€ ๋จ
280
+ app_ready_event.set()
281
+ logger.warning("๊ฒ€์ƒ‰๊ธฐ ์ดˆ๊ธฐํ™” ์‹คํŒจํ–ˆ์ง€๋งŒ app_ready_event๋ฅผ True๋กœ ์„ค์ •ํ•˜์—ฌ ์•ฑ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.")
282
 
283
  except Exception as e:
284
  logger.error(f"๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ดˆ๊ธฐํ™” ์ค‘ ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}", exc_info=True)
285
  # ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ์—๋„ Mock ๊ฐ์ฒด ํ• ๋‹น ๋ฐ ์ƒํƒœ ์„ค์ • ๊ณ ๋ ค
286
  if base_retriever is None: base_retriever = MockComponent()
287
  if retriever is None: retriever = MockComponent()
288
+ # ์ค‘์š” ์ˆ˜์ •: ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ์—๋„ app_ready_event๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋กœ๋”ฉ ํŽ˜์ด์ง€์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
289
+ app_ready_event.set()
290
+ logger.warning("์ดˆ๊ธฐํ™” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ app_ready_event๋ฅผ True๋กœ ์„ค์ •ํ•˜์—ฌ ์•ฑ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.")
291
 
292
  finally:
293
  end_init_time = time.time()
docs/project_plan.md CHANGED
@@ -45,6 +45,7 @@
45
  - [X] ์žฅ์น˜๊ด€๋ฆฌ ํƒญ ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฒ„๊ทธ ์ˆ˜์ •
46
 
47
  ## ์ง„ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…
 
48
  - [ ] LLM ์„ ํƒ UI ๊ฐœ์„ 
49
  - ๋“œ๋กญ๋‹ค์šด์— ์•„์ด์ฝ˜ ์ถ”๊ฐ€
50
  - ๊ฐ LLM๋ณ„ ์ƒ์„ธ ๋ชจ๋ธ ์ •๋ณด ํ‘œ์‹œ
@@ -133,3 +134,6 @@ RAG5_2_ChooseLLM/
133
  - OpenAI, DeepSeek ๋ฐ VITO API ํ‚ค๋Š” .env ํŒŒ์ผ์— ์„ค์ •ํ•ด์•ผ ํ•จ
134
  - ์ดˆ๊ธฐ ๋กœ๊ทธ์ธ ๊ณ„์ • ์ •๋ณด๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’ ์‚ฌ์šฉ
135
  - ์žฅ์น˜๊ด€๋ฆฌ ํƒญ ํด๋ฆญ ์‹œ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์—ฌ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ƒํƒœ ๊ฒ€์ฆ ๊ฐ€๋Šฅ
 
 
 
 
45
  - [X] ์žฅ์น˜๊ด€๋ฆฌ ํƒญ ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฒ„๊ทธ ์ˆ˜์ •
46
 
47
  ## ์ง„ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…
48
+ - [ ] ๋ฌธ์„œ๊ด€๋ฆฌ&์žฅ์น˜๊ด€๋ฆฌ ํƒญ ๋กœ๋”ฉ์ง€์† ํ˜„์ƒ ํ•ด๊ฒฐ๊ฒฐ
49
  - [ ] LLM ์„ ํƒ UI ๊ฐœ์„ 
50
  - ๋“œ๋กญ๋‹ค์šด์— ์•„์ด์ฝ˜ ์ถ”๊ฐ€
51
  - ๊ฐ LLM๋ณ„ ์ƒ์„ธ ๋ชจ๋ธ ์ •๋ณด ํ‘œ์‹œ
 
134
  - OpenAI, DeepSeek ๋ฐ VITO API ํ‚ค๋Š” .env ํŒŒ์ผ์— ์„ค์ •ํ•ด์•ผ ํ•จ
135
  - ์ดˆ๊ธฐ ๋กœ๊ทธ์ธ ๊ณ„์ • ์ •๋ณด๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’ ์‚ฌ์šฉ
136
  - ์žฅ์น˜๊ด€๋ฆฌ ํƒญ ํด๋ฆญ ์‹œ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜์—ฌ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ƒํƒœ ๊ฒ€์ฆ ๊ฐ€๋Šฅ
137
+
138
+ ## ํ˜„์žฌ ๋ฌธ์ œ ์‚ฌํ•ญ
139
+ - ๋ฌธ์„œ๊ด€๋ฆฌ & ์žฅ์น˜๊ด€๋ฆฌ์—์„œ ๋กœ๋”ฉํ˜„์ƒ์ƒ ์ง€์†