//! OpenAI-compatible endpoints (ollama, vllm, openrouter, groq, llama.cpp, ...).
//!
//! These speak the exact Chat Completions wire format, so this is a thin constructor over
//! [`OpenAiChat`] with the base URL set and capabilities relaxed (local models often lack image
//! support). No duplicated streaming/rendering logic — DRY over the reference adapter.
use crateCaps;
use crateOpenAiChat;
/// Build a provider for an OpenAI-compatible server. `api_key` may be any non-empty string for
/// servers that don't authenticate.