- docker-compose.yml: timescaledb-ha (timescaledb 2.27 + vectorscale + pgvector + pgai) + backend (FastAPI, CUDA 12.1) + web (Next.js 14) - docker-compose.gpu.yml: GPU profile overlay for RTX 3070 Ti - build.bat: Windows bootstrap, auto-detects nvidia-smi and selects GPU/CPU compose - backend: Dockerfile, pyproject.toml, FastAPI skeleton with /health and /health/db - DB migration 001_init.sql: symbols (with trigram search), ohlcv_daily/1m (hypertables), macro_daily, trading_value_daily, news (vector embedding), predictions (with user_triggered flag for on-demand UX), prediction_outcomes, model_performance - web: Next.js 14 + Tailwind + lightweight-charts placeholder - README: KIS/DART/HuggingFace token issuance guides + 10 seed tickers + run instructions
25 lines
711 B
Python
25 lines
711 B
Python
from __future__ import annotations
|
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
|
|
|
|
database_url: str = "postgresql+psycopg://stock:stockpw@db:5432/stock"
|
|
tz: str = "Asia/Seoul"
|
|
log_level: str = "INFO"
|
|
|
|
# 모델 디바이스 선택. 'auto'는 torch.cuda.is_available() 기반
|
|
model_device: str = "auto"
|
|
|
|
# External keys (옵션)
|
|
kis_app_key: str | None = None
|
|
kis_app_secret: str | None = None
|
|
kis_account_no: str | None = None
|
|
dart_api_key: str | None = None
|
|
huggingface_token: str | None = None
|
|
|
|
|
|
settings = Settings()
|