LLM 大模型部署实战:Ollama、OpenLLM、LocalAI 与 Dify 集成指南
详细阐述了 LLM 大模型的本地化部署方案,涵盖 Ollama、OpenLLM、LocalAI 三种核心工具的安装配置、API 调用及运维管理,并介绍了如何将其集成至 Dify 平台进行应用开发。内容包含一键安装脚本、Systemd 服务配置、Docker 网络设置、环境变量调整及多模型对比分析,旨在帮助开发者构建安全、高效且可控的私有化 AI 基础设施,解决数据隐私与成本问题。

详细阐述了 LLM 大模型的本地化部署方案,涵盖 Ollama、OpenLLM、LocalAI 三种核心工具的安装配置、API 调用及运维管理,并介绍了如何将其集成至 Dify 平台进行应用开发。内容包含一键安装脚本、Systemd 服务配置、Docker 网络设置、环境变量调整及多模型对比分析,旨在帮助开发者构建安全、高效且可控的私有化 AI 基础设施,解决数据隐私与成本问题。

随着大语言模型(LLM)技术的快速发展,数据隐私、成本控制以及响应延迟成为企业和个人用户关注的核心问题。本地化部署大模型能够在保障数据不出域的前提下,实现私有化的智能服务。本文将详细介绍四种主流的本地及混合部署方案:Ollama、OpenLLM、LocalAI 以及基于 Dify 的应用编排,并提供详细的配置步骤与常见问题解决方案。
Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型而设计。它简化了 Docker 容器中的部署过程,支持多种操作系统,并提供了简洁的 API 接口。
使用官方提供的安装脚本是最快捷的方式。如果遇到证书验证错误(如 error setting certificate verify locations),通常是因为 CA 证书路径配置不正确。
解决方法:
cacert.pem 文件。export CURL_CA_BUNDLE=/path/to/cacert.pem
# 示例:export CURL_CA_BUNDLE=/www/anaconda3/ssl/cacert.pem
curl -fsSL https://ollama.com/install.sh | sh
适用于需要更精细控制环境的场景。
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
/etc/systemd/system/ollama.service:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama
journalctl -u ollama
对于内网服务器,可先在联网机器下载对应 CPU 架构的安装包(如 ollama-linux-amd64),传输至目标服务器后重命名并赋予权限,后续步骤与手动安装一致。
默认模型存储路径因操作系统而异:
~/.ollama/models/usr/share/ollama/.ollama/modelsC:\Users\.ollama\models若需修改存储路径,可通过编辑 systemd 服务文件添加环境变量:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:7861"
Environment="OLLAMA_MODELS=/www/algorithm/LLM_model/models"
修改后需重新加载配置:
systemctl daemon-reload
systemctl restart ollama
ollama pull llama3.1
ollama pull qwen2
ollama run llama3.1
ollama list
ollama ps
nvidia-smi
curl http://10.80.2.195:7861/api/chat -d '{
"model": "llama3.1",
"messages": [{"role": "user", "content": "why is the sky blue?"}]
}'
OLLAMA_HOST=0.0.0.0:7861 允许外部访问。OLLAMA_NUM_PARALLEL 调整并发请求数。CUDA_VISIBLE_DEVICES 指定 GPU 索引:
[Service]
Environment="CUDA_VISIBLE_DEVICES=0,1"
OLLAMA_KEEP_ALIVE 控制模型在内存中的保留时长,设置为 -1 表示永久驻留。如需彻底移除 Ollama:
sudo systemctl stop ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm $(which ollama)
sudo rm -r /usr/share/ollama
sudo userdel ollama
OpenLLM 是一个用于在生产环境中操作大型语言模型的开放平台,支持微调、服务、部署和监控。它允许开发者通过一行代码切换不同的模型供应商。
pip install openllm
openllm hello
OpenLLM 支持多种主流模型,包括但不限于:
OpenLLM 提供内置 Python 客户端:
import openllm
client = openllm.client.HTTPClient('http://localhost:3000')
response = client.query('Explain to me the difference between "further" and "farther"')
print(response)
或通过命令行查询:
export OPENLLM_ENDPOINT=http://localhost:3000
openllm query 'Explain to me the difference between "further" and "farther"'
LocalAI 是一个本地推理框架,提供 RESTful API,兼容 OpenAI API 规范。它允许在消费级硬件上运行 LLM 和 Embedding 模型,无需 GPU 即可运行部分量化模型。
git clone https://github.com/go-skynet/LocalAI
cd LocalAI/examples/langchain-chroma
wget https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-q4_0.bin -O models/bert
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j
mv .env.example .env
注意确保 THREADS 变量不超过 CPU 核心数。使用 Docker Compose 启动:
docker-compose up -d --build
docker logs -f langchain-chroma-api-1
服务启动后,默认监听 http://127.0.0.1:8080。
LocalAI 允许将本地模型映射为 OpenAI 标准名称:
ggml-gpt4all-j -> 对外名称 gpt-3.5-turboall-MiniLM-L6-v2 -> 对外名称 text-embedding-ada-002Dify 是一个 AI 应用开发平台,支持接入上述各类本地模型进行应用编排。
在 Dify 后台设置中,选择对应的模型供应商(Ollama/OpenLLM/LocalAI)并填写以下信息:
llama3.1 或 gpt-3.5-turbohttp://<IP>:11434若 Dify 和模型服务均部署在 Docker 容器中,需注意网络连通性:
localhost,应使用宿主机 IP 或 Docker 桥接网络地址。Connection refused 通常是因为端口未暴露或防火墙拦截。host.docker.internal 或使用自定义 Docker Network。Dify 支持添加多个模型实例,添加新模型后需刷新网页以加载配置。可通过资源监控面板观察不同模型的调用消耗情况。
| 特性 | Ollama | OpenLLM | LocalAI |
|---|---|---|---|
| 易用性 | 极高,单命令安装 | 高,Python 生态友好 | 中,依赖 Docker 配置 |
| API 兼容性 | 原生 API | 自定义 SDK | 高度兼容 OpenAI |
| 资源占用 | 低,优化良好 | 中等 | 中等,取决于模型 |
| 适用场景 | 个人开发、快速原型 | 生产环境、多模型管理 | 需要 OpenAI 兼容接口 |
docker network inspect 确认容器间 DNS 解析是否正常。本地化部署大模型是实现 AI 私有化落地的关键一步。Ollama 适合快速上手,OpenLLM 适合灵活管理,LocalAI 适合兼容现有生态,而 Dify 则提供了强大的应用编排能力。根据具体业务需求选择合适的组合,能够显著提升开发效率与系统安全性。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online