transformToChatPrompt method
String
transformToChatPrompt({
- ModelType type = ModelType.general,
- ModelFileType fileType = ModelFileType.binary,
Implementation
String transformToChatPrompt(
{ModelType type = ModelType.general,
ModelFileType fileType = ModelFileType.binary}) {
// DEBUG LOG
gemmaLog(
'[transformToChatPrompt] modelType=$type, fileType=$fileType, messageType=${this.type}, isUser=$isUser');
switch (_chatFormatModeFor(type, fileType, this.type)) {
case _ChatFormatMode.drop:
return '';
case _ChatFormatMode.raw:
final result = _formatToolResponseContent();
gemmaLog(
'[transformToChatPrompt] Using _formatToolResponseContent, result length=${result.length}');
return result;
case _ChatFormatMode.manual:
// .bin/.tflite files (and .litertlm on iOS) - manual formatting by model type.
final result = switch (type) {
ModelType.general => _transformGeneral(),
ModelType.gemmaIt => _transformGemmaIt(),
ModelType.gemma4 => _transformGemmaIt(),
ModelType.deepSeek => _transformDeepSeek(),
ModelType.qwen => _transformQwen(),
ModelType.qwen3 => _transformQwen(),
ModelType.llama => _transformLlama(),
ModelType.hammer => _transformHammer(),
ModelType.functionGemma => _transformFunctionGemma(),
ModelType.phi => _transformGeneral(),
};
return result;
}
}