当前位置: 首页 > news >正文

Dify 完全指南(一):从零搭建开源大模型应用平台(Ollama/VLLM本地模型接入实战)》

文章目录

    • 1. 相关资源
    • 2. 核心特性
    • 3. 安装与使用(Docker Compose 部署)
      • 3.1 部署Dify
      • 3.2 更新Dify
      • 3.3 重启Dify
      • 3.4 访问Dify
    • 4. 接入本地模型
      • 4.1 接入 Ollama 本地模型
        • 4.1.1 步骤
        • 4.1.2 常见问题
      • 4.2 接入 Vllm 本地模型
    • 5. 进阶应用场景
    • 6. 总结

1. 相关资源

  • 官网
  • Github
  • 说明文档

2. 核心特性

  • ✅ 多模型支持:兼容 OpenAI、Anthropic、Ollama、VLLM、Hugging Face 等数百种模型。
  • ✅ 可视化 Prompt 编排:无需代码,通过界面调整 AI 行为。
  • ✅ RAG 增强检索:支持知识库上传(PDF/TXT/Markdown 等),提升回答准确性。
  • ✅ Agent 框架:可构建自动化 AI 工作流(如数据分析、客服机器人)。
  • ✅ 灵活部署:支持 Docker 一键部署,适配本地、云端及混合环境。

3. 安装与使用(Docker Compose 部署)

参考资料

Docker Compose 部署

在运行安装命令之前,请确保您的机器上安装了 Docker 和 Docker Compose,安装 Docker 以及 Docker Compose 的具体步骤可以参考 Ubuntu 24.04 完整Docker安装指南:从零配置到实战命令大全。

3.1 部署Dify

cd ~/workspace/ai/tools && git clone --depth 1 git@gitee.com:dify_ai/dify.git && cd dify/docker
cp .env.example .env
# 启动 Docker 容器,未将当前用户加入docker组的话,需要使用sudo
docker compose up -d
# 检查容器是否都正常运行
docker compose ps

值得注意的是,如果版本是 Docker Compose V1,在使用命令 docker compose 的时候,需要换成 docker-compose,例如 docker-compose up -d

3.2 更新Dify

cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

注意:

  • 如果 .env.example 文件有更新,请务必同步修改你本地的 .env 文件。
  • 检查 .env 文件中的所有配置项,确保它们与你的实际运行环境相匹配。你可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。
  • 更新后需要重启 Dify

3.3 重启Dify

# 停止Dify
docker compose down
# 启动Dify
docker compose up -d

3.4 访问Dify

# 本地环境
http://localhost# 服务器环境
http://your_server_ip

4. 接入本地模型

4.1 接入 Ollama 本地模型

参考资料

接入 Ollama 部署的本地模型
私有化部署 Ollama + DeepSeek + Dify,构建你的专属私人 AI 助手

笔者实验环境为 Ubuntu24.04,宿主机启动 Ollama 服务 + Docker Compose部署 Dify

4.1.1 步骤
  1. 点击 Dify 平台右上角头像 → 设置 → 模型供应商,选择 Ollama,点击“添加模型”(若 Dify 平台中 Ollama 插件未安装的话,需要先点击“安装”)。
  2. 输入模型名称、基础URL,其他选项可使用默认设置即可,点击“保存”。其中:
    • 模型名称 为 Ollama 服务中的模型名称,可通过 ollama list 获取
      ollama list
    • 基础URL 为 Ollama 服务地址,例如 http://host.docker.internal:11434
      ollama_config
