Skip to main content

llama.cpp (GGUF) conversion for pypi

Project description

🦙 Python Bindings for llama.cpp

Documentation Status Tests PyPI PyPI - Python Version PyPI - License PyPI - Downloads

Simple Python bindings for @ggerganov's llama.cpp library. This package provides:

Documentation is available at https://llama-cpp-python.readthedocs.io/en/latest.

Installation

Requirements:

  • Python 3.8+
  • C compiler
    • Linux: gcc or clang
    • Windows: Visual Studio or MinGW
    • MacOS: Xcode

To install the package, run:

pip install llama-cpp-python

This will also build llama.cpp from source and install it alongside this python package.

If this fails, add --verbose to the pip install see the full cmake build log.

Installation Configuration

llama.cpp supports a number of hardware acceleration backends to speed up inference as well as backend specific options. See the llama.cpp README for a full list.

All llama.cpp cmake build options can be set via the CMAKE_ARGS environment variable or via the --config-settings / -C cli flag during installation.

Environment Variables
# Linux and Mac
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" \
  pip install llama-cpp-python
# Windows
$env:CMAKE_ARGS = "-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS"
pip install llama-cpp-python
CLI / requirements.txt

They can also be set via pip install -C / --config-settings command and saved to a requirements.txt file:

pip install --upgrade pip # ensure pip is up to date
pip install llama-cpp-python \
  -C cmake.args="-DLLAMA_BLAS=ON;-DLLAMA_BLAS_VENDOR=OpenBLAS"
# requirements.txt

llama-cpp-python -C cmake.args="-DLLAMA_BLAS=ON;-DLLAMA_BLAS_VENDOR=OpenBLAS"

Supported Backends

Below are some common backends, their build commands and any additional environment variables required.

OpenBLAS (CPU)

To install with OpenBLAS, set the LLAMA_BLAS and LLAMA_BLAS_VENDOR environment variables before installing:

CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" pip install llama-cpp-python
cuBLAS (CUDA)

To install with cuBLAS, set the LLAMA_CUBLAS=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python
Metal

To install with Metal (MPS), set the LLAMA_METAL=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python
CLBlast (OpenCL)

To install with CLBlast, set the LLAMA_CLBLAST=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_CLBLAST=on" pip install llama-cpp-python
hipBLAS (ROCm)

To install with hipBLAS / ROCm support for AMD cards, set the LLAMA_HIPBLAS=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_HIPBLAS=on" pip install llama-cpp-python
Vulkan

To install with Vulkan support, set the LLAMA_VULKAN=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_VULKAN=on" pip install llama-cpp-python
Kompute

To install with Kompute support, set the LLAMA_KOMPUTE=on environment variable before installing:

CMAKE_ARGS="-DLLAMA_KOMPUTE=on" pip install llama-cpp-python
SYCL

To install with SYCL support, set the LLAMA_SYCL=on environment variable before installing:

source /opt/intel/oneapi/setvars.sh   
CMAKE_ARGS="-DLLAMA_SYCL=on -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx" pip install llama-cpp-python

Windows Notes

Error: Can't find 'nmake' or 'CMAKE_C_COMPILER'

If you run into issues where it complains it can't find 'nmake' '?' or CMAKE_C_COMPILER, you can extract w64devkit as mentioned in llama.cpp repo and add those manually to CMAKE_ARGS before running pip install:

$env:CMAKE_GENERATOR = "MinGW Makefiles"
$env:CMAKE_ARGS = "-DLLAMA_OPENBLAS=on -DCMAKE_C_COMPILER=C:/w64devkit/bin/gcc.exe -DCMAKE_CXX_COMPILER=C:/w64devkit/bin/g++.exe"

See the above instructions and set CMAKE_ARGS to the BLAS backend you want to use.

MacOS Notes

Detailed MacOS Metal GPU install documentation is available at docs/install/macos.md

M1 Mac Performance Issue

Note: If you are using Apple Silicon (M1) Mac, make sure you have installed a version of Python that supports arm64 architecture. For example:

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
bash Miniforge3-MacOSX-arm64.sh

Otherwise, while installing it will build the llama.cpp x86 version which will be 10x slower on Apple Silicon (M1) Mac.

M Series Mac Error: `(mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))`

Try installing with

CMAKE_ARGS="-DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 -DLLAMA_METAL=on" pip install --upgrade --verbose --force-reinstall --no-cache-dir llama-cpp-python

