推理终端节点(专用)文档

部署 llama.cpp 容器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

部署 llama.cpp 容器

您可以在 Hugging Face 终端节点上部署任何与 llama.cpp 兼容的 GGUF。当您使用 GGUF 模型创建终端节点时,将自动选择 llama.cpp 容器,并使用从 llama.cpp 仓库的 master 分支构建的最新镜像。成功部署后,具有兼容 OpenAI 终端节点的服务器将可用。

Llama.cpp 支持多个终端节点,如 /tokenize/health/embedding 等等。有关可用终端节点的完整列表,请参阅 API 文档

部署步骤

要使用 llama.cpp 容器部署终端节点,请按照以下步骤操作

  1. 创建一个新的终端节点 并选择包含 GGUF 模型的仓库。将自动选择 llama.cpp 容器。
Select model
  1. 选择所需的 GGUF 文件,请注意内存要求将因所选文件而异。例如,F16 模型比 Q4_K_M 模型需要更多内存。
Select GGUF file
  1. 选择您所需的硬件配置。
Select hardware
  1. 可选地,您可以自定义容器的配置设置,如 最大令牌数并发请求数。有关这些的更多信息,请参阅下面的配置部分。

  2. 单击创建终端节点按钮以完成部署。

或者,您可以观看下面的视频教程,获取有关使用 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

故障排除

如果部署失败,请查看日志输出中的任何错误消息。

您可以通过单击终端节点详细信息页面上的日志选项卡来访问日志。要了解更多信息,请参阅 日志 文档。

  • Malloc failed: out of memory
    如果您在日志中看到此错误消息

    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 模型
    • 选择更大的硬件配置
  • Workload evicted, storage limit exceeded
    此错误消息表明硬件内存太少,无法容纳所选的 GGUF 模型。尝试选择较小的模型或选择更大的硬件配置。

  • 其他问题
    对于其他问题,请参阅 llama.cpp 问题页面。如果您想创建新问题,请在您的错误报告中也包含完整的日志输出。

< > 在 GitHub 上更新