addQueryChunk method

  1. @override
Future<void> addQueryChunk(
  1. Message message
)
override

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);
}