v1.4.1
Highlights
- renamed some things to improve readability, this and change from
endIndex
tostopSequenceEndIndex
.
extension Model {
public var endToken: Token { llama_token_eos(self) }
public var newLineToken: Token { llama_token_nl(self) }
...
}
- added download progress observing function that you can pass onto initializer. check updated
README.md
.
fileprivate func downloadData(to destination: URL, _ updateProgress: @escaping (Double) -> Void) async throws {
var observation: NSKeyValueObservation!
let url: URL = try await withCheckedThrowingContinuation { continuation in
let task = URLSession.shared.downloadTask(with: self) { url, response, error in
if let error { return continuation.resume(throwing: error) }
guard let url else { return continuation.resume(throwing: HuggingFaceError.urlIsNilForSomeReason) }
let statusCode = (response as! HTTPURLResponse).statusCode
guard statusCode / 100 == 2 else { return continuation.resume(throwing: HuggingFaceError.network(statusCode: statusCode)) }
continuation.resume(returning: url)
}
observation = task.progress.observe(\.fractionCompleted) { progress, _ in
updateProgress(progress.fractionCompleted)
}
task.resume()
}
let _ = observation
try FileManager.default.moveItem(at: url, to: destination)
}
Full Changelog: v1.4.0...v1.4.1