Agentic.LLM.Model
(agentic v0.2.2)
Copy Markdown
Shared struct describing a single LLM model.
Providers populate default_models/0 with these. The Agentic.LLM.Catalog
GenServer merges static, discovered, and user-overridden model lists.
Fields:
:id— provider-local model id (e.g."claude-opus-4-20250514").:provider— atom id of the provider module (e.g.:anthropic).:label— human-readable label for UI.:context_window— input token budget.:max_output_tokens— generation budget.:cost— map%{input: ..., output: ..., cache_read: ..., cache_write: ...}with prices in USD per 1M tokens.:capabilities—MapSetof capability tags (:chat,:tools,:vision,:embeddings,:reasoning,:prompt_caching,:json_mode,:free, …).:tier_hint— provider-suggested tier (:primary,:lightweight, ornil).:source— where the entry came from (:static,:discovered,:user_config).
Summary
Types
@type capability() :: atom()
@type t() :: %Agentic.LLM.Model{ capabilities: MapSet.t(), context_window: pos_integer() | nil, cost: cost() | nil, id: String.t(), label: String.t() | nil, max_output_tokens: pos_integer() | nil, provider: atom(), source: :static | :discovered | :user_config, tier_hint: :primary | :lightweight | nil }