Python bindings for @ggerganov's llama.cpp
Project description
Building the Python bindings
macOS
brew install pybind11
Install python package
From PyPI
pip install llamacpp
From source
poetry install
Get the model weights
You will need to obtain the weights for LLaMA yourself. There are a few torrents floating around as well as some huggingface repositories (e.g https://huggingface.co/nyanko7/LLaMA-7B/). Once you have them, copy them into the models folder.
ls ./models
65B 30B 13B 7B tokenizer_checklist.chk tokenizer.model
Convert the weights to GGML format using llamacpp-convert
. Then use llamacpp-quantize
to quantize them into INT4. For example, for the 7B parameter model, run
llamacpp-convert ./models/7B/ 1
llamacpp-quantize ./models/7B/
Run demo script
import llamacpp
import os
model_path = "./models/7B/ggml-model-q4_0.bin"
params = llamacpp.gpt_params(model_path,
"Hi, I'm a llama.",
4096,
40,
0.1,
0.7,
2.0)
model = llamacpp.PyLLAMA(model_path, params)
model.predict("Hello, I'm a llama.", 10)
ToDo
- Use poetry to build package
- Add command line entry point for quantize script
- Publish wheel to PyPI
- Add chat interface based on tinygrad
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
llamacpp-0.1.3.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for llamacpp-0.1.3-cp310-cp310-macosx_13_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1443e18bf5436a6d06b401209661c43def585451f278a745936a0c49ab9ec3 |
|
MD5 | 221d0f5905871986db1536e4bc3dd31d |
|
BLAKE2b-256 | 27e6e541d28f07d20260a6b81ca7b7da57668ede5821c7481fbdbb0f2bf64194 |