Commit ·
037dcce
1
Parent(s): 05dd16e
error handling
Browse files
app/src/engine/core/reasoning_router.py
CHANGED
|
@@ -93,7 +93,7 @@ link: {pl.get("link", "") or pl.get("site", "")}"""
|
|
| 93 |
# Retrieve similar problems/solutions
|
| 94 |
points = retrieve_topk(
|
| 95 |
problem_text=extracted.get('core_problem', 'Problem not clearly specified'),
|
| 96 |
-
|
| 97 |
)
|
| 98 |
|
| 99 |
context = make_context_cards(points)
|
|
|
|
| 93 |
# Retrieve similar problems/solutions
|
| 94 |
points = retrieve_topk(
|
| 95 |
problem_text=extracted.get('core_problem', 'Problem not clearly specified'),
|
| 96 |
+
sectors=domain
|
| 97 |
)
|
| 98 |
|
| 99 |
context = make_context_cards(points)
|
app/src/engine/rag/retriver.py
CHANGED
|
@@ -75,20 +75,20 @@ qdrant_client= QdrantClient(url=os.getenv("QDRANT_URL"), api_key=os.getenv("QDRA
|
|
| 75 |
def retrieve_topk(
|
| 76 |
problem_text: str,
|
| 77 |
k: int = 5,
|
| 78 |
-
|
| 79 |
topN: int = 150,
|
| 80 |
debug: bool = True
|
| 81 |
):
|
| 82 |
logger.info(f"Getting The top 5 Startups")
|
| 83 |
problem_en = translate_to_english(problem_text)
|
| 84 |
logger.debug(f"Translated: {problem_en}")
|
| 85 |
-
ce_query = f"{
|
| 86 |
|
| 87 |
dense_vec = embedding_provider.encode(problem_en)
|
| 88 |
sparse_vec = sparse_provider.encode(problem_en)
|
| 89 |
|
| 90 |
# Soft sector filter (SHOULD = boost, not hard exclusion)
|
| 91 |
-
startup_sectors = get_startup_sectors_for_problem(
|
| 92 |
soft_filter = None
|
| 93 |
if startup_sectors:
|
| 94 |
soft_filter = models.Filter(
|
|
@@ -98,10 +98,10 @@ def retrieve_topk(
|
|
| 98 |
)]
|
| 99 |
)
|
| 100 |
if debug:
|
| 101 |
-
logger.debug(f"'{
|
| 102 |
else:
|
| 103 |
if debug:
|
| 104 |
-
logger.warning(f"No mapping for '{
|
| 105 |
|
| 106 |
def run_query(use_filter):
|
| 107 |
return qdrant_client.query_points(
|
|
|
|
| 75 |
def retrieve_topk(
|
| 76 |
problem_text: str,
|
| 77 |
k: int = 5,
|
| 78 |
+
sectors: list[str] | None = None,
|
| 79 |
topN: int = 150,
|
| 80 |
debug: bool = True
|
| 81 |
):
|
| 82 |
logger.info(f"Getting The top 5 Startups")
|
| 83 |
problem_en = translate_to_english(problem_text)
|
| 84 |
logger.debug(f"Translated: {problem_en}")
|
| 85 |
+
ce_query = f"{sectors[0]}: {problem_en}" if sectors else problem_en
|
| 86 |
|
| 87 |
dense_vec = embedding_provider.encode(problem_en)
|
| 88 |
sparse_vec = sparse_provider.encode(problem_en)
|
| 89 |
|
| 90 |
# Soft sector filter (SHOULD = boost, not hard exclusion)
|
| 91 |
+
startup_sectors = get_startup_sectors_for_problem(sectors[0]) if sectors else []
|
| 92 |
soft_filter = None
|
| 93 |
if startup_sectors:
|
| 94 |
soft_filter = models.Filter(
|
|
|
|
| 98 |
)]
|
| 99 |
)
|
| 100 |
if debug:
|
| 101 |
+
logger.debug(f"'{sectors}' → {len(startup_sectors)} startup sectors boosted")
|
| 102 |
else:
|
| 103 |
if debug:
|
| 104 |
+
logger.warning(f"No mapping for '{sectors}' — searching without sector boost")
|
| 105 |
|
| 106 |
def run_query(use_filter):
|
| 107 |
return qdrant_client.query_points(
|