toChatModel property
ChatModel
get
toChatModel
Implementation
ChatModel get toChatModel => ChatModel(
id: id,
cost: ChatModelCost(
input:
(Decimal.parse(pricing.prompt) * Decimal.fromInt(1_000_000))
.toDouble() *
1.06,
output:
(Decimal.parse(pricing.completion) * Decimal.fromInt(1_000_000))
.toDouble() *
1.06,
),
capabilities: ChatModelCapabilities(
tools:
supported_parameters.contains("tools") &&
supported_parameters.contains("tool_choice"),
ultraCompatibleMode: false,
systemMode: ChatModelSystemMode.supported,
contextWindow: context_length,
maxTokenOutput: 16384,
inputModalities:
architecture.input_modalities
.map(
(i) => Modality.values.select(
(v) => v.name.toLowerCase() == i.toLowerCase(),
),
)
.whereType<Modality>()
.toList(),
outputModalities:
architecture.output_modalities
.map(
(i) => Modality.values.select(
(v) => v.name.toLowerCase() == i.toLowerCase(),
),
)
.whereType<Modality>()
.toList(),
reasoning: supported_parameters.contains("reasoning"),
structuredOutput: supported_parameters.contains("response_format"),
streaming: true,
seesToolMessages:
supported_parameters.contains("tools") &&
supported_parameters.contains("tool_choice"),
),
);