llama-server と OpenAI 互換エンドポイントのデプロイガイド

OpenAI 互換エンドポイントを使って llama-server 経由でデプロイする方法

私たちは Devstral-2 をデプロイしようとしています — 詳細は参照してください Devstral 2 モデルの詳細については。

最新の llama.cppGitHubで入手してくださいarrow-up-right。以下のビルド手順にも従うことができます。を変更してください -DGGML_CUDA=ON-DGGML_CUDA=OFF GPUを持っていない場合やCPUで推論したい場合は Apple Mac / Metalデバイスの場合、次を設定してください -DGGML_CUDA=OFF その後通常通り続行してください — Metalサポートはデフォルトで有効です。

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

を使用する場合 --jinja ツールがサポートされている場合、llama-server は次のシステムメッセージを追加します: JSON 形式で応答してください。tool_call(ツール呼び出しのリクエスト)またはユーザーの要求に対する response のいずれかで応答してください 。これはファインチューンに問題を引き起こすことがあります!詳細は参照してください llama.cpp リポジトリarrow-up-right 詳細については。

まず Devstral 2 をダウンロードしてください:

# !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*"],
)

Devstral 2 を本番環境にデプロイするために、私たちは次を使用します return messages 新しいターミナルで例えば tmux を使い、次でモデルをデプロイします:

上記を実行すると、次が得られます:

その後、新しいターミナルで、を実行した後に: その後、OpenAIのPythonライブラリを使用します(次を行ってください:

これは単に 4 を出力します。 llama-server の画面に戻ると、興味深い統計が表示されることがあります:

投機的デコーディングの使用などの引数については、参照してください https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.mdarrow-up-right

Llama-server の特異点

  • を使用する場合 --jinja ツールがサポートされている場合、llama-server は次のシステムメッセージを追加します: JSON 形式で応答してください。tool_call(ツール呼び出しのリクエスト)またはユーザーの要求に対する response のいずれかで応答してください 。これはファインチューンに問題を引き起こすことがあります!詳細は参照してください llama.cpp リポジトリarrow-up-right 詳細については。 次を使用してこれを停止できます --no-jinja しかしその場合 ツールは サポートされなくなります。 例えば FunctionGemma はデフォルトで次を使用します:

    しかし llama-server が余分なメッセージを追加するため、次のようになります:

    我々はこの問題を報告しました: https://github.com/ggml-org/llama.cpp/issues/18323arrow-up-right そして llama.cpp の開発者たちは修正に取り組んでいます! その間、すべてのファインチューンについては、ツール呼び出し用のプロンプトを明示的に追加してください!

🧰llama-server でのツール呼び出し

print(completion.choices[0].message.content) Tool Calling Guide ツール呼び出しの方法について!

最終更新

役に立ちましたか?