Upgrading and Reinstalling

To upgrade and rebuild llama-cpp-python add --upgrade --force-reinstall --no-cache-dir flags to the pip install command to ensure the package is rebuilt from source.

High-level API

API Reference

The high-level API provides a simple managed interface through the Llama class.

Below is a short example demonstrating how to use the high-level API to for basic text completion:

>>> from llama_cpp import Llama
>>> llm = Llama(
      model_path="./models/7B/llama-model.gguf",
      # n_gpu_layers=-1, # Uncomment to use GPU acceleration
      # seed=1337, # Uncomment to set a specific seed
      # n_ctx=2048, # Uncomment to increase the context window
)
>>> output = llm(
      "Q: Name the planets in the solar system? A: ", # Prompt
      max_tokens=32, # Generate up to 32 tokens, set to None to generate up to the end of the context window
      stop=["Q:", "\n"], # Stop generating just before the model would generate a new question
      echo=True # Echo the prompt back in the output
) # Generate a completion, can also call create_completion
>>> print(output)
{
  "id": "cmpl-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "object": "text_completion",
  "created": 1679561337,
  "model": "./models/7B/llama-model.gguf",
  "choices": [
    {
      "text": "Q: Name the planets in the solar system? A: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune and Pluto.",
      "index": 0,
      "logprobs": None,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 28,
    "total_tokens": 42
  }
}

Text completion is available through the __call__ and create_completion methods of the Llama class.

Pulling models from Hugging Face Hub

You can download Llama models in gguf format directly from Hugging Face using the from_pretrained method. You'll need to install the huggingface-hub package to use this feature (pip install huggingface-hub).

llm = Llama.from_pretrained(
    repo_id="Qwen/Qwen1.5-0.5B-Chat-GGUF",
    filename="*q8_0.gguf",
    verbose=False
)

By default from_pretrained will download the model to the huggingface cache directory, you can then manage installed model files with the huggingface-cli tool.

Chat Completion

The high-level API also provides a simple interface for chat completion.

Chat completion requires that the model knows how to format the messages into a single prompt. The Llama class does this using pre-registered chat formats (ie. chatml, llama-2, gemma, etc) or by providing a custom chat handler object.

The model will will format the messages into a single prompt using the following order of precedence:

  • Use the chat_handler if provided
  • Use the chat_format if provided
  • Use the tokenizer.chat_template from the gguf model's metadata (should work for most new models, older models may not have this)
  • else, fallback to the llama-2 chat format

Set verbose=True to see the selected chat format.

>>> from llama_cpp import Llama
>>> llm = Llama(
      model_path="path/to/llama-2/llama-model.gguf",
      chat_format="llama-2"
)
>>> llm.create_chat_completion(
      messages = [
          {"role": "system", "content": "You are an assistant who perfectly describes images."},
          {
              "role": "user",
              "content": "Describe this image in detail please."
          }
      ]
)

Chat completion is available through the create_chat_completion method of the Llama class.

For OpenAI API v1 compatibility, you use the create_chat_completion_openai_v1 method which will return pydantic models instead of dicts.

JSON and JSON Schema Mode

To constrain chat responses to only valid JSON or a specific JSON Schema use the response_format argument in create_chat_completion.

JSON Mode

The following example will constrain the response to valid JSON strings only.

>>> from llama_cpp import Llama
>>> llm = Llama(model_path="path/to/model.gguf", chat_format="chatml")
>>> llm.create_chat_completion(
    messages=[
        {
            "role": "system",
            "content": "You are a helpful assistant that outputs in JSON.",
        },
        {"role": "user", "content": "Who won the world series in 2020"},
    ],
    response_format={
        "type": "json_object",
    },
    temperature=0.7,
)

JSON Schema Mode

To constrain the response further to a specific JSON Schema add the schema to the schema property of the response_format argument.

>>> from llama_cpp import Llama
>>> llm = Llama(model_path="path/to/model.gguf", chat_format="chatml")
>>> llm.create_chat_completion(
    messages=[
        {
            "role": "system",
            "content": "You are a helpful assistant that outputs in JSON.",
        },
        {"role": "user", "content": "Who won the world series in 2020"},
    ],
    response_format={
        "type": "json_object",
        "schema": {
            "type": "object",
            "properties": {"team_name": {"type": "string"}},
            "required": ["team_name"],
        },
    },
    temperature=0.7,
)

Function Calling

The high-level API supports OpenAI compatible function and tool calling. This is possible through the functionary pre-trained models chat format or through the generic chatml-function-calling chat format.

>>> from llama_cpp import Llama
>>> llm = Llama(model_path="path/to/chatml/llama-model.gguf", chat_format="chatml-function-calling")
>>> llm.create_chat_completion(
      messages = [
        {
          "role": "system",
          "content": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. The assistant calls functions with appropriate input when necessary"

        },
        {
          "role": "user",
          "content": "Extract Jason is 25 years old"
        }
      ],
      tools=[{
        "type": "function",
        "function": {
          "name": "UserDetail",
          "parameters": {
            "type": "object",
            "title": "UserDetail",
            "properties": {
              "name": {
                "title": "Name",
                "type": "string"
              },
              "age": {
                "title": "Age",
                "type": "integer"
              }
            },
            "required": [ "name", "age" ]
          }
        }
      }],
      tool_choice=[{
        "type": "function",
        "function": {
          "name": "UserDetail"
        }
      }]
)
Functionary v2

The various gguf-converted files for this set of models can be found here. Functionary is able to intelligently call functions and also analyze any provided function outputs to generate coherent responses. All v2 models of functionary supports parallel function calling. You can provide either functionary-v1 or functionary-v2 for the chat_format when initializing the Llama class.

Due to discrepancies between llama.cpp and HuggingFace's tokenizers, it is required to provide HF Tokenizer for functionary. The LlamaHFTokenizer class can be initialized and passed into the Llama class. This will override the default llama.cpp tokenizer used in Llama class. The tokenizer files are already included in the respective HF repositories hosting the gguf files.

>>> from llama_cpp import Llama
>>> from llama_cpp.llama_tokenizer import LlamaHFTokenizer
>>> llm = Llama.from_pretrained(
  repo_id="meetkai/functionary-small-v2.2-GGUF",
  filename="functionary-small-v2.2.q4_0.gguf",
  chat_format="functionary-v2",
  tokenizer=LlamaHFTokenizer.from_pretrained("meetkai/functionary-small-v2.2-GGUF")
)

Multi-modal Models

llama-cpp-python supports the llava1.5 family of multi-modal models which allow the language model to read information from both text and images.

You'll first need to download one of the available multi-modal models in GGUF format:

Then you'll need to use a custom chat handler to load the clip model and process the chat messages and images.

>>> from llama_cpp import Llama
>>> from llama_cpp.llama_chat_format import Llava15ChatHandler
>>> chat_handler = Llava15ChatHandler(clip_model_path="path/to/llava/mmproj.bin")
>>> llm = Llama(
  model_path="./path/to/llava/llama-model.gguf",
  chat_handler=chat_handler,
  n_ctx=2048, # n_ctx should be increased to accomodate the image embedding
  logits_all=True,# needed to make llava work
)
>>> llm.create_chat_completion(
    messages = [
        {"role": "system", "content": "You are an assistant who perfectly describes images."},
        {
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": "https://.../image.png"}},
                {"type" : "text", "text": "Describe this image in detail please."}
            ]
        }
    ]
)
Loading a Local Image

