跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

LLM 大模型部署实战:Ollama、OpenLLM、LocalAI 与 Dify 集成指南

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

颠三倒四发布于 2025/2/7更新于 2026/10/24104 浏览
LLM 大模型部署实战:Ollama、OpenLLM、LocalAI 与 Dify 集成指南

LLM 大模型部署实战:Ollama、OpenLLM、LocalAI 与 Dify 集成指南

引言

随着大语言模型(LLM)技术的快速发展,数据隐私、成本控制以及响应延迟成为企业和个人用户关注的核心问题。本地化部署大模型能够在保障数据不出域的前提下,实现私有化的智能服务。本文将详细介绍四种主流的本地及混合部署方案:Ollama、OpenLLM、LocalAI 以及基于 Dify 的应用编排,并提供详细的配置步骤与常见问题解决方案。

1. Ollama 部署方案

Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型而设计。它简化了 Docker 容器中的部署过程,支持多种操作系统,并提供了简洁的 API 接口。

1.1 安装方式

一键安装脚本

使用官方提供的安装脚本是最快捷的方式。如果遇到证书验证错误(如 error setting certificate verify locations),通常是因为 CA 证书路径配置不正确。

解决方法:

  1. 找到或下载 cacert.pem 文件。
  2. 设置环境变量指向证书路径:
    export CURL_CA_BUNDLE=/path/to/cacert.pem
    # 示例:export CURL_CA_BUNDLE=/www/anaconda3/ssl/cacert.pem
    
  3. 执行安装命令:
    curl -fsSL https://ollama.com/install.sh | sh
    
手动安装二进制文件

适用于需要更精细控制环境的场景。

  1. 下载 Linux 二进制文件:
    sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
    sudo chmod +x /usr/bin/ollama
    
  2. 创建系统用户:
    sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
    
  3. 配置 systemd 服务文件 /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
    
  4. 启动服务:
