appQQQ commited on
Commit
d2fcf8f
·
verified ·
1 Parent(s): 84beb12

chore: upload app/core/paths.py

Browse files
Files changed (1) hide show
  1. app/core/paths.py +45 -0
app/core/paths.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Persistent disk path helpers.
2
+
3
+ HF Spaces 免费版 `/data` 是持久卷挂载点 (即使容器重启也保留).
4
+ 在本地 dev 时, 退回到仓库内 `./data/`.
5
+ """
6
+ from __future__ import annotations
7
+
8
+ from pathlib import Path
9
+
10
+ from app.config import settings
11
+
12
+
13
+ def data_dir() -> Path:
14
+ """根数据目录 (确保存在)."""
15
+ p = Path(settings.data_dir).expanduser().resolve()
16
+ p.mkdir(parents=True, exist_ok=True)
17
+ return p
18
+
19
+
20
+ def upload_dir() -> Path:
21
+ """用户上传的原始文件目录."""
22
+ p = data_dir() / "uploads"
23
+ p.mkdir(parents=True, exist_ok=True)
24
+ return p
25
+
26
+
27
+ def sqlite_dir() -> Path:
28
+ """SQLite 文件 (元数据 + LangGraph checkpoint) 目录."""
29
+ p = data_dir() / "sqlite"
30
+ p.mkdir(parents=True, exist_ok=True)
31
+ return p
32
+
33
+
34
+ def chroma_dir() -> Path:
35
+ """ChromaDB 持久化目录."""
36
+ p = data_dir() / "chroma"
37
+ p.mkdir(parents=True, exist_ok=True)
38
+ return p
39
+
40
+
41
+ def hf_cache_dir() -> Path:
42
+ """HuggingFace 模型缓存目录 (避免重复下载)."""
43
+ p = data_dir() / ".cache" / "huggingface"
44
+ p.mkdir(parents=True, exist_ok=True)
45
+ return p