"""アプリケーション設定""" import os from dataclasses import dataclass from dotenv import load_dotenv load_dotenv() @dataclass class Settings: """アプリケーション設定クラス""" # Gemini API gemini_api_key: str = os.environ.get("GEMINI_API_KEY", "") gemini_model: str = "gemini-2.0-flash" gemini_rpm_limit: int = 10 # requests per minute # OCR設定 ocr_interval_sec: float = 1.0 # OCR実行間隔(秒) ocr_lang: str = "japan" # PaddleOCR言語設定 # VLM設定 vlm_interval_sec: float = 5.0 # VLM実行間隔(秒) # 画像処理設定 frame_width: int = 640 frame_height: int = 480 jpeg_quality: int = 85 # 位置照合設定 search_radius_m: int = 500 # 検索半径(メートル) overpass_timeout: int = 25 # Overpass APIタイムアウト(秒) cache_ttl_sec: int = 300 # キャッシュ有効期限(秒) # 結果統合設定 history_buffer_size: int = 10 # 履歴バッファサイズ confidence_threshold: float = 0.6 # 信頼度閾値 def validate(self) -> bool: """設定の検証""" if not self.gemini_api_key: print("Warning: GEMINI_API_KEY is not set") return False return True settings = Settings()