generateContentStream method

Stream<GenerateContentResponse> generateContentStream(
  1. Iterable<Content> prompt, {
  2. List<SafetySetting>? safetySettings,
  3. GenerationConfig? generationConfig,
  4. List<Tool>? tools,
  5. ToolConfig? toolConfig,
})

Generates a stream of content responding to prompt.

Sends a "streamGenerateContent" API request for the configured model, and waits for the response.

Example:

final responses = await model.generateContent([Content.text(prompt)]);
await for (final response in responses) {
  print(response.text);
}

Implementation

Stream<GenerateContentResponse> generateContentStream(
    Iterable<Content> prompt,
    {List<SafetySetting>? safetySettings,
    GenerationConfig? generationConfig,
    List<Tool>? tools,
    ToolConfig? toolConfig}) {
  final response = client.streamRequest(
      taskUri(Task.streamGenerateContent),
      _serializationStrategy.generateContentRequest(
        prompt,
        model,
        safetySettings ?? _safetySettings,
        generationConfig ?? _generationConfig,
        tools ?? _tools,
        toolConfig ?? _toolConfig,
        _systemInstruction,
      ));
  return response.map(_serializationStrategy.parseGenerateContentResponse);
}