Spaces:
Sleeping
Sleeping
Upload config.py
Browse files- metadata_search/config.py +41 -11
metadata_search/config.py
CHANGED
|
@@ -5,28 +5,58 @@ from pathlib import Path
|
|
| 5 |
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
|
| 8 |
-
#
|
| 9 |
load_dotenv(override=False)
|
| 10 |
|
| 11 |
PACKAGE_DIR = Path(__file__).resolve().parent
|
| 12 |
PROJECT_ROOT = PACKAGE_DIR.parent
|
| 13 |
DEFAULT_CSV = PACKAGE_DIR / "data" / "papers.csv"
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
METADATA_QDRANT_PATH = Path(
|
| 18 |
-
os.getenv("METADATA_QDRANT_PATH", str(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
)
|
| 20 |
-
METADATA_QDRANT_COLLECTION = os.getenv("METADATA_QDRANT_COLLECTION", "papers_metadata")
|
| 21 |
METADATA_QDRANT_MANIFEST = Path(
|
| 22 |
-
os.getenv(
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
)
|
| 26 |
)
|
| 27 |
-
METADATA_SEARCH_PORT = int(os.getenv("PORT", os.getenv("METADATA_SEARCH_PORT", "7860")))
|
| 28 |
PAPER_FIGURES_DIR = Path(
|
| 29 |
-
os.getenv(
|
|
|
|
|
|
|
|
|
|
| 30 |
)
|
| 31 |
|
| 32 |
TITLE_COL = os.getenv("METADATA_TITLE_COL", "TI")
|
|
|
|
| 5 |
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
|
| 8 |
+
# Explicit runtime environment variables take precedence over .env.
|
| 9 |
load_dotenv(override=False)
|
| 10 |
|
| 11 |
PACKAGE_DIR = Path(__file__).resolve().parent
|
| 12 |
PROJECT_ROOT = PACKAGE_DIR.parent
|
| 13 |
DEFAULT_CSV = PACKAGE_DIR / "data" / "papers.csv"
|
| 14 |
|
| 15 |
+
# In the HF Search Space, metadata_search.config can be imported before
|
| 16 |
+
# metadata_search.app executes its Dataset bootstrap (because Python imports the
|
| 17 |
+
# package before running `python -m metadata_search.app`). Therefore the cloud
|
| 18 |
+
# paths must be resolvable here, not only later inside app.py.
|
| 19 |
+
USE_DATASET_BOOTSTRAP = os.getenv("WATERSCOPE_DATA_BOOTSTRAP", "1").lower() in {
|
| 20 |
+
"1",
|
| 21 |
+
"true",
|
| 22 |
+
"yes",
|
| 23 |
+
}
|
| 24 |
+
DATA_ROOT = Path(
|
| 25 |
+
os.getenv("WATERSCOPE_DATA_ROOT", "/tmp/waterscope-data")
|
| 26 |
+
).resolve()
|
| 27 |
+
|
| 28 |
+
if USE_DATASET_BOOTSTRAP:
|
| 29 |
+
default_paper_csv = DATA_ROOT / "metadata" / "papers.csv"
|
| 30 |
+
default_qdrant_path = DATA_ROOT / "metadata_search_data" / "qdrant"
|
| 31 |
+
default_qdrant_manifest = DATA_ROOT / "metadata_search_data" / "qdrant_manifest.json"
|
| 32 |
+
else:
|
| 33 |
+
default_paper_csv = DEFAULT_CSV
|
| 34 |
+
default_qdrant_path = PROJECT_ROOT / "metadata_search_data" / "qdrant"
|
| 35 |
+
default_qdrant_manifest = PROJECT_ROOT / "metadata_search_data" / "qdrant_manifest.json"
|
| 36 |
+
|
| 37 |
+
PAPER_CSV = Path(os.getenv("PAPER_CSV", str(default_paper_csv)))
|
| 38 |
+
EMBEDDING_MODEL = os.getenv(
|
| 39 |
+
"METADATA_EMBEDDING_MODEL",
|
| 40 |
+
"sentence-transformers/all-MiniLM-L6-v2",
|
| 41 |
+
)
|
| 42 |
METADATA_QDRANT_PATH = Path(
|
| 43 |
+
os.getenv("METADATA_QDRANT_PATH", str(default_qdrant_path))
|
| 44 |
+
)
|
| 45 |
+
METADATA_QDRANT_COLLECTION = os.getenv(
|
| 46 |
+
"METADATA_QDRANT_COLLECTION",
|
| 47 |
+
"papers_metadata",
|
| 48 |
)
|
|
|
|
| 49 |
METADATA_QDRANT_MANIFEST = Path(
|
| 50 |
+
os.getenv("METADATA_QDRANT_MANIFEST", str(default_qdrant_manifest))
|
| 51 |
+
)
|
| 52 |
+
METADATA_SEARCH_PORT = int(
|
| 53 |
+
os.getenv("PORT", os.getenv("METADATA_SEARCH_PORT", "7860"))
|
| 54 |
)
|
|
|
|
| 55 |
PAPER_FIGURES_DIR = Path(
|
| 56 |
+
os.getenv(
|
| 57 |
+
"PAPER_FIGURES_DIR",
|
| 58 |
+
str(PROJECT_ROOT / "results_metadata (2025-2026)"),
|
| 59 |
+
)
|
| 60 |
)
|
| 61 |
|
| 62 |
TITLE_COL = os.getenv("METADATA_TITLE_COL", "TI")
|