4.1.2 常见问题
  1. Connection refused问题

    使用官方文档中的 http://host.docker.internal:11434 作为基础URL,可能会出现 httpconnectionpool (host=localhost, port=11434): max retries exceeded with url:/cpi/chat (Caused by NewConnectionError ('<urllib3.connection.HTTPConnection object at 0x7f8562812c20>: fail to establish a new connection:[Errno 111] Connection refused')) 错误,此时需要直接使用宿主机的IP地址。

    解决步骤:

    1. 设置 Ollama 服务监听地址

      # 修改 ollama.service 文件,添加 OLLAMA_HOST 环境变量
      sudo vim /etc/systemd/system/ollama.service
      # 在 [Service] 下添加
      Environment="OLLAMA_HOST=0.0.0.0:11434"
      # 重新加载配置文件
      sudo systemctl daemon-reload
      sudo systemctl restart ollama
      # 查看服务状态,确保 ollama 服务以 :::11434 启动
      sudo netstat -tulnp | grep ollama 
      # 重启Dify
      docker compose down
      docker compose up -d
      
    2. 获取本机IP地址

      # 获取本机IP地址,假如输出为 192.168.163.248
      hostname -I | awk '{print $1}'
      # 测试以本机IP是否可以查看ollama模型列表(需要将 192.168.163.248 替换为上一步实际输出的IP地址)
      curl http://192.168.163.248:11434/api/tags # 应成功返回模型列表
      
    3. 开启防火墙端口

      如果仍有问题,考虑是否防火墙拦截了 11434 端口,需要配置防火墙规则。

      sudo ufw allow 11434/tcp && sudo ufw reload
      
    4. 修改基础URL配置

      修改基础URL配置,将 http://host.docker.internal:11434 修改为 http://192.168.163.248:11434,再次点击 保存 即可。

4.2 接入 Vllm 本地模型

  1. 点击 Dify 平台右上角头像 → 设置 → 模型供应商,选择 Vllm,点击“添加模型”(若 Dify 平台中 Vllm 插件未安装的话,需要先点击“安装”)。
  2. 输入模型名称、API endpoint URL,其他选项可使用默认设置即可,点击“保存”。其中:
    • 模型名称 为 Vllm 服务启动的模型名称
    • API endpoint URL 为 Vllm 服务地址,例如 http://192.168.163.248:8000/v1
      vllm_config

5. 进阶应用场景

🔹 知识库问答:上传企业文档,构建智能客服。
🔹 AI 工作流:结合 Agent 实现自动化任务(如邮件撰写+数据分析)。
🔹 私有化部署:企业级数据安全,完全本地运行。

6. 总结

Dify 是当前最易用的开源 LLM 应用平台之一,适合快速搭建 AI 应用。本文详细介绍了 Docker 部署、Ollama/VLLM 本地模型接入 及常见问题排查,帮助开发者高效落地 AI 项目。

相关文章:

  • QT聊天项目DAY07
  • MPI,Pthreads和OpenMP等并行实验环境配置
  • n8n 快速入门2:构建自动化工作流
  • Scartch038(四季变换)
  • SSE技术的基本理解以及在项目中的使用
  • C++日志系统实现(一)
  • redis----通用命令
  • windows鼠标按键自定义任意设置
  • ubuntu修改时区和设置24小时格式时间
  • 分布式系统中的 ActiveMQ:异步解耦与流量削峰(一)
  • 潮乎盲盒商城系统全开源多级分销推广海报奖品兑换试玩概率OSS云存储多端源码
  • 《Java高级编程:从原理到实战 - 进阶知识篇五》
  • Qt中QVector的实现与简化
  • 统计学中的p值是什么?怎么使用?
  • TS 枚举类型
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.2 数据类型转换(CAST函数/自定义函数)
  • WSL在D盘安装Ubuntu
  • 8.5 从零到生产:Docker+K8s+CI/CD全链路部署实战手册
  • 【SpringAI+阿里云百炼】AI对话4个Demo
  • 40. 组合总和 II
  • 降雪致长白山天池景区关闭,有游客在户外等待一小时,景区回应
  • 中海油高管调整:刘永杰、刘小刚任副总裁
  • 美国警方:爱达荷州交通事故致7人死亡,8名伤者预计无生命危险
  • 巴菲特执掌60年,伯克希尔市值如何增长5.5万倍?详解五大经典投资案例
  • 港股5月迎开门红,恒生科指涨3%,欧股开盘全线上扬
  • 胸外科专家查出肺多发结节,说了一个可怕的事实……