用途
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 访问该虚拟机。
配置步骤
- 根据所选技术(Ollama 或 llama.cpp),进入对应文件夹(ollama 或 llamacpp)修改 inventory 文件。
- 每个文件夹包含一个 inventory.example.yml 模板文件,将其复制为 inventory.yml。
- 根据实际情况修改 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 白名单。
- 资料中未提供具体的部署命令、示例请求的完整内容以及更多高级配置说明。