Behavior for model adapters.
@callback create_completion(request :: map(), config :: map()) :: {:ok, map()} | {:error, term()}
@callback create_stream(request :: map(), config :: map()) :: Enumerable.t()