Spaces:
Running
Running
| """Persistent disk path helpers. | |
| HF Spaces 免费版 `/data` 是持久卷挂载点 (即使容器重启也保留). | |
| 在本地 dev 时, 退回到仓库内 `./data/`. | |
| """ | |
| from __future__ import annotations | |
| from pathlib import Path | |
| from app.config import settings | |
| def data_dir() -> Path: | |
| """根数据目录 (确保存在).""" | |
| p = Path(settings.data_dir).expanduser().resolve() | |
| p.mkdir(parents=True, exist_ok=True) | |
| return p | |
| def upload_dir() -> Path: | |
| """用户上传的原始文件目录.""" | |
| p = data_dir() / "uploads" | |
| p.mkdir(parents=True, exist_ok=True) | |
| return p | |
| def sqlite_dir() -> Path: | |
| """SQLite 文件 (元数据 + LangGraph checkpoint) 目录.""" | |
| p = data_dir() / "sqlite" | |
| p.mkdir(parents=True, exist_ok=True) | |
| return p | |
| def chroma_dir() -> Path: | |
| """ChromaDB 持久化目录.""" | |
| p = data_dir() / "chroma" | |
| p.mkdir(parents=True, exist_ok=True) | |
| return p | |
| def hf_cache_dir() -> Path: | |
| """HuggingFace 模型缓存目录 (避免重复下载).""" | |
| p = data_dir() / ".cache" / "huggingface" | |
| p.mkdir(parents=True, exist_ok=True) | |
| return p | |