diff --git a/vector/app/config/settings.py b/vector/app/config/settings.py index 1a07d34..0147111 100644 --- a/vector/app/config/settings.py +++ b/vector/app/config/settings.py @@ -1,6 +1,5 @@ # app/config/settings.py import os -from typing import Optional class Settings: """환경 변수 기반 설정 클래스""" @@ -19,18 +18,10 @@ class Settings: RESTAURANT_API_HOST = os.getenv("RESTAURANT_API_HOST", "0.0.0.0") RESTAURANT_API_PORT = os.getenv("RESTAURANT_API_PORT", "18000") - @property - def RESTAURANT_API_URL(self) -> str: - return f"http://{self.RESTAURANT_API_HOST}:{self.RESTAURANT_API_PORT}" - # Review API 설정 REVIEW_API_HOST = os.getenv("REVIEW_API_HOST", "0.0.0.0") REVIEW_API_PORT = os.getenv("REVIEW_API_PORT", "19000") - @property - def REVIEW_API_URL(self) -> str: - return f"http://{self.REVIEW_API_HOST}:{self.REVIEW_API_PORT}" - # Claude API 설정 CLAUDE_API_KEY = os.getenv("CLAUDE_API_KEY", "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") CLAUDE_MODEL = os.getenv("CLAUDE_MODEL", "claude-sonnet-4-20250514") @@ -77,4 +68,4 @@ class Settings: return f"http://{host}:{port}" # 설정 인스턴스 -settings = Settings() +settings = Settings() \ No newline at end of file diff --git a/vector/app/main.py b/vector/app/main.py index 2562feb..8476d7e 100644 --- a/vector/app/main.py +++ b/vector/app/main.py @@ -17,7 +17,6 @@ def is_kubernetes_env(): if not is_kubernetes_env(): try: sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - from dotenv import load_dotenv load_dotenv() print("✅ 로컬 개발환경: .env 파일 로딩") @@ -31,8 +30,7 @@ from contextlib import asynccontextmanager from datetime import datetime from typing import Optional import asyncio -import fastapi -from fastapi import FastAPI, HTTPException, BackgroundTasks, Depends +from fastapi import FastAPI, HTTPException, Depends from fastapi.responses import HTMLResponse, JSONResponse from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel, Field @@ -43,6 +41,7 @@ from app.models.restaurant_models import RestaurantSearchRequest, ErrorResponse from app.models.vector_models import ( VectorBuildRequest, VectorBuildResponse, ActionRecommendationRequest, ActionRecommendationResponse, + ActionRecommendationSimpleResponse, VectorDBStatusResponse, VectorDBStatus ) from app.services.restaurant_service import RestaurantService @@ -306,80 +305,66 @@ async def root():
{settings.APP_DESCRIPTION}
- -{settings.APP_DESCRIPTION}
+ +POST /find-reviews - 리뷰 검색 및 Vector DB 저장 (본인 가게 우선)
-+ ++++ +🔧 시스템 구성
++
+- Claude Model: {settings.CLAUDE_MODEL}
+- Embedding Model: {settings.EMBEDDING_MODEL}
+- Vector DB Path: {settings.VECTOR_DB_PATH}
+- 환경: {'Kubernetes' if hasattr(settings, 'IS_K8S_ENV') and settings.IS_K8S_ENV else 'Local'}
+📚 API 문서
+ Swagger UI 문서 + ReDoc 문서 + 헬스 체크 + Vector DB 상태 + +🛠️ 사용 방법
+POST /find-reviews - 리뷰 검색 및 Vector DB 저장 (본인 가게 우선)
+{{ "region": "서울특별시 강남구 역삼동", "store_name": "맛있는 한식당" }} -- -POST /build-vector - Vector DB 구축
--{{ - "region": "서울특별시 강남구 역삼동", - "store_name": "맛있는 한식당", - "force_rebuild": false -}} -- -POST /action-recommendation - 액션 추천 요청
-++ +POST /action-recommendation-simple - 간소화된 액션 추천 요청
+{{ "store_id": "12345", "context": "매출이 감소하고 있어서 개선이 필요합니다" }} -+