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 |
+
- ๋ฌธ์๊ด๋ฆฌ & ์ฅ์น๊ด๋ฆฌ์์ ๋ก๋ฉํ์์ ์ง์
|