推理端點(專用)文件
llama.cpp
並獲得增強的文件體驗
開始使用
llama.cpp
llama.cpp 是一個用 C/C++ 編寫的高效能推理引擎,專為在 GGUF 格式下執行 Llama 和相容模型而設計。
核心功能
- GGUF 模型支援:原生相容 GGUF 格式及其所有量化型別。
- 多平臺:針對 CPU 和 GPU 執行進行了最佳化,支援 AVX、AVX2、AVX512 和 CUDA 加速。
- 相容 OpenAI 的 API:提供用於聊天、完成、嵌入等功能的端點,實現與現有工具和工作流程的無縫整合。
- 活躍的社群和生態系統:快速發展和豐富的工具、擴充套件和整合生態系統。
當您使用 GGUF 模型建立端點時,會自動選擇一個 llama.cpp 容器,該容器使用從 llama.cpp 倉庫的 master
分支構建的最新映象。部署成功後,一個相容 OpenAI 的端點伺服器即可使用。
llama.cpp 支援多個端點,例如 /tokenize
、/health
、/embedding
等。有關可用端點的完整列表,請參閱 API 文件。
部署步驟
要使用 llama.cpp 容器部署端點,請按照以下步驟操作:
- 建立新端點,然後選擇包含 GGUF 模型的倉庫。llama.cpp 容器將自動選中。

- 選擇所需的 GGUF 檔案,請注意記憶體要求將根據所選檔案而異。例如,F16 模型比 Q4_K_M 模型需要更多的記憶體。

- 選擇所需的硬體配置。

(可選)您可以自定義容器的配置設定,例如
最大令牌數
、併發請求數
。有關這些設定的更多資訊,請參閱下面的配置部分。單擊建立端點按鈕完成部署。
此外,您可以按照下面的影片教程,獲取使用 llama.cpp 容器部署端點的分步指南。
配置
llama.cpp 容器提供多項可調整的配置選項。部署後,您可以透過訪問端點詳情頁面上的設定選項卡來修改這些設定。
基本配置
- 最大令牌數(每次請求):單次請求中可傳送的最大令牌數。
- 最大併發請求數:此部署允許的最大併發請求數。增加此限制需要額外的記憶體分配。例如,將此值設定為 4 個請求,每個請求最大 1024 個令牌,則總共需要 4096 個令牌的記憶體容量。
高階配置
除了基本配置外,您還可以透過設定環境變數來修改特定設定。可用環境變數列表可在 API 文件中找到。
請注意,以下環境變數為系統保留,不可修改:
LLAMA_ARG_MODEL
LLAMA_ARG_HTTP_THREADS
LLAMA_ARG_N_GPU_LAYERS
LLAMA_ARG_EMBEDDINGS
LLAMA_ARG_HOST
LLAMA_ARG_PORT
LLAMA_ARG_NO_MMAP
LLAMA_ARG_CTX_SIZE
LLAMA_ARG_N_PARALLEL
LLAMA_ARG_ENDPOINT_METRICS
故障排除
如果部署失敗,請檢視日誌輸出是否有任何錯誤訊息。
您可以透過單擊端點詳細資訊頁面上的日誌選項卡來訪問日誌。要了解更多資訊,請參閱日誌文件。
記憶體分配失敗:記憶體不足
如果您在日誌中看到此錯誤訊息:ggml_backend_cuda_buffer_type_alloc_buffer: allocating 67200.00 MiB on device 0: cuda Malloc failed: out of memory llama_kv_cache_init: failed to allocate buffer for kv cache llama_new_context_with_model: llama_kv_cache_init() failed for self-attention cache ...
這意味著所選的硬體配置沒有足夠的記憶體來容納所選的 GGUF 模型。您可以嘗試:
- 降低每次請求的最大令牌數
- 降低併發請求數
- 選擇較小的 GGUF 模型
- 選擇更大的硬體配置
工作負載被驅逐,儲存限制超出
此錯誤訊息表示硬體記憶體不足,無法容納所選的 GGUF 模型。嘗試選擇較小的模型或選擇更大的硬體配置。其他問題
對於其他問題,請參考 llama.cpp issues 頁面。如果您想建立新問題,請在您的錯誤報告中包含完整的日誌輸出。