File size: 931 Bytes
6cc3500
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""資料檔的位置解析——讓套件可以在 repo 之外執行(Hugging Face、pip 安裝)。

解析順序:
  1. 環境變數 `TWLAT_HOME`(指向含 `dict/`、`model/` 的目錄)
  2. 套件旁的 `_data/`(wheel 打包或 HF snapshot 會放這裡)
  3. 開發用的 repo 根目錄

模型權重不在此解析範圍:由 `Converter(ckpt=...)` 明確指定,
或由 `twlat.hub.load()` 從 Hugging Face 下載。
"""
from __future__ import annotations

import os
import pathlib

_PKG = pathlib.Path(__file__).resolve().parent
_REPO = _PKG.parents[1]


def data_root() -> pathlib.Path:
    env = os.environ.get("TWLAT_HOME")
    if env:
        return pathlib.Path(env).expanduser()
    bundled = _PKG / "_data"
    if (bundled / "dict").exists():
        return bundled
    return _REPO


def data_file(rel: str) -> pathlib.Path:
    """rel 例:'dict/lattice_lexicon.json'。"""
    return data_root() / rel