feat: streaming for llm summary generation (#2)

This commit is contained in:
Owen Gretzinger
2025-07-12 21:25:44 -04:00
committed by GitHub
parent 78d93015e5
commit 05196ebe71
2 changed files with 59 additions and 40 deletions
@@ -148,17 +148,25 @@ class MeetingViewModel: ObservableObject {
isGeneratingNotes = true
errorMessage = nil
// Clear existing notes for streaming
meeting.generatedNotes = ""
do {
// Load settings for generation
let userBlurb = KeychainHelper.shared.get(forKey: "userBlurb") ?? ""
let systemPrompt = KeychainHelper.shared.get(forKey: "systemPrompt") ?? Settings.defaultSystemPrompt()
meeting.generatedNotes = try await NotesGenerator.shared.generateNotes(
// Use streaming generation
let stream = NotesGenerator.shared.generateNotesStream(
meeting: meeting,
userBlurb: userBlurb,
systemPrompt: systemPrompt
)
for await chunk in stream {
meeting.generatedNotes += chunk
}
saveMeeting()
} catch {
errorMessage = "Failed to generate notes: \(error.localizedDescription)"