| from pathlib import Path | |
| KNOWLEDGE_ROOT = Path(__file__).parent.parent / "knowledge" | |
| EMBEDDER_MODEL = "all-MiniLM-L6-v2" | |
| DOMAIN_CLIENTS: dict[str, list[str]] = { | |
| "retail": ["novamart", "shelfwise"], | |
| "pharma": ["clinixone", "pharmalink"], | |
| } | |
| CLIENT_DOMAIN: dict[str, str] = { | |
| client: domain | |
| for domain, clients in DOMAIN_CLIENTS.items() | |
| for client in clients | |
| } | |
| DISPLAY_NAMES: dict[str, str] = { | |
| "novamart": "NovaMart", | |
| "shelfwise": "ShelfWise", | |
| "clinixone": "ClinixOne", | |
| "pharmalink": "PharmaLink", | |
| } | |
| def term_catalog_path(domain: str) -> Path: | |
| return KNOWLEDGE_ROOT / domain / "term-catalog.yaml" | |
| def features_path(domain: str) -> Path: | |
| return KNOWLEDGE_ROOT / domain / "features.yaml" | |
| def domain_for(client: str) -> str: | |
| if client not in CLIENT_DOMAIN: | |
| raise ValueError(f"Unknown client: {client!r}. Valid: {list(CLIENT_DOMAIN)}") | |
| return CLIENT_DOMAIN[client] | |