do { try await self.chat.predictTokens(for: prompt) { token in continuation.yield(token) } continuation.finish() } catch { continuation.finish(throwing: error) }