Images can be passed as base64 encoded data URIs. The following example demonstrates how to do this.

import base64

def image_to_base64_data_uri(file_path):
    with open(file_path, "rb") as img_file:
        base64_data = base64.b64encode(img_file.read()).decode('utf-8')
        return f"data:image/png;base64,{base64_data}"

# Replace 'file_path.png' with the actual path to your PNG file
file_path = 'file_path.png'
data_uri = image_to_base64_data_uri(file_path)

messages = [
    {"role": "system", "content": "You are an assistant who perfectly describes images."},
    {
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": data_uri }},
            {"type" : "text", "text": "Describe this image in detail please."}
        ]
    }
]

Speculative Decoding

llama-cpp-python supports speculative decoding which allows the model to generate completions based on a draft model.

The fastest way to use speculative decoding is through the LlamaPromptLookupDecoding class.

Just pass this as a draft model to the Llama class during initialization.

from llama_cpp import Llama
from llama_cpp.llama_speculative import LlamaPromptLookupDecoding

llama = Llama(
    model_path="path/to/model.gguf",
    draft_model=LlamaPromptLookupDecoding(num_pred_tokens=10) # num_pred_tokens is the number of tokens to predict 10 is the default and generally good for gpu, 2 performs better for cpu-only machines.
)

Embeddings

