Hub documentation

Utilisation de GGUF avec llama.cpp

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Utilisation de GGUF avec llama.cpp

Vous pouvez désormais déployer n'importe quel GGUF compatible llama.cpp sur Hugging Face Endpoints, en savoir plus à ce sujet ici

Llama.cpp permet de télécharger et d’exécuter une inférence sur un GGUF simplement en fournissant le chemin du dépôt Hugging Face et le nom du fichier. llama.cpp télécharge le point de contrôle du modèle et le met automatiquement en cache. L’emplacement du cache est défini par la variable d’environnement LLAMA_CACHE ; en savoir plus ici.

Vous pouvez installer llama.cpp à l'aide de l'installateur sur macOS et Linux, via WinGet sur Windows, ou en le compilant à partir du code source. Consultez la documentation officielle pour d'autres options d'installation, notamment Docker.

Option 1 : Installer llama.cpp

Sur macOS et Linux :

curl -LsSf https://llama.app/install.sh | sh

Sinon, installez-le avec Homebrew :

brew install llama.cpp

Sous Windows, utilisez WinGet :

winget install llama.cpp

Option 2 : compilation à partir du code source

Étape 1 : Cloner llama.cpp depuis GitHub.

git clone https://github.com/ggml-org/llama.cpp.git

Étape 2 : Accédez au dossier llama.cpp et compilez-le. Vous pouvez également ajouter des drapeaux spécifiques au matériel (par ex. : -DGGML_CUDA=1 pour les GPU Nvidia).

cd llama.cpp
cmake -B build   # optionally, add -DGGML_CUDA=ON to activate CUDA
cmake --build build --config Release -j --target llama-app

Remarque : pour la prise en charge d’autres matériels (par ex. : AMD ROCm, Intel SYCL), veuillez consulter le guide de compilation de llama.cpp

Si vous avez compilé depuis le code source, utilisez ./build/bin/llama à la place de llama dans les commandes ci-dessous.

Une fois installé, vous pouvez utiliser llama cli ou llama serve comme suit :

llama cli -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

Note : Pour le mode de complétion brut (mode non conversationnel), utilisez llama completion avec -no-cnv au lieu de llama cli.

De plus, vous pouvez appeler directement un point de terminaison de complétion de chat conforme à la spécification OpenAI à l'aide du serveur llama.cpp :

llama serve -hf bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0 --port 8080

Après avoir lancé le serveur, vous pouvez simplement utiliser le point de terminaison comme suit :

curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer no-key" \
-d '{
"messages": [
    {
        "role": "system",
        "content": "You are an AI assistant. Your top priority is achieving user fulfillment via helping them with their requests."
    },
    {
        "role": "user",
        "content": "Write a limerick about Python exceptions"
    }
  ]
}'

Remplacez -hf par n’importe quel nom de dépôt valide sur le hub Hugging Face - c’est parti ! 🦙

Update on GitHub