Behaviour for LLM backend adapters.
Implementations handle communication with specific LLM providers.
Summary
Callbacks
Call the LLM with a list of messages.
Types
@type call_opts() :: [ model: String.t(), temperature: float(), max_tokens: pos_integer() ]