sudo systemctl daemon-reload sudo systemctl enable ollama sudo systemctl start ollama
  • 查看日志排查问题:
    journalctl -u ollama
    
  • 离线安装

    对于内网服务器,可先在联网机器下载对应 CPU 架构的安装包(如 ollama-linux-amd64),传输至目标服务器后重命名并赋予权限,后续步骤与手动安装一致。

    1.2 存储路径与配置

    默认模型存储路径因操作系统而异:

    • macOS: ~/.ollama/models
    • Linux: /usr/share/ollama/.ollama/models
    • Windows: C:\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
    

    1.3 常用操作与监控

    • 拉取模型:
      ollama pull llama3.1
      ollama pull qwen2
      
    • 运行模型:
      ollama run llama3.1
      
    • 查看已加载模型:
      ollama list
      
    • 查看显存占用:
      ollama ps
      nvidia-smi
      
    • API 测试:
      curl http://10.80.2.195:7861/api/chat -d '{
        "model": "llama3.1",
        "messages": [{"role": "user", "content": "why is the sky blue?"}]
      }'
      

    1.4 高级配置

    • 网络监听:设置 OLLAMA_HOST=0.0.0.0:7861 允许外部访问。
    • 并发处理:通过 OLLAMA_NUM_PARALLEL 调整并发请求数。
    • GPU 指定:在多卡环境下,通过 CUDA_VISIBLE_DEVICES 指定 GPU 索引:
      [Service]
      Environment="CUDA_VISIBLE_DEVICES=0,1"
      
    • 模型存活时间:OLLAMA_KEEP_ALIVE 控制模型在内存中的保留时长,设置为 -1 表示永久驻留。

    1.5 卸载与清理

    如需彻底移除 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
    

    2. OpenLLM 部署方案

    OpenLLM 是一个用于在生产环境中操作大型语言模型的开放平台,支持微调、服务、部署和监控。它允许开发者通过一行代码切换不同的模型供应商。

    2.1 安装与初始化

    pip install openllm
    openllm hello
    

    2.2 支持的模型

    OpenLLM 支持多种主流模型,包括但不限于:

    • Llama-3.1, Llama-3, Llama-2
    • Mistral, Mixtral
    • Gemma-2, Gemma
    • Qwen-2
    • Phi-3

    2.3 客户端交互

    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"'
    

    3. LocalAI 部署方案

    LocalAI 是一个本地推理框架,提供 RESTful API,兼容 OpenAI API 规范。它允许在消费级硬件上运行 LLM 和 Embedding 模型,无需 GPU 即可运行部分量化模型。

    3.1 环境准备

    1. 克隆仓库并进入目录:
      git clone https://github.com/go-skynet/LocalAI
      cd LocalAI/examples/langchain-chroma
      
    2. 下载 Demo 模型(示例):
      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
      
    3. 配置环境变量:
      mv .env.example .env
      
      注意确保 THREADS 变量不超过 CPU 核心数。

    3.2 启动服务

    使用 Docker Compose 启动:

    docker-compose up -d --build
    docker logs -f langchain-chroma-api-1
    

    服务启动后,默认监听 http://127.0.0.1:8080。

    3.3 模型映射

    LocalAI 允许将本地模型映射为 OpenAI 标准名称:

    • LLM 模型:ggml-gpt4all-j -> 对外名称 gpt-3.5-turbo
    • Embedding 模型:all-MiniLM-L6-v2 -> 对外名称 text-embedding-ada-002

    4. Dify 应用集成

    Dify 是一个 AI 应用开发平台,支持接入上述各类本地模型进行应用编排。

    4.1 配置模型供应商

    在 Dify 后台设置中,选择对应的模型供应商(Ollama/OpenLLM/LocalAI)并填写以下信息:

    • 模型名称:如 llama3.1 或 gpt-3.5-turbo
    • 基础 URL:根据部署方式填写,例如 http://<IP>:11434
    • 模型类型:对话或文本嵌入
    • 上下文长度:根据模型规格填写,默认通常为 4096
    • Vision 支持:若模型支持多模态(如 llava),请勾选

    4.2 Docker 网络配置

    若 Dify 和模型服务均部署在 Docker 容器中,需注意网络连通性:

    • 容器内无法直接访问 localhost,应使用宿主机 IP 或 Docker 桥接网络地址。
    • 常见错误 Connection refused 通常是因为端口未暴露或防火墙拦截。
    • 建议配置 host.docker.internal 或使用自定义 Docker Network。

    4.3 多模型管理

    Dify 支持添加多个模型实例,添加新模型后需刷新网页以加载配置。可通过资源监控面板观察不同模型的调用消耗情况。

    5. 方案对比与选型建议

    特性OllamaOpenLLMLocalAI
    易用性极高,单命令安装高,Python 生态友好中,依赖 Docker 配置
    API 兼容性原生 API自定义 SDK高度兼容 OpenAI
    资源占用低,优化良好中等中等,取决于模型
    适用场景个人开发、快速原型生产环境、多模型管理需要 OpenAI 兼容接口

    5.1 生产环境最佳实践

    1. 安全加固:限制 API 访问 IP,启用认证机制。
    2. 资源隔离:为不同模型分配独立的 GPU 显存配额。
    3. 监控告警:集成 Prometheus 监控显存、CPU 及请求延迟。
    4. 备份策略:定期备份模型权重文件及配置文件。

    6. 常见问题排查

    • 连接超时:检查防火墙规则,确保端口(如 11434, 8080)已开放。
    • 显存不足:尝试加载量化版本模型(如 Q4_K_M),或减少并发数。
    • 模型不识别:确认模型文件名与配置文件中的名称一致。
    • Docker 网络不通:检查 docker network inspect 确认容器间 DNS 解析是否正常。

    结语

    本地化部署大模型是实现 AI 私有化落地的关键一步。Ollama 适合快速上手,OpenLLM 适合灵活管理,LocalAI 适合兼容现有生态,而 Dify 则提供了强大的应用编排能力。根据具体业务需求选择合适的组合,能够显著提升开发效率与系统安全性。

    目录

    1. LLM 大模型部署实战:Ollama、OpenLLM、LocalAI 与 Dify 集成指南
    2. 引言
    3. 1. Ollama 部署方案
    4. 1.1 安装方式
    5. 一键安装脚本
    6. 示例:export CURLCABUNDLE=/www/anaconda3/ssl/cacert.pem
    7. 手动安装二进制文件
    8. 离线安装
    9. 1.2 存储路径与配置
    10. 1.3 常用操作与监控
    11. 1.4 高级配置
    12. 1.5 卸载与清理
    13. 2. OpenLLM 部署方案
    14. 2.1 安装与初始化
    15. 2.2 支持的模型
    16. 2.3 客户端交互
    17. 3. LocalAI 部署方案
    18. 3.1 环境准备
    19. 3.2 启动服务
    20. 3.3 模型映射
    21. 4. Dify 应用集成
    22. 4.1 配置模型供应商
    23. 4.2 Docker 网络配置
    24. 4.3 多模型管理
    25. 5. 方案对比与选型建议
    26. 5.1 生产环境最佳实践
    27. 6. 常见问题排查
    28. 结语

    更多推荐文章

    查看全部
    • 程序员求职现状分析:行业寒冬下的赛道选择与技能提升
    • MySQL 表基础语法:增删查与函数核心技巧
    • 高鋒集團與 Web3Labs:以資本與生態賦能傳統企業 Web3 轉型
    • AI 产品经理面试指南与职业发展路径分析
    • 分布式配置中心深度解析:Spring Cloud Config 与 Apollo 架构对比
    • AI 大模型开发入门:四大必备开源工具指南
    • C++ 关联容器实战:Set、Map 与键值对核心解析
    • 基于 Coze 构建专属 AI 应用:从智能体开发到 Web 部署实战
    • Python 3.11.14 安装指南及安全修复说明
    • OpenClaw:开源 AI 智能体框架的技术架构与实战指南
    • Java 零基础入门教程:环境搭建与核心语法
    • 本地部署 AI 服务零公网 IP 安全访问方案
    • 程序员进阶技术专家的核心能力与源码深度解析
    • GitHub 学生开发者包认证指南
    • 微软开源 TinyTroupe:基于 LLM 的多智能体角色模拟框架
    • 常见 Web 漏洞渗透及防护方法
    • 基于飞牛 NAS 与 Docker 部署私人 IPTV 直播源服务
    • Cursor Chat Browser:浏览和管理 Cursor AI 聊天历史的 Web 应用
    • Stable Diffusion 秋叶整合包安装与常用功能指南
    • 高并发系统的网络参数优化与服务超时管理

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online