createTokenizedPrompt static method
String
createTokenizedPrompt({
- required String text,
- required ProcessedImage processedImage,
- required ModelType modelType,
Creates a properly tokenized prompt for the AI model
Implementation
static String createTokenizedPrompt({
required String text,
required ProcessedImage processedImage,
required ModelType modelType,
}) {
try {
debugPrint('MultimodalImageHandler: Creating tokenized prompt for $modelType...');
// Use ImageTokenizer to create properly formatted prompt
final prompt = tokenizer.ImageTokenizer.createImagePrompt(
text: text,
processedImage: processedImage,
modelType: _convertToTokenizerModelType(modelType),
);
// Validate the prompt contains proper image tokens
final hasValidTokens = tokenizer.ImageTokenizer.validateImageTokens(prompt, 1);
if (!hasValidTokens) {
debugPrint('MultimodalImageHandler: Warning - Prompt may have tokenization issues');
}
debugPrint('MultimodalImageHandler: Tokenized prompt created (${prompt.length} chars)');
return prompt;
} catch (e) {
debugPrint('MultimodalImageHandler: Tokenization failed - $e');
// Handle tokenization error
final errorResult = ImageErrorHandler.handleTokenizationError(
e,
StackTrace.current,
modelType: _convertToTokenizerModelType(modelType),
prompt: text,
expectedImageCount: 1,
);
// Return fallback prompt
return tokenizer.ImageTokenizer.createFallbackPrompt(text, errorMessage: errorResult.message);
}
}