Spaces:
Sleeping
Sleeping
성현 김
commited on
Commit
·
3ee85bb
1
Parent(s):
b8b0564
Refactor app.py structure and imports for clarity and to fix ImportError
Browse files- app/__init__.py +1 -1
- app/app.py +15 -8
app/__init__.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
# my_langchain_space/app/__init__.py
|
2 |
|
3 |
# my_langchain_space/app/__init__.py
|
4 |
-
print("--- app/__init__.py
|
5 |
|
6 |
from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse
|
7 |
# 만약 다른 모듈들도 app 패키지 레벨에서 바로 접근하게 하고 싶다면 여기에 추가할 수 있습니다.
|
|
|
1 |
# my_langchain_space/app/__init__.py
|
2 |
|
3 |
# my_langchain_space/app/__init__.py
|
4 |
+
print("--- app/__init__.py executed (should be nearly empty now) ---")
|
5 |
|
6 |
from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse
|
7 |
# 만약 다른 모듈들도 app 패키지 레벨에서 바로 접근하게 하고 싶다면 여기에 추가할 수 있습니다.
|
app/app.py
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
# app/app.py
|
2 |
|
3 |
-
# 1. sqlite3 패치 코드를 가장 먼저 실행
|
4 |
__import__('pysqlite3')
|
5 |
import sys
|
6 |
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
|
7 |
|
8 |
-
# 2.
|
9 |
-
print("<<<<< app
|
10 |
|
11 |
-
# 3. 기본 인코딩 설정 (
|
12 |
-
# -*- coding: utf-8 -*-
|
13 |
|
14 |
-
# 4. 필요한 모듈들 import
|
15 |
import os
|
16 |
import time
|
17 |
import torch
|
@@ -33,16 +33,23 @@ import traceback # 상세 오류 로깅용
|
|
33 |
|
34 |
from fastapi import FastAPI, HTTPException
|
35 |
# schemas 모듈을 현재 디렉토리(app 패키지) 기준으로 상대 경로 import 합니다.
|
36 |
-
from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse # <--- 이
|
37 |
|
38 |
# 5. FastAPI 애플리케이션 인스턴스 생성
|
39 |
-
# print("--- All imports in app.py successful, attempting FastAPI init ---") #
|
40 |
app = FastAPI(
|
41 |
title="미드저니 프롬프트 생성기 API",
|
42 |
description="사용자 입력, 대화 기록, 검색된 컨텍스트를 기반으로 미드저니 프롬프트를 생성합니다.",
|
43 |
version="1.0.0"
|
44 |
)
|
|
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
# --- Configuration ---
|
47 |
print("🚀 API 스크립트 시작: 설정 로딩 중...")
|
48 |
env_path = find_dotenv()
|
|
|
1 |
# app/app.py
|
2 |
|
3 |
+
# 1. sqlite3 패치 코드를 가장 먼저 실행
|
4 |
__import__('pysqlite3')
|
5 |
import sys
|
6 |
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
|
7 |
|
8 |
+
# 2. 로딩 확인 및 디버깅용 print 문 (하나로 통일)
|
9 |
+
print("<<<<< app/app.py IS BEING LOADED (sqlite3 patched with pysqlite3) >>>>>")
|
10 |
|
11 |
+
# 3. 기본 인코딩 설정 (보통 파일 첫 줄에 두지만, 위 print문들 다음에 와도 괜찮습니다)
|
12 |
+
# -*- coding: utf-8 -*-
|
13 |
|
14 |
+
# 4. 필요한 모든 모듈들 import
|
15 |
import os
|
16 |
import time
|
17 |
import torch
|
|
|
33 |
|
34 |
from fastapi import FastAPI, HTTPException
|
35 |
# schemas 모듈을 현재 디렉토리(app 패키지) 기준으로 상대 경로 import 합니다.
|
36 |
+
from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse # <--- 이 import 문은 한 번만 있어야 합니다.
|
37 |
|
38 |
# 5. FastAPI 애플리케이션 인스턴스 생성
|
39 |
+
# print("--- All imports in app.py successful, attempting FastAPI init ---") # 필요 시 디버깅
|
40 |
app = FastAPI(
|
41 |
title="미드저니 프롬프트 생성기 API",
|
42 |
description="사용자 입력, 대화 기록, 검색된 컨텍스트를 기반으로 미드저니 프롬프트를 생성합니다.",
|
43 |
version="1.0.0"
|
44 |
)
|
45 |
+
# print(f"--- FastAPI instance 'app' IS DEFINED in app.py, type: {type(app)} ---") # 필요 시 디버깅
|
46 |
|
47 |
+
# --- Configuration (FastAPI 객체 생성 후, @app.on_event("startup") 이전 또는 내부로 이동 가능) ---
|
48 |
+
# 이 print문들은 애플리케이션 로직의 일부이므로, FastAPI 객체 생성 이후에 위치하는 것이 자연스럽습니다.
|
49 |
+
# 또는 @app.on_event("startup") 함수 내부로 옮겨서 애플리케이션 시작 시점에 실행되도록 할 수도 있습니다.
|
50 |
+
# 지금은 순서상 큰 문제는 없어 보이지만, 명확성을 위해 FastAPI 객체 생성 이후에 두겠습니다.
|
51 |
+
)
|
52 |
+
print(f"--- FastAPI instance 'app' IS DEFINED in app.py, type: {type(app)} ---")
|
53 |
# --- Configuration ---
|
54 |
print("🚀 API 스크립트 시작: 설정 로딩 중...")
|
55 |
env_path = find_dotenv()
|