llama-server & OpenAI-Endpunkt-Bereitstellungsanleitung

Bereitstellung via llama-server mit einem OpenAI-kompatiblen Endpunkt

Wir werden Devstral-2 bereitstellen - siehe Devstral 2 für weitere Details zum Modell.

Hole dir die neueste llama.cpp auf GitHub hierarrow-up-right. Du kannst auch den Build-Anweisungen unten folgen. Ändere -DGGML_CUDA=ON zu -DGGML_CUDA=OFF wenn du keine GPU hast oder nur CPU-Inferenz möchtest. Für Apple Mac / Metal-Geräte, setze -DGGML_CUDA=OFF dann wie gewohnt fort - Metal-Unterstützung ist standardmäßig aktiviert.

apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
circle-info

Bei Verwendung von --jinja fügt llama-server die folgende Systemnachricht hinzu, wenn Tools unterstützt werden: Antworte im JSON-Format, entweder mit tool_call (eine Anfrage zum Aufrufen von Tools) oder mit response als Antwort auf die Anfrage des Benutzers . Dies verursacht manchmal Probleme mit Fine-Tunes! Siehe das llama.cpp Repositoryarrow-up-right für weitere Details.

Lade zuerst Devstral 2 herunter:

# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/Devstral-2-123B-Instruct-2512-GGUF",
    local_dir = "Devstral-2-123B-Instruct-2512-GGUF",
    allow_patterns = ["*UD-Q2_K_XL*", "*mmproj-F16*"],
)

Um Devstral 2 für die Produktion bereitzustellen, verwenden wir llama-server In einem neuen Terminal, z. B. via tmux, deploye das Modell via:

Wenn du das Obige ausführst, erhältst du:

Dann in einem neuen Terminal, nachdem du pip install openai, mache:

Was einfach 4 ausgeben wird. Du kannst zum llama-server Bildschirm zurückkehren und möglicherweise einige Statistiken sehen, die interessant sein könnten:

Für Argumente wie die Verwendung von speculative decoding siehe https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.mdarrow-up-right

Eigenheiten von Llama-server

  • Bei Verwendung von --jinja fügt llama-server die folgende Systemnachricht hinzu, wenn Tools unterstützt werden: Antworte im JSON-Format, entweder mit tool_call (eine Anfrage zum Aufrufen von Tools) oder mit response als Antwort auf die Anfrage des Benutzers . Dies verursacht manchmal Probleme mit Fine-Tunes! Siehe das llama.cpp Repositoryarrow-up-right für weitere Details. Du kannst dies mit folgendem Befehl stoppen --no-jinja aber dann Tools werden nicht mehr unterstützt. Zum Beispiel verwendet FunctionGemma standardmäßig:

    Aber aufgrund der zusätzlichen Nachricht, die llama-server anhängt, erhalten wir:

    Wir haben das Problem gemeldet an https://github.com/ggml-org/llama.cpp/issues/18323arrow-up-right und die Entwickler von llama.cpp arbeiten an einer Lösung! In der Zwischenzeit füge bitte für alle Fine-Tunes die Aufforderung speziell für Tool-Aufrufe hinzu!

🧰Tool-Aufrufe mit llama-server

Tool Calling mit GLM 4.7 Tool Calling Guide wie man Tool-Aufrufe durchführt!

Zuletzt aktualisiert

War das hilfreich?