# Provider Interface Providers live under `apps/api/app/providers`. - `llm/base.py`: reasoning provider for GLM-5.2 or another OpenAI-compatible model. - `vision/base.py`: visual grounding provider for GLM-5V-Turbo or another grounding-capable model. - `ocr/base.py`: OCR provider for GLM-OCR or another structured OCR service. Lenses depend on interfaces, not concrete providers. Test mode uses deterministic fakes and makes no external API calls.