generateStream method

Stream<LlmStreamResult> generateStream(
  1. String prompt,
  2. GenerationConfig config
)

Generate text with streaming support (handles images and audio) Returns a stream of LlmStreamResult events

Implementation

Stream<LlmStreamResult> generateStream(
  String prompt,
  GenerationConfig config,
) {
  return _streamChannel.receiveBroadcastStream({
    'wrapperId': _wrapperId,
    'prompt': prompt,
    'config': config.toMap(),
  }).map((event) {
    final map = event as Map<dynamic, dynamic>;
    final type = map['type'] as String;

    switch (type) {
      case 'token':
        return LlmStreamToken(map['text'] as String);
      case 'completed':
        return LlmStreamCompleted(
          GenerationProfile.fromMap(
            Map<String, dynamic>.from(map['profile'] as Map),
          ),
        );
      case 'error':
        return LlmStreamError(map['message'] as String);
      default:
        return LlmStreamError('Unknown stream event type: $type');
    }
  });
}