To generate text embeddings use create_embedding.

import llama_cpp

llm = llama_cpp.Llama(model_path="path/to/model.gguf", embedding=True)

embeddings = llm.create_embedding("Hello, world!")

# or create multiple embeddings at once

embeddings = llm.create_embedding(["Hello, world!", "Goodbye, world!"])

Adjusting the Context Window

The context window of the Llama models determines the maximum number of tokens that can be processed at once. By default, this is set to 512 tokens, but can be adjusted based on your requirements.

For instance, if you want to work with larger contexts, you can expand the context window by setting the n_ctx parameter when initializing the Llama object:

llm = Llama(model_path="./models/7B/llama-model.gguf", n_ctx=2048)

OpenAI Compatible Web Server

llama-cpp-python offers a web server which aims to act as a drop-in replacement for the OpenAI API. This allows you to use llama.cpp compatible models with any OpenAI compatible client (language libraries, services, etc).

To install the server package and get started:

pip install 'llama-cpp-python[server]'
python3 -m llama_cpp.server --model models/7B/llama-model.gguf

Similar to Hardware Acceleration section above, you can also install with GPU (cuBLAS) support like this:

CMAKE_ARGS="-DLLAMA_CUBLAS=on" FORCE_CMAKE=1 pip install 'llama-cpp-python[server]'
python3 -m llama_cpp.server --model models/7B/llama-model.gguf --n_gpu_layers 35

Navigate to http://localhost:8000/docs to see the OpenAPI documentation.

To bind to 0.0.0.0 to enable remote connections, use python3 -m llama_cpp.server --host 0.0.0.0. Similarly, to change the port (default is 8000), use --port.

You probably also want to set the prompt format. For chatml, use

python3 -m llama_cpp.server --model models/7B/llama-model.gguf --chat_format chatml

That will format the prompt according to how model expects it. You can find the prompt format in the model card. For possible options, see llama_cpp/llama_chat_format.py and look for lines starting with "@register_chat_format".

If you have huggingface-hub installed, you can also use the --hf_model_repo_id flag to load a model from the Hugging Face Hub.

python3 -m llama_cpp.server --hf_model_repo_id Qwen/Qwen1.5-0.5B-Chat-GGUF --model '*q8_0.gguf'

Web Server Features

Docker image

A Docker image is available on GHCR. To run the server:

docker run --rm -it -p 8000:8000 -v /path/to/models:/models -e MODEL=/models/llama-model.gguf ghcr.io/abetlen/llama-cpp-python:latest

Docker on termux (requires root) is currently the only known way to run this on phones, see termux support issue

Low-level API

API Reference

The low-level API is a direct ctypes binding to the C API provided by llama.cpp. The entire low-level API can be found in llama_cpp/llama_cpp.py and directly mirrors the C API in llama.h.

Below is a short example demonstrating how to use the low-level API to tokenize a prompt:

>>> import llama_cpp
>>> import ctypes
>>> llama_cpp.llama_backend_init(False) # Must be called once at the start of each program
>>> params = llama_cpp.llama_context_default_params()
# use bytes for char * params
>>> model = llama_cpp.llama_load_model_from_file(b"./models/7b/llama-model.gguf", params)
>>> ctx = llama_cpp.llama_new_context_with_model(model, params)
>>> max_tokens = params.n_ctx
# use ctypes arrays for array params
>>> tokens = (llama_cpp.llama_token * int(max_tokens))()
>>> n_tokens = llama_cpp.llama_tokenize(ctx, b"Q: Name the planets in the solar system? A: ", tokens, max_tokens, llama_cpp.c_bool(True))
>>> llama_cpp.llama_free(ctx)

Check out the examples folder for more examples of using the low-level API.

Documentation

Documentation is available via https://llama-cpp-python.readthedocs.io/. If you find any issues with the documentation, please open an issue or submit a PR.

Development

This package is under active development and I welcome any contributions.

To get started, clone the repository and install the package in editable / development mode:

git clone --recurse-submodules https://github.com/abetlen/llama-cpp-python.git
cd llama-cpp-python

# Upgrade pip (required for editable mode)
pip install --upgrade pip

