Spaces:
Running
Running
| """Every filesystem path the backend reads, in one place. | |
| Runtime sidecars live in outputs/runtime/; retrieval weights, indexes, and | |
| vectors live in their own outputs subtrees. Build intermediates live in | |
| outputs/build/ and are never loaded here. Each runtime location keeps an | |
| environment override so deployments repoint data without code changes. No | |
| other backend module may build a sidecar path. | |
| """ | |
| from __future__ import annotations | |
| import os | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[2] | |
| def _env_path(name: str, default: Path) -> Path: | |
| return Path(os.environ.get(name, default)) | |
| CODE_INDEX_DIR = _env_path("ENCODE_CODE_INDEX_DIR", ROOT / "outputs" / "indexes" / "bge_ft_va") | |
| MODEL_DIR = _env_path("ENCODE_MODEL_DIR", ROOT / "outputs" / "models" / "bge_ft_va") | |
| RUNTIME_DIR = _env_path("ENCODE_RUNTIME_DIR", ROOT / "outputs" / "runtime") | |
| PARTA_EMB_DIR = _env_path("ENCODE_PARTA_EMB_DIR", ROOT / "outputs" / "embeddings" / "bge_ft_va") | |
| ANNOT_DIR = _env_path("ENCODE_ANNOT_DIR", ROOT / "outputs" / "annotations") | |
| # Unified mapping files, one per target vocabulary. | |
| MAPPINGS_DIR = RUNTIME_DIR / "mappings" | |
| LAB_LOINC_MAP = MAPPINGS_DIR / "lab_loinc.jsonl" | |
| ICD_PHECODE_MAP = MAPPINGS_DIR / "icd_phecode.jsonl" | |
| CPT_RBCS_MAP = MAPPINGS_DIR / "cpt_rbcs.jsonl" | |
| MED_RXNORM_MAP = MAPPINGS_DIR / "med_rxnorm.jsonl" | |
| # Per-code ICD versions for the diagnosis index rows that pack an ICD-9 and an | |
| # ICD-10 code under one shared description. Written by | |
| # scripts/build_icd_index_versions.py, which resolves them against the VA | |
| # dimension exports in data/ that the backend itself may not read. | |
| ICD_INDEX_VERSIONS = RUNTIME_DIR / "icd_index_versions.json" | |
| # Vocabulary tables, phenotype sidecars, and the sources registry. | |
| LOINC_TERMS = RUNTIME_DIR / "vocab" / "loinc_terms.jsonl" | |
| CANONICAL_PHENOTYPES = RUNTIME_DIR / "canonical_phenotypes.jsonl" | |
| CODE_DESCRIPTIONS = RUNTIME_DIR / "code_descriptions.jsonl" | |
| ALGORITHM_COMPONENTS = RUNTIME_DIR / "algorithm_components.jsonl" | |
| CIPHER_LINKS = RUNTIME_DIR / "cipher_links.jsonl" | |
| PHENOTYPE_FACETS = RUNTIME_DIR / "phenotype_facets.jsonl" | |
| PHENOTYPE_SUMMARIES = RUNTIME_DIR / "phenotype_summaries.jsonl" | |
| RELATED_BUNDLES = RUNTIME_DIR / "related_bundles.jsonl" | |
| SOURCES = RUNTIME_DIR / "sources.json" | |
| # Index sizes and mapping coverage, written by scripts/report_coverage.py. The | |
| # runtime copy is the one a deployment carries; the eval copy is the standing | |
| # report itself and is read only when a local checkout has no runtime copy. | |
| CORPUS_STATS = RUNTIME_DIR / "corpus_stats.json" | |
| # The lab merge-noise vocabulary, mined from the LOINC crosswalk by | |
| # scripts/build_lab_noise_vocab.py with the evidence for every word. The | |
| # frontend's Merge duplicates option reads it; a deployment without the file | |
| # merges on the fixed rules only. | |
| LAB_NOISE_VOCAB = RUNTIME_DIR / "lab_noise_vocab.json" | |
| COVERAGE_REPORT = ROOT / "outputs" / "eval" / "coverage_report.json" | |