Spaces:
Sleeping
Sleeping
app.py Beta 2 (push 3)
Browse files
app.py
CHANGED
@@ -72,6 +72,9 @@ def detect_intent(text: str) -> str:
|
|
72 |
return "unknown"
|
73 |
|
74 |
def search_products_by_keywords(keywords: List[str]) -> List[Dict[str, Any]]:
|
|
|
|
|
|
|
75 |
query = {"$or": [{"name": {"$regex": keyword, "$options": "i"}} for keyword in keywords]}
|
76 |
matched_products = [dict(p, id=str(p["_id"])) for p in products_collection.find(query)]
|
77 |
return matched_products
|
@@ -105,7 +108,6 @@ async def process_prompt(request: PromptRequest):
|
|
105 |
|
106 |
intent = detect_intent(input_text)
|
107 |
keywords = extract_keywords(input_text)
|
108 |
-
ner_response = {"extracted_keywords": keywords}
|
109 |
logger.info(f"Intent: {intent}, Keywords: {keywords}")
|
110 |
|
111 |
products = search_products_by_keywords(keywords)
|
@@ -129,7 +131,7 @@ async def process_prompt(request: PromptRequest):
|
|
129 |
}
|
130 |
|
131 |
return {
|
132 |
-
"ner":
|
133 |
"qa": qa_response,
|
134 |
"products_matched": products
|
135 |
}
|
|
|
72 |
return "unknown"
|
73 |
|
74 |
def search_products_by_keywords(keywords: List[str]) -> List[Dict[str, Any]]:
|
75 |
+
if not keywords: # Handle empty keywords
|
76 |
+
logger.info("No keywords provided, returning empty product list.")
|
77 |
+
return []
|
78 |
query = {"$or": [{"name": {"$regex": keyword, "$options": "i"}} for keyword in keywords]}
|
79 |
matched_products = [dict(p, id=str(p["_id"])) for p in products_collection.find(query)]
|
80 |
return matched_products
|
|
|
108 |
|
109 |
intent = detect_intent(input_text)
|
110 |
keywords = extract_keywords(input_text)
|
|
|
111 |
logger.info(f"Intent: {intent}, Keywords: {keywords}")
|
112 |
|
113 |
products = search_products_by_keywords(keywords)
|
|
|
131 |
}
|
132 |
|
133 |
return {
|
134 |
+
"ner": {"extracted_keywords": keywords},
|
135 |
"qa": qa_response,
|
136 |
"products_matched": products
|
137 |
}
|