mirascope.core.base.call_response¶
This module contains the base call response class.
BaseCallResponse
¶
Bases: BaseModel
, Generic[_ResponseT, _BaseToolT, _ToolSchemaT, _BaseDynamicConfigT, _MessageParamT, _CallParamsT, _UserMessageParamT]
, ABC
A base abstract interface for LLM call responses.
Attributes:
Name | Type | Description |
---|---|---|
metadata |
Metadata
|
The metadata pulled from the call that was made. |
response |
_ResponseT
|
The original response from whichever model response this wraps. |
tool_types |
list[type[_BaseToolT]] | None
|
The list of tool types used, if any. |
prompt_template |
str | None
|
The unformatted prompt template from the call that was made. |
fn_args |
dict[str, Any]
|
The input arguments used when making the call. |
dynamic_config |
_BaseDynamicConfigT
|
Dynamic configuration options, if any. |
messages |
SkipValidation[list[_MessageParamT]]
|
The list of provider-specific messages used to make the API call. |
call_params |
SkipValidation[_CallParamsT]
|
The original call params set in the call decorator. |
call_kwargs |
BaseCallKwargs[_ToolSchemaT]
|
The keyword arguments used to make the API call. |
user_message_param |
_UserMessageParamT | None
|
The most recent provider-specific message if it was a user
message. Otherwise |
start_time |
float
|
The start time of the completion in ms. |
end_time |
float
|
The end time of the completion in ms. |
content
abstractmethod
property
¶
content: str
Should return the string content of the response.
If there are multiple choices in a response, this method should select the 0th choice and return it's string content.
If there is no string content (e.g. when using tools), this method must return the empty string.
finish_reasons
abstractmethod
property
¶
Should return the finish reasons of the response.
If there is no finish reason, this method must return None.
usage
abstractmethod
property
¶
usage: Any
Should return the usage of the response.
If there is no usage, this method must return None.
input_tokens
abstractmethod
property
¶
Should return the number of input tokens.
If there is no input_tokens, this method must return None.
output_tokens
abstractmethod
property
¶
Should return the number of output tokens.
If there is no output_tokens, this method must return None.
cost
abstractmethod
property
¶
cost: float | None
Should return the cost of the response in dollars.
If there is no cost, this method must return None.
message_param
abstractmethod
cached
property
¶
message_param: Any
Returns the assistant's response as a message parameter.
tools
abstractmethod
cached
property
¶
tools: list[_BaseToolT] | None
Returns the tools for the 0th choice message.
tool
abstractmethod
cached
property
¶
Returns the 0th tool for the 0th choice message.
tool_message_params
abstractmethod
classmethod
¶
Returns the tool message parameters for tool call results.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
tools_and_outputs |
list[tuple[_BaseToolT, str]]
|
The list of tools and their outputs from which the tool message parameters should be constructed. |
required |