Spaces:
No application file
No application file
fix
Browse files- app/app.py +16 -10
- 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
|
269 |
-
|
270 |
-
|
|
|
|
|
|
|
|
|
271 |
logger.info("app_ready_event๊ฐ True๋ก ์ค์ ๋จ.")
|
272 |
else:
|
273 |
-
logger.error("๊ฒ์๊ธฐ ์ด๊ธฐํ ์คํจ
|
274 |
-
# ์คํจ ์์๋
|
275 |
-
#
|
276 |
-
|
|
|
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 |
-
#
|
284 |
-
|
|
|
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 |
+
- ๋ฌธ์๊ด๋ฆฌ & ์ฅ์น๊ด๋ฆฌ์์ ๋ก๋ฉํ์์ ์ง์
|