% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/vlm-providers.R
\name{default_model}
\alias{default_model}
\title{Default VLM model per provider}
\usage{
default_model(name)
}
\arguments{
\item{name}{Provider name; one of \code{"anthropic"}, \code{"openai"},
\code{"google"}, \code{"ollama"}.}
}
\value{
Character scalar with the default model identifier.
}
\description{
Returns a sensible default model name for the requested provider.
These defaults are picked for **vision capability** (multimodal)
AND **structured-extraction reliability** -- the two things the
soilKey extraction layer needs.
}
\details{
Defaults (as of v0.9.11):
\itemize{
  \item \code{anthropic = "claude-sonnet-4-7"} -- the strongest
        Claude vision model at our 2026 cutoff for document /
        photo extraction.
  \item \code{openai = "gpt-4o"} -- text + vision.
  \item \code{google = "gemini-2.0-pro"} -- successor to 1.5
        with longer context + better multimodal grounding.
  \item \code{ollama = "gemma4:e4b"} -- Gemma 4 edge
        multimodal (text + image; audio also). For larger
        contexts use \code{"gemma4:31b"}; for cloud-only
        offload via Ollama, \code{"gemma4-cloud:31b"}. Pull the
        desired size first with \code{ollama pull gemma4:e4b}.
}

Users can override at any time:
\preformatted{
vlm_provider("ollama", model = "gemma4:31b")
vlm_provider("ollama", model = "gemma3:27b")  # back-compat
vlm_provider("ollama", model = "qwen2.5vl:32b")  # any pulled model
}
}
\keyword{internal}
