推理端点 (专用) 文档

部署 llama.cpp 容器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

部署 llama.cpp 容器

您可以在 Hugging Face 端点上部署任何与 llama.cpp 兼容的 GGUF 模型。当您使用 GGUF 模型创建端点时,会自动选择一个使用 llama.cpp 存储库 master 分支构建的最新镜像的 llama.cpp 容器。部署成功后,将提供一个具有 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. 可以选择自定义容器的配置设置,例如 Max TokensNumber of Concurrent Requests。有关这些设置的更多信息,请参阅下面的“配置”部分。

  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

故障排除

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

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

  • 内存分配失败:内存不足
    如果您在日志中看到此错误消息

    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 问题页面。如果您想创建新的问题,请在您的错误报告中包含完整的日志输出。

< > 在 GitHub 上更新