Abstract base for all LLM providers. Implementations should be cheap to construct (configuration only); any HTTP client setup happens lazily on the first call. This keeps the Streamlit UI responsive when the user is just browsing settings.
source not stored for this graph (policy: none)
nothing calls this directly
no outgoing calls
no test coverage detected