성현 김 commited on
Commit
3f92b8a
·
1 Parent(s): 3ee85bb

Refactor imports: simplify app/__init__.py, ensure app.py imports from .schemas

Browse files
Files changed (3) hide show
  1. app/__init__.py +1 -7
  2. app/app.py +8 -7
  3. app/schemas.py +16 -0
app/__init__.py CHANGED
@@ -1,8 +1,2 @@
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 패키지 레벨에서 바로 접근하게 하고 싶다면 여기에 추가할 수 있습니다.
8
- # from .main import app # 예를 들어 app.py를 main.py라고 가정했을 때 (현재는 app.py이므로 해당 없음)
 
1
  # my_langchain_space/app/__init__.py
2
+ print("--- app/__init__.py is now minimal and has no imports ---")
 
 
 
 
 
 
app/app.py CHANGED
@@ -32,8 +32,9 @@ from langchain.memory import ConversationBufferMemory
32
  import traceback # 상세 오류 로깅용
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 ---") # 필요 시 디버깅
@@ -51,7 +52,7 @@ app = 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()
56
  if env_path:
57
  load_dotenv(env_path)
@@ -500,11 +501,11 @@ async def generate_api_prompt(request: GenerateRequest):
500
  detail=f"요청 처리 중 서버 오류 발생: {e}"
501
  )
502
 
503
- @app.post("/reset_memory", response_model=ResetMemoryResponse, summary="대화 기록 초기화", description="서버의 대화 기록과 위키 검색 기록을 초기화합니다.")
504
- async def reset_api_memory():
505
- global memory, already_searched_wiki # 전역 변수 사용 명시
506
- memory_cleared_count = len(memory.chat_memory.messages)
507
- wiki_cleared_count = len(already_searched_wiki)
508
 
509
  memory.clear()
510
  already_searched_wiki.clear()
 
32
  import traceback # 상세 오류 로깅용
33
 
34
  from fastapi import FastAPI, HTTPException
35
+ from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse # <--- 이 줄이 올바르게 있어야 합니다.
36
  # schemas 모듈을 현재 디렉토리(app 패키지) 기준으로 상대 경로 import 합니다.
37
+ # from .schemas import GenerateRequest, GenerateResponse, ResetMemoryResponse # <--- 이 import 문은 한 번만 있어야 합니다.
38
 
39
  # 5. FastAPI 애플리케이션 인스턴스 생성
40
  # print("--- All imports in app.py successful, attempting FastAPI init ---") # 필요 시 디버깅
 
52
  )
53
  print(f"--- FastAPI instance 'app' IS DEFINED in app.py, type: {type(app)} ---")
54
  # --- Configuration ---
55
+ print("🚀 API 스크립트 시작: 설정 로딩 중...")
56
  env_path = find_dotenv()
57
  if env_path:
58
  load_dotenv(env_path)
 
501
  detail=f"요청 처리 중 서버 오류 발생: {e}"
502
  )
503
 
504
+ # @app.post("/reset_memory", response_model=ResetMemoryResponse, summary="대화 기록 초기화", description="서버의 대화 기록과 위키 검색 기록을 초기화합니다.")
505
+ # async def reset_api_memory():
506
+ # global memory, already_searched_wiki # 전역 변수 사용 명시
507
+ # memory_cleared_count = len(memory.chat_memory.messages)
508
+ # wiki_cleared_count = len(already_searched_wiki)
509
 
510
  memory.clear()
511
  already_searched_wiki.clear()
app/schemas.py CHANGED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # app/schemas.py
2
+ from pydantic import BaseModel, Field
3
+
4
+ class GenerateRequest(BaseModel): # <--- 'GenerateRequest' 정의되어 있음
5
+ user_input: str = Field(..., example="미래 도시 풍경, 하늘을 나는 자동차들, 화려한 네온사인, 다양한 캐릭터들, 영화적인 애니메이션 스타일로 그려줘.")
6
+ # ...
7
+
8
+ class GenerateResponse(BaseModel): # <--- 'GenerateResponse' 정의되어 있음
9
+ generated_prompt: str
10
+ processing_time_seconds: float
11
+ error_message: str | None = None
12
+
13
+ class ResetMemoryResponse(BaseModel): # <--- 'ResetMemoryResponse' 정의되어 있음
14
+ message: str
15
+ cleared_memory: bool
16
+ cleared_wiki_history: bool