diff --git a/Package.swift b/Package.swift index d8d199c3c..be98b19bd 100644 --- a/Package.swift +++ b/Package.swift @@ -52,7 +52,7 @@ var omniVlmSources = [ ] var testSources = [ - "tests/LlavaTests/LlavaTests.swift" + "swift/LlavaTests/LlavaTests.swift" ] var resources: [Resource] = [] diff --git a/swift/LlavaTests/LlavaTests.swift b/swift/LlavaTests/LlavaTests.swift new file mode 100644 index 000000000..b408e2f14 --- /dev/null +++ b/swift/LlavaTests/LlavaTests.swift @@ -0,0 +1,27 @@ +import XCTest +@testable import omnivlm + +final class LlavaTests: XCTestCase { + func testOmniVlm() { + omnivlm_init("/Users/liute/Downloads/model-q4_0.gguf", + "/Users/liute/Downloads/projector-q4_0.gguf", + "vlm-81-instruct") + + let startTime = Date() + + if let cString = omnivlm_inference("describe the image", "/Users/liute/Downloads/cat.png") { + let res = String(cString: cString) + print("res: \(res)") + + let endTime = Date() + let inferenceTime = endTime.timeIntervalSince(startTime) + print("Inference time: \(inferenceTime) seconds") + + XCTAssertFalse(res.isEmpty, "res should not be null") + } else { + XCTFail("failed") + } + + omnivlm_free() + } +}