# Install with pip
pip install -e .

# if you want to use the fastapi / openapi server
pip install -e .[server]

# to install all optional dependencies
pip install -e .[all]

# to clear the local build cache
make clean

You can also test out specific commits of lama.cpp by checking out the desired commit in the vendor/llama.cpp submodule and then running make clean and pip install -e . again. Any changes in the llama.h API will require changes to the llama_cpp/llama_cpp.py file to match the new API (additional changes may be required elsewhere).

FAQ

Are there pre-built binaries / binary wheels available?

The recommended installation method is to install from source as described above. The reason for this is that llama.cpp is built with compiler optimizations that are specific to your system. Using pre-built binaries would require disabling these optimizations or supporting a large number of pre-built binaries for each platform.

That being said there are some pre-built binaries available through the Releases as well as some community provided wheels.

In the future, I would like to provide pre-built binaries and wheels for common platforms and I'm happy to accept any useful contributions in this area. This is currently being tracked in #741

How does this compare to other Python bindings of llama.cpp?

I originally wrote this package for my own use with two goals in mind:

  • Provide a simple process to install llama.cpp and access the full C API in llama.h from Python
  • Provide a high-level Python API that can be used as a drop-in replacement for the OpenAI API so existing apps can be easily ported to use llama.cpp

Any contributions and changes to this package will be made with these goals in mind.

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_cpp_conv-0.2.57.tar.gz (37.6 MB view details)

Uploaded Source

Built Distributions

llama_cpp_conv-0.2.57-pp39-pypy39_pp73-win_amd64.whl (3.1 MB view details)

Uploaded PyPy Windows x86-64

llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

llama_cpp_conv-0.2.57-pp38-pypy38_pp73-win_amd64.whl (3.1 MB view details)

Uploaded PyPy Windows x86-64

llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

llama_cpp_conv-0.2.57-cp311-cp311-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

llama_cpp_conv-0.2.57-cp311-cp311-win32.whl (2.4 MB view details)

Uploaded CPython 3.11 Windows x86

llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

llama_cpp_conv-0.2.57-cp310-cp310-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

llama_cpp_conv-0.2.57-cp310-cp310-win32.whl (2.4 MB view details)

Uploaded CPython 3.10 Windows x86

llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

llama_cpp_conv-0.2.57-cp39-cp39-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

llama_cpp_conv-0.2.57-cp39-cp39-win32.whl (2.4 MB view details)

Uploaded CPython 3.9 Windows x86

llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

llama_cpp_conv-0.2.57-cp38-cp38-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

llama_cpp_conv-0.2.57-cp38-cp38-win32.whl (2.4 MB view details)

Uploaded CPython 3.8 Windows x86

llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_i686.whl (3.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_i686.whl (2.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

File details

Details for the file llama_cpp_conv-0.2.57.tar.gz.

File metadata

  • Download URL: llama_cpp_conv-0.2.57.tar.gz
  • Upload date:
  • Size: 37.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for llama_cpp_conv-0.2.57.tar.gz
Algorithm Hash digest
SHA256 fa1589b11410b3465a35c7842653d137d410a1018d2cb9778e77eaa1f6e302f4
MD5 b6c7bc5377200144c747e1fa42d4f54f
BLAKE2b-256 8dd12a1b6cd2046cc322f8792af985a4b53acd8c47fa238db44fd1a6f21bd1f2

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c18af5b9a59940399404ad083fb815b2217cc071f86ba9cd3b9a394f8879b8a5
MD5 5646a3acd5c1e8f64162c4d06dc7df44
BLAKE2b-256 004e3a809a80510c5f3f8032954ca330b02088a0ad7225d43c69edef100bd1e9

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a3122991cf3113dd8f042c7d859468f6d11a1b0386dfb471016a7d38423d5de5
MD5 91bc3e2464a3dc99e60e66cfd4bccef2
BLAKE2b-256 c955c738382bb1d2d45d107a70db456f8c26022cb1e9f729d757d6578a04b88c

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp39-pypy39_pp73-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 b40a1e252fbf1c33873a2913e60a4540e7c7fb6a82667e743fee8bac625d0984
MD5 b2e37c58326d502c5200d5d19fb26c8a
BLAKE2b-256 bec80fdc549df836ceeea6e8a9b7a8b2454052f4c6fa2c34fb0bab648ade7ed5

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0fbbf72e0e7476920394bddc41ea76c5c923c4abdf872977da10e7c78e77f616
MD5 b3832497dc3bdb56a2c44c5fbdb5540f
BLAKE2b-256 271121f92fd36ae7d2d38df0691c545f51fb0d3d747df5fc31291fa700741e5d

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e08df583598367ccb3e5953528fd05dbd489f601e5ab8512cedb457f2e70118e
MD5 0ccb1a49de261df72e6c80f85d6474ff
BLAKE2b-256 8ce92e888f7b10cbf4625f5a0c76a0db8ba0d6af355193dddc91e45d18704bde

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-pp38-pypy38_pp73-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 fb0effc53a0aafad27597c0fa504bc6bfda425b6142a0198b9e1e8ee608fbc38
MD5 1c95d2ceb701779b282359461147384a
BLAKE2b-256 0481db6e3d121db9394160c3ed83c0f6c115a5e54415e0cd5bd807c46cd5fec9

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0e7136e152fba2c19ec44e096f7068b7802ceffc399009ae1b1869d3600821bf
MD5 de6a402f63e4ffcb400be1390a97110a
BLAKE2b-256 31fc06cfa6ef71dc5e8683f23b681ccfd420b17616cd85e7c39fd304a65a4f8a

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 73633133e99a66b6305f75ef508e9594cb793602791b34b1433ab59e7704b80f
MD5 78354cb9e90fac0e2815445790303558
BLAKE2b-256 ec6dc9713de408baa2a9410ce449c5308b7c5f2b5054d3ac5b5616d10e4a3a6d

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 898e04a405195a2056a008d1363c443b82153c68690bb05449a13ce5163d70e4
MD5 2516ae2b7b539358a0b63c2fd3b90b84
BLAKE2b-256 2ec7ec440f3993a45cbc579107a1f2b4f8c61e0bab36ceedef2fd962b9ef25f7

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 99b61f3395205280751c1bd7f30239d38a0aede8522f4fc30c25afd62a85c58e
MD5 35010684cdf1af15875cd49c8486c69b
BLAKE2b-256 bb3332be068bff0fa283f0646a99b5bb1812540aa142b323dc4f3179378ca2e2

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1240b9b147000160b668b140802b9010b79f5ed735de3a4fd4cbf618627fad13
MD5 990643d50da1f5a5a4d5d10c39590343
BLAKE2b-256 40893059ebaf400fe630ae8fc628f2b2d4d146a5a8b328b54ac74a99e1be5430

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp311-cp311-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 b1c27d5ccab0d6fb3bd03e8a30377fad5862093a24b03a90b1802d256de7a07b
MD5 23ef7cf400f74304fb60d9552f4a6042
BLAKE2b-256 215137d5fcd3317aae2124bf575f57a2775945cef99dd606e18d3bf019e16764

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b6fb772e59345b1b12a02ee9dbf484ac38bcbe88bf4fbcf074941ef7a17e01a5
MD5 07220c164ca0e5b21fdc3748d9bdffb8
BLAKE2b-256 4a12013261b42bbcda7c977eae75336b082196c11369c1f69e1d1cff60047a42

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 76f6013f1b60955bb1887601edc48c517aab69f996f3542b8274aba054d6794f
MD5 ea29bf811b10b1a3050eea395d4d5084
BLAKE2b-256 5725fca00deea19ee3e3ba6a577a47fe15360e20df2e7265be579480b4c29e09

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5d90eff13d621abbaf894bc058c104368645daa1292d71ee1cada4a4248c1c6a
MD5 1f27c4666959ecb514291ef28d1d72c7
BLAKE2b-256 66ddb92b89e1a7fb9231907fda5373619fad83e3e593726457163e17a148952b

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 aa8f0f6864141291e59f4f64fee2b9a0a3d1c592f51fd511257ea8894ceb8d8f
MD5 c67a875843c95c1824764a6f8fbcbb9f
BLAKE2b-256 8fdff87f4d9c40d893cdee3f63b955d78509288954db0ea4c1783e7e6ec48e53

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 41f95355d1150563e12bbd6ae0da5967da28563a55aea9908b2f3bfb19632eb6
MD5 6f12c1c3de998bd08e0a8a5ebd2976a0
BLAKE2b-256 d7cc564d25d2901080b43b0d8e1c45f1cc56885094995f8f9db86e79ee47bb41

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp310-cp310-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 be1c2d50d336a3fcfc9aa475c576cac839e25b60ef850d93edfeb775aebbd6de
MD5 7cbfa037800f24e67814e424b4afe698
BLAKE2b-256 6adb4944f6684c51fcd0d35e5c921facd6b92a983e615ca817aec0b8b0c94ffc

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 317f1ac9e76e3cac767c5a793268c500cdac1357ec62ecb45386e456d0177484
MD5 95af3167535de6c0f039a8066b52446b
BLAKE2b-256 d2e4714e08ceeb70d13eee9acae81cb1a150ba8dbc2dfe0188328f474aa63336

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 aaffbc8b9123bbc5c37615bb2cb4cb0ea82657d75e63178ee67b32ccb103563c
MD5 363751a8f4e1b1d2523a09ecfe0515ff
BLAKE2b-256 74d80b80732b9c0a37a36c326a5f694ad9d5a82048502638ef700fe5bc4ff4a4

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 586c5830494e3931d7063fbdd6fb01792ec99902c517c5d60a1dd9451bd23bd8
MD5 ac14300c2466ed0b0e37be3b86486bf1
BLAKE2b-256 08f9e981e918989ee556d1ff07b3508ac8ee59c10c8c21879b27ab5b01f36a99

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e2db7e358a617b7a7d7174663d1e7173e72648c061abf6be6a9f3d82c60e923b
MD5 146c81a5dca5220053efcfdbb79c2f83
BLAKE2b-256 4d0af514431e2cb8dc56378b17c131ca2d77d61dfa2169219f51589897475c64

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 22e2d8a70bdd3c033af11e9f77d3a8d8d833d6540a5d58962bb54250ed663411
MD5 fe3f50bcac50a70de1f8b26d5e45f9e9
BLAKE2b-256 84c8359a8b2cdae109b4563b5993d9c560c3c45948e30ad5b83c7e0d674707df

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp39-cp39-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 88e73f07886e53cb4180c763ad0883c0923ab598b20cceb55e3c4925e543933e
MD5 08b78f9322b26da3cdbab36bc27c1f13
BLAKE2b-256 666e63286e7a0c8158e5811f8c7000f81694c2c02d2b6a54f43b05cb30fdb649

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ad99a00dc5d489ca5cdb581cdc1134ebdf1feaa3478a05a1d89ebf42f7d107f1
MD5 7a00809a31e27400b4b5fb3562871812
BLAKE2b-256 a5f233063bcceb39fc5fb0fa436058afcd376fc3f7ee30018346108478daeff5

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 3ec1d6655bd7740da16634278f85087caac8f712511801dc82a96cb2d7c02d06
MD5 3ec56d1df658fdee95a20dba2a12e46e
BLAKE2b-256 94fb0dad5b4f320c25cd2c90e07476db75888ebfe958f1851d8a26337ac2271b

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 dd96121c42d96e7f66b3a575f2a64ad0cb52ec3a2d483015f5c0458f44850fe2
MD5 6db344ebb4aaffa516a5b9cb27d7546e
BLAKE2b-256 23377b3f4e04e3fe0408e77eb3cec6a6ecdd5200da19f49334fe7e2ef30e3f28

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0932db2e930f38b57b9f109c0c63807968d20258899fa6e6dbe290c3ca93b5a2
MD5 f90fe7fb1fe4d15e7f3cec64a2895c12
BLAKE2b-256 c6b0d1047e56e844d6e29d6839c24aaefabf576efad74c4932ab46435f9945f7

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5aa0102eca0ad993195bfda7d68dd30b4e7cc00e1d7a053eda9acd4be023825d
MD5 7ff0c1ab10731a07a2498d69cc58b97e
BLAKE2b-256 06a739dd6198298d8d27a454b30a4cb18a48f4a96e064c25fae2cc4c97ff771d

See more details on using hashes here.

File details

Details for the file llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for llama_cpp_conv-0.2.57-cp38-cp38-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 3407feb50601a04b6b566b37239013f14691fc48ca13ab0446bd73a3cb780685
MD5 d13f3fdc13679634515564dfcfb40c4d
BLAKE2b-256 e27af5f1d56fc866dcfe547fb92d0111a998b7d53e9fbd412d6b6bb66c631906

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page