这基本上是 llama.cpp 包的一个封装,本仓库的目的是为 Swift 开发者提供一个更 Swift 化的 API。
.package(url: "https://github.com/ShenghaiWang/SwiftLlama.git", from: "0.3.0")
let swiftLlama = try SwiftLlama(modelPath: path))
let response: String = try await swiftLlama.start(for: prompt)
for try await value in await swiftLlama.start(for: prompt) {
result += value
}
await swiftLlama.start(for: prompt)
.sink { _ in
} receiveValue: {[weak self] value in
self?.result += value
}.store(in: &cancallable)
这个视频 展示了使用 Llama 3 模型运行的命令行应用程序。
如果想在 iOS 或 MacOS 应用程序中使用它,请参考 TestProjects 文件夹。
理论上,它应该支持 llama.cpp 支持的所有模型。但是,对于某些模型,可能需要更新提示格式。
如果您想快速测试一下,请使用此模型 codellama-7b-instruct.Q4_K_S.gguf