# backend/app/multimodal/factory.py — get_stt()/get_vision() (env 주입 + auto 폴백) from ..config import get_settings from .stt import HeuristicSTT, OllamaWhisperSTT, STTProvider from .vision import HeuristicVision, OllamaVisionVision, VisionProvider def get_stt(force: str | None = None) -> STTProvider: mode = force or get_settings().stt_provider # auto|ollama|heuristic if mode == "heuristic": return HeuristicSTT() if mode == "ollama": return OllamaWhisperSTT() p = OllamaWhisperSTT() # auto return p if p.health().get("reachable") else HeuristicSTT() def get_vision(force: str | None = None) -> VisionProvider: mode = force or get_settings().vision_provider if mode == "heuristic": return HeuristicVision() if mode == "ollama": return OllamaVisionVision() p = OllamaVisionVision() return p if p.health().get("reachable") else HeuristicVision()