推理端点(专用)文档
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 页面。如果您想创建新问题,请在您的错误报告中包含完整的日志输出。