generateStream method
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');
}
});
}