Base: AtomicBot-ai/atomic-llama-cpp-turboquant @ cd5609390. IQK source: ikawrakow/ik_llama.cpp @ fe215a8c (ggml/src/iqk only). - GGML_IQK_MUL_MAT / GGML_IQK_FLASH_ATTENTION options (default OFF) - 57 IQK repacked types, blocks, traits; IQK hooks in ggml_compute_forward_mul_mat - ggml-cpu with IQK ON builds and links; IQK OFF build unaffected Assisted-by: opencode (Muse Spark) |
||
|---|---|---|
| .. | ||
| llama.cpp.swift | ||
| llama.swiftui | ||
| llama.swiftui.xcodeproj | ||
| .gitignore | ||
| README.md | ||
README.md
llama.cpp/examples/llama.swiftui
Local inference of llama.cpp on an iPhone. This is a sample app that can be used as a starting point for more advanced projects.
For usage instructions and performance stats, check the following discussion: https://github.com/ggml-org/llama.cpp/discussions/4508
Building
First llama.cpp need to be built and a XCFramework needs to be created. This can be done by running the following script from the llama.cpp project root:
$ ./build-xcframework.sh
Open llama.swiftui.xcodeproj project in Xcode and you should be able to build and run the app on
a simulator or a real device.
To use the framework with a different project, the XCFramework can be added to the project by
adding build-apple/llama.xcframework by dragging and dropping it into the project navigator, or
by manually selecting the framework in the "Frameworks, Libraries, and Embedded Content" section
of the project settings.
Video demonstration:
https://github.com/bachittle/llama.cpp/assets/39804642/e290827a-4edb-4093-9642-2a5e399ec545