ForStream commited on
Commit
f5f43a0
·
1 Parent(s): b230dc6

Fix: 경로 셋업을 컨테이너/로컬 둘 다 동작하게 (rag_engine ModuleNotFoundError 해결)

Browse files
Files changed (1) hide show
  1. api/main.py +17 -8
api/main.py CHANGED
@@ -28,21 +28,30 @@ from fastapi.middleware.cors import CORSMiddleware
28
  from fastapi.responses import FileResponse, JSONResponse
29
  from pydantic import BaseModel
30
 
31
- # active/code 디렉토리를 path에 추가 (rag_engine·semantic_search 재사용)
32
  API_DIR = Path(__file__).resolve().parent
33
- HF_APP_DIR = API_DIR.parent
34
- ACTIVE_DIR = HF_APP_DIR.parent
35
- CODE_DIR = ACTIVE_DIR / "code"
 
 
 
36
  sys.path.insert(0, str(CODE_DIR))
37
 
 
 
 
 
 
 
38
  import rag_engine
39
  import semantic_search as ss
40
  import llm_adapters
41
 
42
- # 데이터 경로 (Docker에서COPY로 같이 들어옴)
43
- ONTOLOGY_DIR = ACTIVE_DIR / "ontology"
44
- PAPER_PATH = ACTIVE_DIR / "paper_v5.pdf"
45
- ONT_GRAPH_PNG = ACTIVE_DIR.parent.parent / "온톨로지" / "v08_ontology_graph.png"
46
  TTL_PATH = ONTOLOGY_DIR / "investment_ontology_v1_10.ttl"
47
  JSONL_PATH = ONTOLOGY_DIR / "regulations_chunks_v14.jsonl"
48
  ALIAS_PATH = ONTOLOGY_DIR / "alias_dictionary.json"
 
28
  from fastapi.responses import FileResponse, JSONResponse
29
  from pydantic import BaseModel
30
 
31
+ # 경로 셋업 Docker 컨테이너(/app/api/main.py)와 로컬 개발(active/hf_app/api/main.py) 둘 다 지원
32
  API_DIR = Path(__file__).resolve().parent
33
+ HF_APP_DIR = API_DIR.parent # 컨테이너: /app, 로컬: active/hf_app
34
+
35
+ # code/rag_engine 위치 — 컨테이너는 /app/code, 로컬은 active/code
36
+ _container_code = HF_APP_DIR / "code"
37
+ _local_code = HF_APP_DIR.parent / "code"
38
+ CODE_DIR = _container_code if _container_code.exists() else _local_code
39
  sys.path.insert(0, str(CODE_DIR))
40
 
41
+ # 데이터 위치 — 컨테이너는 /app/active/ontology, 로컬은 active/ontology
42
+ _container_data = HF_APP_DIR / "active" / "ontology"
43
+ _local_data = HF_APP_DIR.parent / "ontology"
44
+ # Dockerfile에서도 data/를 /app/active/ontology로 COPY함 (HF_APP_DIR/active/ontology)
45
+ ONTOLOGY_DIR = _container_data if _container_data.exists() else _local_data
46
+
47
  import rag_engine
48
  import semantic_search as ss
49
  import llm_adapters
50
 
51
+ # 자산 파일 (다운로드 카드용 — assets/LFS 추가 전까지 미존재)
52
+ PAPER_PATH = HF_APP_DIR / "assets" / "paper_v5.pdf"
53
+ ONT_GRAPH_PNG = HF_APP_DIR / "assets" / "v08_ontology_graph.png"
54
+
55
  TTL_PATH = ONTOLOGY_DIR / "investment_ontology_v1_10.ttl"
56
  JSONL_PATH = ONTOLOGY_DIR / "regulations_chunks_v14.jsonl"
57
  ALIAS_PATH = ONTOLOGY_DIR / "alias_dictionary.json"