in SwiftChat/ContentView.swift [39:62]
func modelDidChange() {
guard status != .loading else { return }
status = .loading
Task.init {
do {
languageModel = try await ModelLoader.load(url: modelURL)
if let config = languageModel?.defaultGenerationConfig {
let maxNewTokens = self.config.maxNewTokens
self.config = config
Task.init {
// Refresh after slider limits have been updated
self.config.maxNewTokens = min(maxNewTokens, languageModel?.maxContextLength ?? 20)
}
}
status = .ready(nil)
isSettingsPresented = false
} catch {
print("No model could be loaded: \(error)")
status = .noModel
}
}
}