×

注意!页面内容来自https://hugging-face.cn/docs/inference-endpoints/engines/llama_cpp,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

推理端点(专用)文档

llama.cpp

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

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 容器端点,请按照以下步骤操作:

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

  2. 点击 创建端点 按钮完成部署。

或者,您可以观看下面的视频教程,了解部署 llama.cpp 容器端点的分步指南。

配置

llama.cpp 容器提供了多种可调整的配置选项。部署后,您可以通过访问端点详细信息页面上的设置选项卡来修改这些设置。

基本配置

  • 每请求最大令牌数 (Max Tokens):单个请求中可以发送的最大令牌数。
  • 最大并发请求数 (Max Concurrent Requests):此部署允许的最大并发请求数。增加此限制需要额外的内存分配。例如,将此值设置为 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 evictedstorage limit exceeded
    此错误消息表明硬件内存不足以容纳所选的 GGUF 模型。请尝试选择一个更小的模型或更大的硬件配置。

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

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging FaceInc.