Section courante

A propos

Section administrative du site

Les premiers pas

Démarrer avec llama.cpp est simple. Voici plusieurs façons de l'installer sur votre machine :

Une fois installé, vous aurez besoin d'un modèle.

Exemple de commande :

# Utiliser un fichier de modèle local
llama-cli -m my_model.gguf

# Ou téléchargez et exécutez un modèle directement depuis Hugging Face
llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

# Lancer un serveur API compatible OpenAI
llama-server -hf ggml-org/gemma-3-1b-it-GGUF

Description

L'objectif principal de llama.cpp est de permettre l'inférence LLM avec une configuration minimale et des performances de pointe sur une large gamme de matériels, localement et dans l'infonuagique.

Le projet llama.cpp est le principal terrain de jeu pour le développement de nouvelles fonctionnalités pour la bibliothèque ggml.

Modèles

Les ajustements des modèles de base ci-dessous sont généralement également pris en charge.

Les instructions pour ajouter la prise en charge de nouveaux modèles situé dans «HOWTO-add-model.md»

Texte seul :

Multimodal :

Liaisons

UI

(pour qu'un projet soit répertorié ici, il doit clairement indiquer qu'il dépend de llama.cpp) :

Outils

Infrastructure

Jeux

Backends pris en charge

Backend Appareils cibles
Metal Apple Silicon
BLAS Tous
BLIS Tous
SYCL GPU Intel et Nvidia
MUSA Moore Threads GPU
CUDA Nvidia GPU
HIP AMD GPU
Vulkan GPU
CANN Ascend NPU
OpenCL Adreno GPU
WebGPU Tous
RPC Tous

Obtention et quantification de modèles

La plateforme Hugging Face héberge plusieurs LLM compatibles avec llama.cpp :

Vous pouvez télécharger manuellement le fichier GGUF ou utiliser directement n'importe quel modèle compatible avec llama.cpp depuis Hugging Face ou d'autres sites d'hébergement de modèles, comme ModelScope, en utilisant le paramètre CLI suivant : -hf <utilisateur>/<modèle>[:quant]. Par exemple :

llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

Par défaut, la CLI télécharge depuis Hugging Face. Vous pouvez utiliser d'autres options avec la variable d'environnement MODEL_ENDPOINT. Par exemple, vous pouvez choisir de télécharger les points de contrôle du modèle depuis ModelScope ou d'autres communautés de partage de modèles en définissant la variable d'environnement, par exemple : MODEL_ENDPOINT=https://www.modelscope.cn/.

Après avoir téléchargé un modèle, utilisez les outils CLI pour l'exécuter localement (voir ci-dessous).

llama.cpp nécessite que le modèle soit entreposé au format de fichier GGUF. Les modèles dans d'autres formats de données peuvent être convertis au format GGUF à l'aide des scripts Python convert_*.py de ce dépôt.

La plateforme Hugging Face propose divers outils en ligne pour convertir, quantifier et héberger des modèles avec llama.cpp :

llama-cli

Un outil CLI pour accéder et expérimenter la plupart des fonctionnalités de llama.cpp.

Exécution en mode conversation

Les modèles dotés d'un modèle de chat intégré activent automatiquement le mode conversation. Si ce n'est pas le cas, vous pouvez l'activer manuellement en ajoutant -cnv et en spécifiant un modèle de chat approprié avec --chat-template NAME.

llama-cli -m model.gguf

# > hi, who are you?
# Hi there! I'm your helpful assistant! I'm an AI-powered chatbot designed to assist and provide information to users like you. I'm here to help answer your questions, provide guidance, and offer support on a wide range of topics. I'm a friendly and knowledgeable AI, and I'm always happy to help with anything you need. What's on your mind, and how can I assist you today?
#
# > what is 1+1?
# Easy peasy! The answer to 1+1 is... 2!

Exécutez en mode conversation avec un modèle de chat personnalisé :

# utilisez le modèle «chatml» (utilisez -h pour voir la liste des modèles pris en charge)
llama-cli -m model.gguf -cnv --chat-template chatml

