Represents a provider loaded from a JSON file in the providers config directory.
JSON format
{
"name": "my-ollama",
"adapter": "req_llm",
"req_llm_provider_tag": "openai",
"base_url": "http://localhost:11434/v1",
"api_key": "optional",
"default_model": "qwen3-coder",
"metadata": {}
}Required fields: name, adapter.
Known adapters: "req_llm", "mock".
Summary
Functions
Parse a decoded JSON map into a ProviderSpec.
Types
@type t() :: %ExAthena.ProviderSpec{ adapter: atom(), api_key: String.t() | nil, api_key_env: String.t() | nil, api_key_prompt: boolean(), base_url: String.t() | nil, default_model: String.t() | nil, display_name: String.t() | nil, extra_headers: map(), metadata: map(), model_discovery: map() | nil, module: module(), name: String.t(), req_llm_provider_tag: String.t() | nil }