Spaces:
Sleeping
Sleeping
Update app/main.py
Browse files- app/main.py +14 -1
app/main.py
CHANGED
|
@@ -166,6 +166,19 @@ def get_recommendations(user: schemas.UserProfile):
|
|
| 166 |
@app.post("/chat/process", response_model=schemas.ChatResponse)
|
| 167 |
async def process_chat(req: schemas.ChatRequest):
|
| 168 |
role_data = skill_manager.get_role_data(req.role)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 169 |
# --- [UPDATE BARU: Ektrak Silabus Lengkap] ---
|
| 170 |
# Kita buat string rapi berisi Skill + Topik-topiknya
|
| 171 |
found_keywords = find_keywords_in_text(req.message)
|
|
@@ -181,7 +194,7 @@ async def process_chat(req: schemas.ChatRequest):
|
|
| 181 |
dataset_status = "NOT_FOUND"
|
| 182 |
|
| 183 |
# 2. Router
|
| 184 |
-
intent = await llm_engine.process_user_intent(req.message,
|
| 185 |
|
| 186 |
action = intent.get('action')
|
| 187 |
# PERUBAHAN 1: Ambil List skills, bukan single skill
|
|
|
|
| 166 |
@app.post("/chat/process", response_model=schemas.ChatResponse)
|
| 167 |
async def process_chat(req: schemas.ChatRequest):
|
| 168 |
role_data = skill_manager.get_role_data(req.role)
|
| 169 |
+
available_skill_names = []
|
| 170 |
+
if role_data:
|
| 171 |
+
available_skill_names = [s['name'] for s in role_data['sub_skills']]
|
| 172 |
+
|
| 173 |
+
# --- [Keyword Search Logic Tetap Ada] ---
|
| 174 |
+
found_keywords = find_keywords_in_text(req.message)
|
| 175 |
+
if found_keywords:
|
| 176 |
+
keyword_context = ", ".join(found_keywords)
|
| 177 |
+
dataset_status = "FOUND"
|
| 178 |
+
else:
|
| 179 |
+
keyword_context = "NONE"
|
| 180 |
+
dataset_status = "NOT_FOUND"
|
| 181 |
+
|
| 182 |
# --- [UPDATE BARU: Ektrak Silabus Lengkap] ---
|
| 183 |
# Kita buat string rapi berisi Skill + Topik-topiknya
|
| 184 |
found_keywords = find_keywords_in_text(req.message)
|
|
|
|
| 194 |
dataset_status = "NOT_FOUND"
|
| 195 |
|
| 196 |
# 2. Router
|
| 197 |
+
intent = await llm_engine.process_user_intent(req.message, available_skill_names)
|
| 198 |
|
| 199 |
action = intent.get('action')
|
| 200 |
# PERUBAHAN 1: Ambil List skills, bukan single skill
|