# llama.cpp ile GGUF kullanımı

> [!TIP]
> Artık Hugging Face Endpoints üzerinde herhangi bir llama.cpp uyumlu GGUF dağıtabilirsiniz, bununla ilgili daha fazla bilgiyi [burada](https://huggingface.co/docs/inference-endpoints/en/others/llamacpp_container) bulabilirsiniz

Llama.cpp, Hugging Face deposu yolunu ve dosya adını sağlayarak bir GGUF dosyasını indirip üzerinde çıkarım yapmanıza olanak tanır. llama.cpp, model kontrol noktasını indirir ve otomatik olarak önbelleğe alır. Önbelleğin konumu `LLAMA_CACHE` ortam değişkeni ile tanımlanır; bunun hakkında daha fazla bilgiyi [burada](https://github.com/ggerganov/llama.cpp/pull/7826) bulabilirsiniz.

llama.cpp'yi macOS ve Linux'ta kurucu programı, Windows'ta WinGet aracılığıyla veya kaynak kodundan derleyerek yükleyebilirsiniz. Docker dahil diğer kurulum seçenekleri için [resmi dokümantasyonu](https://github.com/ggml-org/llama.cpp#quick-start) inceleyin.

### Seçenek 1: llama.cpp'yi yükleyin

macOS ve Linux'ta:

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

Alternatif olarak, Homebrew ile yükleyin:

```bash
brew install llama.cpp
```

Windows'ta WinGet kullanın:

```powershell
winget install llama.cpp
```

### Seçenek 2: kaynak kodundan derleme

Adım 1: llama.cpp'yi GitHub'dan klonlayın.

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

Adım 2: llama.cpp klasörüne geçin ve derleyin. Donanıma özel bayraklar da ekleyebilirsiniz (ör. Nvidia GPU'lar için `-DGGML_CUDA=1`).

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

Not: Diğer donanım desteği için (ör. AMD ROCm, Intel SYCL) lütfen [llama.cpp derleme kılavuzuna](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) başvurun.

Kaynaktan derlediyseniz, aşağıdaki komutlarda `llama` yerine `./build/bin/llama` kullanın.

Kurulum tamamlandıktan sonra `llama cli` veya `llama serve` aşağıdaki gibi kullanılabilir:

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

Not: Ham tamamlama modu (sohbet modu olmayan) için `llama cli` yerine `llama completion` kullanın ve `-no-cnv` ekleyin.

Ayrıca, llama.cpp sunucusunu kullanarak bir OpenAI spec chat completions uç noktasını doğrudan çağırabilirsiniz:

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

Sunucuyu çalıştırdıktan sonra uç noktanın kullanımını aşağıdaki gibi yapabilirsiniz:

```bash
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"
    }
  ]
}'
```

`-hf` yerine geçerli herhangi bir Hugging Face hub deposu adı koyun - başlayın! 🦙

