Spaces:
Sleeping
Sleeping
성현 김
commited on
Commit
·
3f92b8a
1
Parent(s):
3ee85bb
Refactor imports: simplify app/__init__.py, ensure app.py imports from .schemas
Browse files- app/__init__.py +1 -7
- app/app.py +8 -7
- 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 |
-
|
506 |
-
|
507 |
-
|
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
|