The Model class is the base class for all models in Agno. It provides common functionality and parameters that are inherited by specific model implementations like OpenAIChat, Claude, etc.

ParameterTypeDefaultDescription
idstr-ID of the model to use. Alias: "model"
nameOptional[str]NoneName for this Model. Not sent to the Model API.
providerOptional[str]NoneProvider for this Model. Not sent to the Model API.
metricsDict[str, Any]{}Metrics collected for this Model. Not sent to the Model API.
response_formatOptional[Any]NoneFormat of the response.
toolsOptional[List[Union[Tool, Dict]]]NoneA list of tools provided to the Model.
tool_choiceOptional[Union[str, Dict[str, Any]]]NoneControls which (if any) function is called by the model.
show_tool_callsOptional[bool]NoneIf True, shows function calls in the response.
tool_call_limitOptional[int]NoneMaximum number of tool calls allowed.
_functionsOptional[Dict[str, Function]]NoneFunctions extracted from the tools. Not sent to the Model API.
_function_call_stackOptional[List[FunctionCall]]NoneFunction call stack.
system_promptOptional[str]NoneSystem prompt from the model added to the Agent.
instructionsOptional[List[str]]NoneInstructions from the model added to the Agent.
session_idOptional[str]NoneSession ID of the calling Agent or Workflow.
structured_outputsOptional[bool]NoneWhether to use the structured outputs with this Model.
supports_structured_outputsboolFalseWhether the model supports structured outputs.
override_system_roleboolFalseWhether to override the system role.
system_message_rolestr"system"The role to map the system message to.