swiftui : enable stream updating (#7754)

This commit is contained in:
Shuichi Tsutsumi 2024-06-21 14:30:58 +09:00 committed by GitHub
parent b1ef562bc1
commit 0e64591e82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -131,22 +131,29 @@ class LlamaState: ObservableObject {
messageLog += "\(text)" messageLog += "\(text)"
while await llamaContext.n_cur < llamaContext.n_len { Task.detached {
let result = await llamaContext.completion_loop() while await llamaContext.n_cur < llamaContext.n_len {
messageLog += "\(result)" let result = await llamaContext.completion_loop()
await MainActor.run {
self.messageLog += "\(result)"
}
}
let t_end = DispatchTime.now().uptimeNanoseconds
let t_generation = Double(t_end - t_heat_end) / self.NS_PER_S
let tokens_per_second = Double(await llamaContext.n_len) / t_generation
await llamaContext.clear()
await MainActor.run {
self.messageLog += """
\n
Done
Heat up took \(t_heat)s
Generated \(tokens_per_second) t/s\n
"""
}
} }
let t_end = DispatchTime.now().uptimeNanoseconds
let t_generation = Double(t_end - t_heat_end) / NS_PER_S
let tokens_per_second = Double(await llamaContext.n_len) / t_generation
await llamaContext.clear()
messageLog += """
\n
Done
Heat up took \(t_heat)s
Generated \(tokens_per_second) t/s\n
"""
} }
func bench() async { func bench() async {