addQueryChunk method
Implementation
@override
Future<void> addQueryChunk(Message message) async {
_assertNotClosed();
var messageToSend = message;
if (message.isUser &&
!_systemInstructionSent &&
systemInstruction != null &&
systemInstruction!.isNotEmpty) {
_systemInstructionSent = true;
messageToSend = message.copyWith(
text: '[System: ${systemInstruction!}]\n\n${message.text}',
);
}
final finalPrompt = messageToSend.transformToChatPrompt(
type: modelType, fileType: fileType);
if (message.hasImage && supportImage) {
final images = message.images.isNotEmpty
? message.images
: (message.imageBytes != null
? [message.imageBytes!]
: const <Uint8List>[]);
for (final image in images) {
await _platformService.addImageToSession(sessionId, image);
}
}
if (message.hasAudio && message.audioBytes != null && supportAudio) {
await _platformService.addAudioToSession(sessionId, message.audioBytes!);
}
await _platformService.addQueryChunkToSession(sessionId, finalPrompt);
}