๐ ์ฑ๋ด ์ถ์ฒ ์์คํ ํ๋ฆ
๐ฏ ๋ชฉ์ :
- ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ฑํ ๋ฉ์์ง๋ฅผ ๋ถ์ํด์, ์ฌ์ฉ์์ ์ทจํฅ์ ๊ณ ๋ คํ ์ฅ์ ์ถ์ฒ์ ์ ๊ณตํฉ๋๋ค.
๐ฉ 1๋จ๊ณ: ์ฌ์ฉ์ ์ ๋ ฅ ๋ฉ์์ง ์ ๋ฌ
- ์ฌ์ฉ์๊ฐ ์ฑ๋ด์ ์ง๋ฌธ์ ๋ณด๋ ๋๋ค.
์ฌ์ฉ์ → ์ฑ๋ด
("๋ง์ง ์ถ์ฒํด์ค!")
๐ฉ 2๋จ๊ณ: ๋ฉ์ธ ์ฑ๋ด ๋ก์ง์ด ์๋ต ์์ฑ
- recommendation_service.py ๊ฐ ์ง๋ฌธ์ ๋ด์ฉ์ ๋ถ์ํ์ฌ ์ฅ์ ์ถ์ฒ์ ํฌํจํ ์๋ต ๋ฉ์์ง(HTML ํ์)๋ฅผ ๋ง๋ญ๋๋ค.
์ฑ๋ด (recommendation_service.py)
โ
โโ ์ง๋ฌธ ๋ถ์ → ์ฅ์ ์ถ์ฒ ๋ฐ ์ผ์ ์ ๋ณด ์์ฑ
โ
โโ HTML ํ์์ ์๋ต ์์ฑ
(์: "<div class='schedule-item'>๐<strong>๋ง์ง A</strong></div>")
๐ฉ 3๋จ๊ณ: ์ฅ์ ์ ๋ณด ์ถ์ถ
- ์์ฑ๋ HTML ์๋ต์์ **์ฅ์๋ช ("๋ง์ง A")**์ ์ถ์ถํฉ๋๋ค.
- ์ถ์ถ ๊ธฐ๋ฅ์ **recommendations.py**์์ ์ํ๋ฉ๋๋ค.
์ฑ๋ด ์๋ต (HTML)
โ
โโ recommendations.py (extract_places_from_response)
โ
โโ ์ฅ์๋ช
์ถ์ถ ["๋ง์ง A", "์นดํ B", ...]
๐ฉ 4๋จ๊ณ: ๊ฐ์ธํ ์ถ์ฒ ์ฅ์ ์์ฑ
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ ๊ฒฝ์ฐ, ์ฌ์ฉ์์ ๊ณผ๊ฑฐ ๋ํ๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋น์ทํ ์ทจํฅ์ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ธ๊ธํ ์ฅ์๋ ์ถ๊ฐ๋ก ์ถ์ฒํฉ๋๋ค.
- **recommendations.py**์ process_recommendations ๋ฐ get_chat_based_recommendations ํจ์๊ฐ ์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
์ฌ์ฉ์ ์ ๋ณด (๋ก๊ทธ์ธ๋ ์ฌ์ฉ์ ID)
โ
โโ recommendations.py (get_similar_users)
โ โโ ์ฌ์ฉ์ ํ๊ทธ ๋น๊ต ํ ์ ์ฌ ์ฌ์ฉ์ ์ฐพ๊ธฐ
โ
โโ recommendations.py (extract_places_from_chathistory)
โโ ์ ์ฌ ์ฌ์ฉ์ ์ฑํ
๊ธฐ๋ก ๋ถ์ → ์ฅ์ ๋น๋ ๊ณ์ฐ
โ
โโ ์ฌ์ฉ์ ๋ณธ์ธ์ ์ฑํ
๊ธฐ๋ก ๋ถ์
โโ ์ค๋ณต ์ฅ์์ ๊ฐ์ค์น ๋ถ์ฌ (์ ์ 2๋ฐฐ)
โ
โโ ์ต์ข
์ฅ์ ์ ์ ๊ณ์ฐ ๋ฐ ์ ๋ ฌ
โ
โโ ์ถ์ฒ ์ฅ์ ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"]
๐ฉ 5๋จ๊ณ: ์ต์ข ์๋ต ์ ์ก
- ์ต์ข ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ง๋ฌธํ ๋ฉ์์ง์ ์ฑ๋ด์ ์๋ต, ๊ทธ๋ฆฌ๊ณ ์ถ์ฒ๋ ์ฅ์ ๋ชฉ๋ก์ ์ฌ์ฉ์์๊ฒ ๋๋ ค์ค๋๋ค.
์ต์ข
์๋ต
โ
โโ ๋ฉ์์ง: "๋ง์ง ์ถ์ฒํด์ค!"
โโ ์ฑ๋ด ์๋ต: "<div class='schedule-item'>๐<strong>๋ง์ง A</strong></div>"
โโ ์ถ์ฒ ์ฅ์: ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"]
โโ ์ธ์
ID (๊ณ ์ ์๋ณ์)
๐ฏ ์ต์ข ํ๋ฆ ์ ์ฒด ์์ฝ (ASCII)
+---------------------------------------------------+
| ์ฌ์ฉ์ ์
๋ ฅ |
| ("๋ง์ง ์ถ์ฒํด์ค!") |
+------------------------+--------------------------+
โ
โผ
+---------------------------------------------------+
| ๋ฉ์ธ ์ฑ๋ด ๋ก์ง (recommendation_service) |
| ์ง๋ฌธ ๋ถ์ ํ HTML ํ์ ์๋ต ์์ฑ |
| ("<div class='schedule-item'>๐<strong>๋ง์ง A</strong></div>") |
+------------------------+--------------------------+
โ
โผ
+---------------------------------------------------+
| recommendations.py (์ฅ์ ์ถ์ถ) |
| HTML์์ ์ฅ์ ์ด๋ฆ ์ถ์ถ ("๋ง์ง A") |
+------------------------+--------------------------+
โ
โผ
+---------------------------------------------------+
| recommendations.py (์ถ์ฒ ์ฅ์ ์์ฑ) |
| ์ ์ฌ ์ฌ์ฉ์ ์ฐพ๊ธฐ → ์ฑํ
๊ธฐ๋ก ๋ถ์ → ์ฅ์ ์ถ์ฒ ์ฐ์ถ |
| ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"] |
+------------------------+--------------------------+
โ
โผ
+---------------------------------------------------+
| ์ต์ข
์ฑ๋ด ์๋ต ์ ๋ฌ |
| ๋ฉ์์ง + ์๋ต HTML + ์ถ์ฒ ์ฅ์ ๋ชฉ๋ก + ์ธ์
ID |
+---------------------------------------------------+
โ ๊ฒฐ๊ณผ ์์ (์ต์ข JSON ์๋ต)
์ฌ์ฉ์๋ ์๋์ ๊ฐ์ ํํ์ ์๋ต์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
{
"message": "๋ง์ง ์ถ์ฒํด์ค!",
"response": "<div class='schedule-item'>๐<strong>๋ง์ง A</strong></div>",
"recommendations": ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"],
"session_id": "์์ฑ๋-๊ณ ์ -์๋ณ์"
}
๐ ํ ์ค ์์ฝ
์ฌ์ฉ์ ์ ๋ ฅ → ๋ฉ์ธ ๋ก์ง(์ง๋ฌธ ๋ถ์) → ์ฅ์ ์ ๋ณด ์ถ์ถ → ๊ณผ๊ฑฐ ๊ธฐ๋ก ํ์ฉ ๊ฐ์ธํ ์ถ์ฒ → ์ต์ข ์ถ์ฒ ์ฅ์๋ฅผ ํฌํจํ ์๋ต ์์ฑ ๋ฐ ๋ฐํ
์ฑ๋ด ๋ก์ง๊ณผ์ ์ฐ๊ฒฐ
1. ์ ์ฒด ์ฐ๊ฒฐ ๊ฐ์
๋ฉ์ธ ์ฑ๋ด ๋ก์ง๊ณผ์ ์ฐ๊ฒฐ:
- ChatBotView (views.py):
- ์ฌ์ฉ์์ ์ฑํ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด, recommendation_service.py์ get_recommendation ํจ์๋ก ์ฑ๋ด ์๋ต(ํ ์คํธ)๋ฅผ ์์ฑํฉ๋๋ค.
- ๊ทธ ํ, ์๋ต ํ
์คํธ์์ HTML ํ์ฑ ๋ฑ์ ํตํด ์ฅ์ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ recommendations.py์ extract_places_from_response ํจ์์,
์ฌ์ฉ์์ ๊ณผ๊ฑฐ ์ฑํ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ์ถ์ฒ ์ฅ์๋ฅผ ์ฐ์ถํ๋ process_recommendations ํจ์๋ฅผ ํธ์ถํฉ๋๋ค. - ์ต์ข ์ ์ผ๋ก, ์ฑ๋ด ์๋ต๊ณผ ํจ๊ป ์ถ์ฒ๋ ์ฅ์ ๋ชฉ๋ก์ ํด๋ผ์ด์ธํธ์ ๋ฐํํฉ๋๋ค.
- ChatConsumer (consumers.py):
- ์ค์๊ฐ WebSocket ์ฐ๊ฒฐ ์, ๋ฉ์์ง๋ฅผ ๋ฐ์ ๋๋ง๋ค get_chat_based_recommendations(recommendations.py ๋ด) ํจ์๋ฅผ ํธ์ถํ์ฌ
๋น์ทํ ์ทจํฅ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ด ์ข์ํ๋ ์ฅ์๋ฅผ ์ถ์ฒํด์ค๋๋ค.
- ์ค์๊ฐ WebSocket ์ฐ๊ฒฐ ์, ๋ฉ์์ง๋ฅผ ๋ฐ์ ๋๋ง๋ค get_chat_based_recommendations(recommendations.py ๋ด) ํจ์๋ฅผ ํธ์ถํ์ฌ
์ฃผ์ ๋ฐ์ดํฐ ํ๋ฆ:
- ์ ๋ ฅ: ์ฌ์ฉ์ ๋ฉ์์ง, ์ฌ์ฉ์ ํ๊ทธ, ์ฌ์ฉ์์ ์ฑํ ๊ธฐ๋ก
- ์ฒ๋ฆฌ:
- ์ฑ๋ด ์๋ต ์์ฑ (recommendation_service.py): ์ฌ์ฉ์์ ์ง๋ฌธ์ ๋ถ์ํ์ฌ ๋ต๋ณ ๋๋ ์ฅ์/์ผ์ ๊ด๋ จ ๊ฒฐ๊ณผ๋ฅผ ์์ฑ
- ์ถ์ฒ ์ฒ๋ฆฌ (recommendations.py):
- ์ฌ์ฉ์์ ํ๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฌ ์ฌ์ฉ์๋ฅผ ์ฐพ์
- ๊ฐ ์ ์ฌ ์ฌ์ฉ์์ ์ฑํ ๊ธฐ๋ก์์ ์ฅ์ ์ธ๊ธ ๋น๋๋ฅผ ์ง๊ณ
- ํ์ฌ ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ์ธ๊ธํ ์ฅ์์ ๋ํด ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ์ต์ข ์ถ์ฒ ์ ์๋ฅผ ์ฐ์ถ
- ์ถ๋ ฅ: ์ถ์ฒ ์ฅ์ ์ด๋ฆ ๋ฆฌ์คํธ (์: ["์นดํ", "๋ง์ง", "๊ณต์", ...])
2. ์ธ๋ถ ์ฐ๊ฒฐ ๋ฐ ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๊ธฐ (ASCII ๋ค์ด์ด๊ทธ๋จ)
[ ์ฌ์ฉ์ ]
โ
โ (๋ฉ์์ง ์ ์ก)
โผ
[ ChatBotView (views.py) ]
โ
โโโบ (1) ์ฑ๋ด ์๋ต ์์ฑ ํธ์ถ
โ โโโบ get_recommendation() (recommendation_service.py)
โ โ
โ โโโบ ์ฌ์ฉ์ ์ง๋ฌธ, ์์น ๋ฑ ์ ๋ณด ์ด์ฉํ์ฌ ์๋ต ์์ฑ
โ
โโโบ (2) ์๋ต ํ
์คํธ์์ ์ฅ์ ์ถ์ถ
โ โโโบ extract_places_from_response() (recommendations.py)
โ
โโโบ (3) ์ถ์ฒ ์ฒ๋ฆฌ ํธ์ถ
โโโบ process_recommendations() (recommendations.py)
โ
โโโบ get_similar_users() → (์ฌ์ฉ์ ํ๊ทธ ๋น๊ต)
โโโบ extract_places_from_chathistory() (์ ์ฌ ์ฌ์ฉ์ ๋ฐ ๋ณธ์ธ ์ฑํ
๋ถ์)
โโโบ ๊ฐ์ค์น ์ ์ฉ ํ ์์ ์ถ์ฒ ์ฅ์ ์ ํ
โ
โผ
[ ์ต์ข
์๋ต ]
โโโบ { "message": ์๋ณธ ๋ฉ์์ง,
"response": ์ฑ๋ด ์๋ต,
"recommendations": ์ถ์ฒ ์ฅ์ ๋ชฉ๋ก,
"session_id": ... }
์ค๋ช :
- ๋ฉ์์ง ์ ๋ ฅ: ์ฌ์ฉ์๊ฐ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ChatBotView๊ฐ ์ด๋ฅผ ๋ฐ์ต๋๋ค.
- ์ฑ๋ด ์๋ต ์์ฑ: get_recommendation ํจ์๊ฐ ์ฌ์ฉ์์ ์ง๋ฌธ๊ณผ ์์น ๋ฑ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ต๋ณ(์: HTML ํ์)์ ์์ฑํฉ๋๋ค.
- ์ฅ์ ์ถ์ถ: ์์ฑ๋ ์๋ต ํ ์คํธ์์ extract_places_from_response ํจ์๊ฐ HTML ํ์ฑ์ ํตํด ์ฅ์๋ช ์ ์ถ์ถํฉ๋๋ค.
- ์ถ์ฒ ์ฒ๋ฆฌ:
- process_recommendations ํจ์๊ฐ ์ฌ์ฉ์์ ๊ณผ๊ฑฐ ์ฑํ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํฉ๋๋ค.
- ๋ด๋ถ์์๋ get_similar_users ํจ์๋ก ์ ์ฌ ์ฌ์ฉ์๋ฅผ ์ฐพ๊ณ , ๊ฐ ์ฌ์ฉ์์ ์ฑํ
๋ด์์ extract_places_from_chathistory๋ก ์ฅ์ ์ธ๊ธ ๋น๋๋ฅผ ์ง๊ณํ ํ,
ํ์ฌ ์ฌ์ฉ์๊ฐ ์ธ๊ธํ ์ฅ์์์ ์ค๋ณต ์ฌ๋ถ์ ๋ฐ๋ผ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ์ต์ข ์ถ์ฒ ๋ชฉ๋ก์ ๋ง๋ญ๋๋ค.
- ์ต์ข ์๋ต ์ ์ก: ์ฑ๋ด ์๋ต๊ณผ ์ถ์ฒ ๊ฒฐ๊ณผ๊ฐ ํด๋ผ์ด์ธํธ๋ก ๋ฐํ๋ฉ๋๋ค.
3. recommendations.py ๋ด๋ถ ์คํ ๊ณผ์ (๋ด๋ถ ํ๋ก์ธ์ค ๋ค์ด์ด๊ทธ๋จ)
[ get_chat_based_recommendations(user_id) ]
โ
โผ
[ ์
๋ ฅ ๊ฒ์ฆ: ์ฌ๋ฐ๋ฅธ user_id? ]
โ
โผ
[ get_similar_users(user_id) ํธ์ถ ]
โ
โผ
[ ์ ์ฌ ์ฌ์ฉ์ ID ๋ฆฌ์คํธ ๋ฐํ ]
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ For each ์ ์ฌ ์ฌ์ฉ์ (sim_uid) โ
โ โโโบ extract_places_from_chathistory(sim_uid)
โ โโโบ ์ฑํ
๋ด์์ ์ฅ์ ์ถ์ถ ๋ฐ ๋น๋ ์ง๊ณ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
[ ๋ชจ๋ ์ ์ฌ ์ฌ์ฉ์๋ค์ ์ฅ์ ๋น๋ ํฉ์ฐ ]
โ
โผ
[ ๋ด ์ฑํ
๊ธฐ๋ก ๋ถ์: extract_places_from_chathistory(user_id) ]
โ
โผ
[ ๊ฐ์ค์น ์ ์ฉ: ์ค๋ณต ์ฅ์๋ ์ ์ 2๋ฐฐ ]
โ
โผ
[ ์ ๋ ฌ ๋ฐ ์์ N๊ฐ ์ฅ์ ์ ํ ]
โ
โผ
[ ์ถ์ฒ ์ฅ์ ๋ฆฌ์คํธ ๋ฐํ ]
์ธ๋ถ ์ค๋ช :
- ์ ์ฌ ์ฌ์ฉ์ ํ์:
- get_similar_users ํจ์๋ ์ฌ์ฉ์์ ํ๊ทธ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ํ๊ทธ๋ฅผ ๋น๊ต(์์นด๋ ์ ์ฌ๋)ํ์ฌ ์ ์ฌํ ์ฌ์ฉ์ ID๋ค์ ๋ฐํํฉ๋๋ค.
- ์ฑํ
๊ธฐ๋ก ๋ถ์:
- ๊ฐ ์ ์ฌ ์ฌ์ฉ์์ ์ฑํ ๊ธฐ๋ก์์ extract_places_from_chathistory ํจ์๋ฅผ ํตํด HTML ๋๋ ํ ์คํธ์์ ์ฅ์๋ช ์ ์ถ์ถํ๊ณ ๋น๋๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ๊ฐ์ค์น ๋ฐ ์ ๋ ฌ:
- ํ์ฌ ์ฌ์ฉ์ ์์ ์ด ์ธ๊ธํ ์ฅ์๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ์ฅ์์ ๋ํด ๊ฐ์ค์น(2๋ฐฐ)๋ฅผ ์ ์ฉํ ํ, ์ ์ฒด ์ ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ์ฌ ์์ N๊ฐ์ ์ฅ์๋ฅผ ์ถ์ฒํฉ๋๋ค.
4. ์ฝ๋ ์คํ ๊ณผ์ ๋ฐ ๊ฒฐ๊ณผ ์์
์คํ ๊ณผ์ ์์:
- ์ฌ์ฉ์ ์
๋ ฅ:
- ์ฌ์ฉ์๊ฐ "์ค๋ ๊ทผ์ฒ์ ๋ง์ง ์ถ์ฒํด์ค"๋ผ๋ ๋ฉ์์ง๋ฅผ ์ ์กํฉ๋๋ค.
- ์ฑ๋ด ์๋ต ์์ฑ:
- get_recommendation ํจ์๊ฐ ํธ์ถ๋์ด ์ง๋ฌธ ์ ํ์ ๋ถ์ํ ํ(์: "place" ๋๋ "scheduling" ๊ด๋ จ)
์ฅ์ ๊ฒ์ ๋ฐ ์ผ์ ๋น๋ฉ ๊ณผ์ ์ ๊ฑฐ์ณ HTML ํ์์ ์๋ต(์: <div class="schedule-item">๐ <strong>๋ง์ง A</strong></div> ...)์ ์์ฑํฉ๋๋ค.
- get_recommendation ํจ์๊ฐ ํธ์ถ๋์ด ์ง๋ฌธ ์ ํ์ ๋ถ์ํ ํ(์: "place" ๋๋ "scheduling" ๊ด๋ จ)
- ์ฅ์ ์ถ์ถ ๋ฐ ์ถ์ฒ ์ฒ๋ฆฌ:
- extract_places_from_response ํจ์๊ฐ ์๋ต HTML์์ "๋ง์ง A" ๋ฑ์ ์ฅ์๋ช ์ ์ถ์ถํฉ๋๋ค.
- ๋์์ process_recommendations ํจ์๊ฐ ์ฌ์ฉ์์ ์ด์ ์ฑํ
๊ธฐ๋ก์ ๋ถ์ํ์ฌ,
๋น์ทํ ํ๊ทธ๋ฅผ ๊ฐ์ง ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ์ฑํ ๊ธฐ๋ก์์ ์ธ๊ธ๋ ์ฅ์ ๋น๋์ ํ์ฌ ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ์ธ๊ธํ ์ฅ์๋ฅผ ๋ฐ์ํด ์ถ์ฒ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ถํฉ๋๋ค. - ์๋ฅผ ๋ค์ด, ์ต์ข ์ถ์ฒ ๊ฒฐ๊ณผ๊ฐ ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"]์ ๊ฐ์ด ๋์ถ๋ ์ ์์ต๋๋ค.
- ์ต์ข
์๋ต:
- ChatBotView๋ ์๋์ ๊ฐ์ด ์ต์ข ์๋ต JSON์ ์์ฑํ์ฌ ํด๋ผ์ด์ธํธ์ ๋ฐํํฉ๋๋ค.
{
"message": "์ค๋ ๊ทผ์ฒ์ ๋ง์ง ์ถ์ฒํด์ค",
"response": "<div class=\"schedule-item\">๐ <strong>๋ง์ง A</strong></div> ...",
"recommendations": ["๋ง์ง A", "์นดํ B", "๋ ์คํ ๋ C"],
"session_id": "์์ฑ๋-UUID-๊ฐ"
}
๊ฒฐ๊ณผ ์์ฝ:
- ์ฌ์ฉ์ ๋ฉ์์ง → ์ฑ๋ด ์๋ต(HTML) ๋ฐ ์ถ์ฒ ์ฅ์ ๋ชฉ๋ก ์์ฑ
- ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฌ ์ฌ์ฉ์ ์ฑํ ๋ฐ์ดํฐ์ ํ์ฌ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ธ๊ธ๋(๋๋ ๊ฐ์ค์น๊ฐ ์ ์ฉ๋) ์ฅ์๋ฅผ ์ ํ
- ์ต์ข ์ ์ผ๋ก, ์ฌ์ฉ์์๊ฒ ์๋ต ๋ฉ์์ง์ ํจ๊ป ์ถ์ฒ ์ฅ์ ๋ชฉ๋ก์ด ์ ๋ฌ๋ฉ๋๋ค.
์ด์ ๊ฐ์ด, recommendations.py๋ ์ฑ๋ด ๋ฉ์ธ ๋ก์ง(views.py, recommendation_service.py, consumers.py)๊ณผ ๋ฐ์ ํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉฐ,
์ฌ์ฉ์ ์ง๋ฌธ์ ๋ฐ๋ฅธ ๋ต๋ณ ์์ฑ ์ธ์ ๊ณผ๊ฑฐ ๋ํ ๊ธฐ๋ก์ ๊ธฐ๋ฐ์ผ๋ก ์ถ๊ฐ์ ์ธ ์ฅ์ ์ถ์ฒ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ,
์ต์ข
์ ์ผ๋ก ํด๋ผ์ด์ธํธ์ “์ฑํ
์๋ต + ์ถ์ฒ ์ฅ์ ๋ฆฌ์คํธ”์ ํํ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌํ๊ฒ ๋ฉ๋๋ค.
'Sabujak ๐ฉ๐ปโ๐ป > ๊ฐ๋ฐ ์ผ์ง ๐คฏ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
. (0) | 2025.07.23 |
---|---|
[250512] ์ธํด ์ผ์ง - 1 (0) | 2025.05.12 |
[250327] ๊ฐ๋ฐ ์ผ์ง (0) | 2025.04.02 |
[250326] ๊ฐ๋ฐ ์ผ์ง (0) | 2025.03.26 |
[250325] ๊ฐ๋ฐ ์ผ์ง (0) | 2025.03.26 |