apiVersion: v1 kind: ConfigMap metadata: name: vector-api-config data: # πŸ”§ κΈ°μ‘΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„€μ • (μœ μ§€) APP_TITLE: "μŒμ‹μ  Vector DB ꡬ좕 μ„œλΉ„μŠ€" APP_VERSION: "1.0.0" APP_DESCRIPTION: "μ†Œμƒκ³΅μΈμ„ μœ„ν•œ AI 기반 κ²½μŸμ—…μ²΄ 뢄석 및 μ•‘μ…˜ μΆ”μ²œ μ‹œμŠ€ν…œ" # πŸ”§ κΈ°μ‘΄ μ„œλ²„ μ„€μ • (μœ μ§€) HOST: "0.0.0.0" PORT: "8000" LOG_LEVEL: "debug" # 디버깅을 μœ„ν•΄ debug둜 λ³€κ²½ # πŸ”§ κΈ°μ‘΄ Restaurant API μ„€μ • (K8s ν™˜κ²½, μœ μ§€) RESTAURANT_API_HOST: "restaurant-api-service" RESTAURANT_API_PORT: "80" # πŸ”§ κΈ°μ‘΄ Review API μ„€μ • (K8s ν™˜κ²½, μœ μ§€) REVIEW_API_HOST: "kakao-review-api-service" REVIEW_API_PORT: "80" # πŸ”§ κΈ°μ‘΄ Claude API μ„€μ • (μœ μ§€) CLAUDE_MODEL: "claude-sonnet-4-20250514" # πŸ”§ κΈ°μ‘΄ Vector DB μ„€μ • (μœ μ§€) VECTOR_DB_PATH: "/app/vectordb" VECTOR_DB_COLLECTION: "restaurant_reviews" EMBEDDING_MODEL: "sentence-transformers/all-MiniLM-L6-v2" # πŸ”§ κΈ°μ‘΄ 데이터 μˆ˜μ§‘ μ„€μ • (μœ μ§€) MAX_RESTAURANTS_PER_CATEGORY: "50" MAX_REVIEWS_PER_RESTAURANT: "100" REQUEST_DELAY: "0.1" REQUEST_TIMEOUT: "600" # πŸ†• ChromaDB μ΅œμ‹  버전 ν˜Έν™˜ μ„€μ • μΆ”κ°€ CHROMA_DB_IMPL: "duckdb+parquet" # SQLite λŒ€μ‹  DuckDB μ‚¬μš© ALLOW_RESET: "True" ANONYMIZED_TELEMETRY: "False" # πŸ†• Python μ΅œμ ν™” μ„€μ • PYTHONUNBUFFERED: "1" PYTHONDONTWRITEBYTECODE: "1" # πŸ†• μΊμ‹œ 디렉토리 μ„€μ • HF_HUB_CACHE: "/app/.cache/huggingface" TRANSFORMERS_CACHE: "/app/.cache/transformers" # πŸ†• FastAPI μ„€μ • FASTAPI_ENV: "production" # πŸ†• Uvicorn μ„€μ • UVICORN_HOST: "0.0.0.0" UVICORN_PORT: "8000" UVICORN_LOG_LEVEL: "debug" UVICORN_ACCESS_LOG: "true" # πŸ†• νƒ€μž„μ•„μ›ƒ μ„€μ • STARTUP_TIMEOUT: "300" # 5λΆ„ SHUTDOWN_TIMEOUT: "30" # 30초