in generativeai-android-sample/app/src/main/kotlin/com/google/ai/sample/feature/text/SummarizeViewModel.kt [54:71]
fun summarizeStreaming(inputText: String) {
_uiState.value = SummarizeUiState.Loading
val prompt = "Summarize the following text for me: $inputText"
viewModelScope.launch {
try {
var outputContent = ""
generativeModel.generateContentStream(prompt)
.collect { response ->
outputContent += response.text
_uiState.value = SummarizeUiState.Success(outputContent)
}
} catch (e: Exception) {
_uiState.value = SummarizeUiState.Error(e.localizedMessage ?: "")
}
}
}