# utiliser un modèle personnalisé
llama-cli -m model.gguf -cnv --in-prefix 'Utilisateur: ' --reverse-prompt 'Utilisateur: '

Exécuter la saisie semi-automatique simple

Pour désactiver explicitement le mode conversation, utilisez -no-cnv :

llama-cli -m model.gguf -p "I believe the meaning of life is" -n 128 -no-cnv

# I believe the meaning of life is to find your own truth and to live in accordance with it. For me, this means being true to myself and following my passions, even if they don't align with societal expectations. I think that's what I love about yoga - it's not just a physical practice, but a spiritual one too. It's about connecting with y ourself, listening to your inner voice, and honoring your own unique journey.

Limiter la sortie avec une grammaire personnalisée

llama-cli -m model.gguf -n 256 --grammar-file grammars/json.gbnf -p 'Demande : planifier un appel à 20h ; Commande :'

# {"appointmentTime": "8pm", "appointmentDetails": "schedule a a call"}

llama-server

Un serveur HTTP léger, compatible avec l'API OpenAI, pour les LLM.

Démarrez un serveur HTTP local avec la configuration par défaut sur le port 8080 :

llama-server -m model.gguf --port 8080

# L'interface utilisateur Web de base est accessible via un navigateur : http://localhost:8080
# Point de terminaison de fin de discussion : http://localhost:8080/v1/chat/completions

Prise en charge de plusieurs utilisateurs et du décodage parallèle

# jusqu'à 4 requêtes simultanées, chacune avec un contexte maximal de 4 096
llama-server -m model.gguf -c 16384 -np 4

Activer le décodage spéculatif

# le modèle draft.gguf doit être une petite variante du modèle cible.gguf
llama-server -m model.gguf -md draft.gguf

Servir un modèle d'intégration

# utiliser le point de terminaison /embedding
llama-server -m model.gguf --embedding --pooling cls -ub 8192

Servir un modèle de reclassement

# utiliser le point de terminaison /reranking
llama-server -m model.gguf --reranking

Limiter toutes les sorties avec une grammaire

# grammaire personnalisée
llama-server -m model.gguf --grammar-file grammar.gbnf

# JSON
llama-server -m model.gguf --grammar-file grammars/json.gbnf

llama-perplexity

Un outil permettant de mesurer la perplexité 1 (et d'autres indicateurs de qualité) d'un modèle sur un texte donné.

Mesurer la perplexité sur un fichier texte.

llama-perplexity -m model.gguf -f file.txt

# [1]15.2701,[2]5.4007,[3]5.3073,[4]6.2965,[5]5.8940,[6]5.6096,[7]5.7942,[8]4.9297, ...
# Estimation finale : PPL = 5.4007 +/- 0.67339

llama-bench

Évaluez les performances de l'inférence pour différents paramètres.

Exécuter le benchmark par défaut

llama-bench -m model.gguf

# Output:
# | model               |       size |     params | backend    | threads |          test |                  t/s |
# | ------------------- | ---------: | ---------: | ---------- | ------: | ------------: | -------------------: |
# | qwen2 1.5B Q4_0     | 885.97 MiB |     1.54 B | Metal,BLAS |      16 |         pp512 |      5765.41 ± 20.55 |
# | qwen2 1.5B Q4_0     | 885.97 MiB |     1.54 B | Metal,BLAS |      16 |         tg128 |        197.71 ± 0.81 |
#
# build: 3e0ba0e60 (4229)

llama-run

Un exemple complet d'exécution de modèles llama.cpp. Utile pour l'inférence. Utilisé avec RamaLama 2.

Exécutez un modèle avec une invite spécifique (par défaut, elle est extraite du registre Ollama).

llama-run granite-code

llama-simple

Exemple minimal d'implémentation d'applications avec llama.cpp. Utile pour les développeurs.

Complétion de simple texte

llama-simple -m model.gguf

# Hello my name is Kaitlyn and I am a 16 year old girl. I am a junior in high school and I am currently taking a class called "The Art of


Dernière mise à jour : Mardi, le 5 août 2025