Skip to content

v1.4.1

Compare
Choose a tag to compare
@eastriverlee eastriverlee released this 30 Jan 20:14
· 13 commits to main since this release

Highlights

  1. renamed some things to improve readability, this and change from endIndex to stopSequenceEndIndex.
extension Model {
     public var endToken: Token { llama_token_eos(self) }
     public var newLineToken: Token { llama_token_nl(self) }
...
}
  1. 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