SuperAPI AI 工具集

deploy-llms-with-ansible

deploy-llms-with-ansible 是一个基于 Ansible 的开源部署方案,用于在 Debian 虚拟机上通过 Docker 快速部署和提供 LLM 服务,支持 Ollama 或 llama.cpp 两种后端。项目通过白名单 IP 限制访问,仅允许指定 IP 请求服务。使用前需在本地安装 Ansible,并准备已安装 Docker 的 Debian 虚拟机及 SSH 访问权限。用户需修改对应文件夹下的 inventory 文件,配置主机地址、SSH 用户、私钥路径、模型 URL 或模型名称以及允许访问的 IP。部署后服务监听 8080 端口,可使用 OpenAI API 规范发起请求。

访问官网

工具介绍

用途

deploy-llms-with-ansible 旨在简化 LLM 在虚拟机上的部署与提供流程。它使用 Ansible 自动化配置,通过 Docker 运行 llama.cpp 或 Ollama,并借助 IP 白名单限制访问,仅允许指定 IP 请求服务。

主要能力

  • 支持两种 LLM 运行后端:Ollama 和 llama.cpp。
  • 基于 Docker 容器化部署,运行在 Debian 系虚拟机上。
  • 通过 Ansible 实现自动化配置与部署。
  • 使用 IP 白名单进行访问控制,只有白名单内的 IP 可以请求服务。
  • 服务默认监听 8080 端口,支持 OpenAI API 规范发起请求。

使用方式

前置条件

  • 本地机器已安装 Ansible。
  • 一台基于 Debian 的虚拟机,且已安装 Docker。
  • 能够通过 SSH 访问该虚拟机。

配置步骤

  1. 根据所选技术(Ollama 或 llama.cpp),进入对应文件夹(ollama 或 llamacpp)修改 inventory 文件。
  2. 每个文件夹包含一个 inventory.example.yml 模板文件,将其复制为 inventory.yml。
  3. 根据实际情况修改 inventory.yml 中的配置项。

llama.cpp 配置项

  • ansible_host:虚拟机的 IP 地址。
  • ansible_user:SSH 连接用户名。
  • ansible_ssh_private_key_file:SSH 私钥文件路径。
  • model_url:GGUF 模型文件的 URL。
  • allowed_ip_for_8080:允许访问服务器(8080 端口)的 IP 地址。

Ollama 配置项

  • model_name:Ollama 库中定义的模型名称(例如 Qwen3-0.6B 对应 qwen3:0.6b)。

部署与请求

  • 使用 Ollama 部署或使用 llama.cpp 部署(具体命令未在资料中提供)。
  • 部署后服务在 8080 端口可用,可使用 OpenAI API 规范发起请求。
  • 请求中的 model 字段必须与部署的模型完全匹配:
    • 对于 Ollama:使用与 inventory.yml 中 model_name 相同的值。
    • 对于 llama.cpp:该值不重要。

适用场景

  • 需要在自有 Debian 虚拟机上快速部署 LLM 并对外提供 API 服务的场景。
  • 希望通过 IP 白名单限制访问、增强安全性的内部或受控环境。
  • 希望使用 Ansible 自动化管理 LLM 部署流程的运维或开发人员。

限制

  • 仅支持 Debian 系虚拟机。
  • 需要本地安装 Ansible,虚拟机需安装 Docker 并支持 SSH 访问。
  • 访问控制仅基于 IP 白名单。
  • 资料中未提供具体的部署命令、示例请求的完整内容以及更多高级配置说明。