本地部署 Dify + Ollama 到 D盘,并挂载本地大模型 的完整教程,结合 Docker 运行环境

news2025/7/16 1:11:37

一、环境准备
1. 软件与硬件要求
• 操作系统:Windows 10/11 专业版(需开启 Hyper-V)

• 硬件配置:

• CPU ≥ 4核(推荐 Intel i5 及以上)

• 内存 ≥ 16GB(大模型运行需预留 8GB 以上)

• 硬盘:D 盘预留 50GB 空间(模型与 Docker 存储)

• 必装工具:

• Docker Desktop(需配置镜像源加速)

• Git(用于克隆 Dify 源码)


二、Ollama 部署到 D 盘
1. 安装与路径指定

  1. 创建 D 盘目录:
    • 新建 D:\ollama 文件夹用于存储程序及模型。

  2. 安装 Ollama:
    • 下载 ollamaSetup.exe,以管理员身份运行命令:

    ollamaSetup.exe /dir=D:\ollama
    

    • 安装完成后,验证路径:检查 D:\ollama 下是否存在 ollama.exemodels 子目录。

  3. 配置环境变量:
    • 添加用户变量 OLLAMA_MODELS=D:\ollama\models,确保模型下载至 D 盘。

    • 添加系统变量 OLLAMA_HOST=0.0.0.0 以暴露服务端口。

2. 下载与运行大模型
• 拉取模型(以 deepseek-r1:8b 为例):

ollama run deepseek-r1:8b

模型将自动下载至 D:\ollama\models
• 验证服务:访问 http://localhost:11434,若返回 Ollama is running 则成功。


三、Dify 部署到 D 盘
1. Docker 环境配置

  1. 修改 Docker 存储路径:
    • 在 Docker Desktop 设置中,将镜像存储路径改为 D:\docker,避免占用 C 盘。

  2. 配置镜像加速:
    • 修改 Docker 引擎配置为国内镜像源(如 https://docker.1ms.run),加速依赖下载。

2. 部署 Dify 服务

  1. 克隆 Dify 源码:

    git clone https://github.com/langgenius/dify.git D:\dify
    
  2. 配置环境变量:
    • 复制 D:\dify\docker\.env.example.env,修改以下参数:

    # 数据库存储路径
    POSTGRES_DATA=D:\dify\data\postgres
    # 挂载 Ollama 服务地址
    OLLAMA_API_BASE=http://host.docker.internal:11434
    
  3. 启动 Docker 容器:

    cd D:\dify\docker
    docker compose up -d
    

    • 检查容器状态:docker compose ps,所有服务显示 Up 即正常。


四、Dify 挂载 Ollama 大模型
1. 配置模型供应商

  1. 登录 Dify:访问 http://localhost,注册管理员账号。

  2. 添加 Ollama 模型:
    • 进入 设置 → 模型供应商 → Ollama,填写:

    ◦ 模型名称:deepseek-r1:8b(与 Ollama 中名称一致)

    ◦ 基础 URL:http://host.docker.internal:11434(Docker 容器访问宿主机)

    ◦ 模型类型:对话

    ◦ 上下文长度:4096(与模型默认值一致)

2. 创建应用并测试

  1. 新建空白应用:选择“聊天助手”,输入名称(如 本地知识库助手)。

  2. 绑定模型:在应用编辑页右上角选择 deepseek-r1:8b 作为推理引擎。

  3. 上传知识库:
    • 支持 PDF/Word/TXT 格式,索引方式选择“经济型”(离线向量引擎)。

  4. 对话测试:输入问题验证模型响应及知识库检索是否正常。


五、常见问题与优化
1. 故障排查
• Ollama 服务无法连接:

• 检查 OLLAMA_HOST 是否设置为 0.0.0.0,并重启 Ollama 服务。

• 在 Docker 中执行 curl http://host.docker.internal:11434 验证连通性。

• 模型加载失败:

• 确认 OLLAMA_MODELS 路径权限,避免 Docker 容器无读写权限。

2. 性能优化
• 显存管理:

• 若使用 GPU,在 Ollama 启动时添加 --gpu 参数加速推理(需 NVIDIA 驱动支持)。

• 多模型切换:

• 通过 ollama list 查看已安装模型,动态切换不同规模的模型。


六、扩展功能
1. 公网访问(可选)
• 使用 cpolar 内网穿透:

• 安装 cpolar 并创建 HTTP 隧道,将 Dify 的 80 端口映射至公网。

• 生成随机域名,实现异地设备访问本地 AI 服务。

2. 多模态支持
• 若使用支持图片的模型(如 llava),在 Dify 中勾选 是否支持 Vision 并上传图片测试。


总结
通过以上步骤,可实现 Dify + Ollama 全链路本地化部署,数据安全可控且资源占用优化。此方案特别适合企业内网或对隐私要求高的场景,结合知识库功能可快速构建定制化 AI 应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2343221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文档构建:Sphinx全面使用指南 — 强化篇

文档构建:Sphinx全面使用指南 — 强化篇 Sphinx 是一款强大的文档生成工具,使用 reStructuredText 作为标记语言,通过扩展兼容 Markdown,支持 HTML、PDF、EPUB 等多种输出格式。它具备自动索引、代码高亮、跨语言支持等功能&#…

深度理解C语言函数之strlen()的模拟实现

文章目录 前言一、strlen的模拟实现二、模拟实现代码及思路2.1 计数法2.2 指针相减法三、递归计数法 总结 前言 我写这篇文章的目的主要是帮助理解C语言中重要函数的用法,后面也会总结C相关的函数的模拟实现,这里的算法不一定是最好的,因为只…

0基础 | Proteus仿真 | 51单片机 | 继电器

继电器---RELAY 本次选择一款5v一路继电器进行讲解 信号输入 IN1输入高电平,三极管导通,LED1点亮,电磁铁12接通吸引3向下与4接通,J1A的12接通 IN1输入低电平,则J1A的23接通 产品引脚定义及功能 序号 引脚符号 引脚…

Python解析地址中省市区街道

Python解析地址中省市区街道 1、效果 输入:海珠区沙园街道西基村 输出: 2、导入库 pip install jionlp3、示例代码 import jionlp as jiotext 海珠区沙园街道西基村 res jio.parse_location(text, town_villageTrue) print(res)

在vscode终端中运行npm命令报错

解决方案 这个错误信息表明,你的系统(可能是 Windows)阻止了 PowerShell 执行脚本,这是由于 PowerShell 的执行策略导致的。PowerShell 的执行策略控制着在系统上运行哪些 PowerShell 脚本。默认情况下,Windows 可能…

提升变电站运维效率:安科瑞无线测温系统创新应用

一、引言 变电站作为电力系统的关键枢纽,承担着变换电压、分配电能以及控制电力流向等重要任务。在变电站的运行过程中,电气设备的接点温度监测至关重要。过热问题可能由多种因素引发,如电阻过大、接头质量欠佳、衔接不紧密、物理老化等&…

vue3 使用 vite 管理多个项目,实现各子项目独立运行,独立打包

场景: 之前写过一篇 vite vue2 的配置,但是现在项目使用 vue3 较多,再更新一下 vue脚手架初始化之后的项目,每个项目都是独立的,导致项目多了之后,node依赖包过多,占用内存较多。想实现的效果…

WebRTC服务器Coturn服务器用户管理和安全性

1、概述 Coturn服务器对用户管理和安全方面也做了很多的措施,以下会介绍到用户方面的设置 1.1、相关术语 1.1.1 realm 在 coturn 服务器中,域(realm)是一种逻辑上的分组概念,用于对不同的用户群体、应用或者服务进行区…

如何使用极狐GitLab 的外部状态检查功能?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 外部状态检查 (ULTIMATE ALL) pending 状态引入于极狐GitLab 16.5 pending 状态检查的超时时间为两分钟引入于极狐GitLab 16…

【Langchain】RAG 优化:提高语义完整性、向量相关性、召回率--从字符分割到语义分块 (SemanticChunker)

RAG 优化:提高语义完整性、向量相关性、召回率–从字符分割到语义分块 (SemanticChunker) 背景:提升 RAG 检索质量 在构建基于知识库的问答系统(RAG)时,如何有效地将原始文档分割成合适的文本块(Chunks&a…

深入剖析扣子智能体的工作流与实战案例

前面我们已经初步带大家体验过扣子工作流,工作流程是 Coze 最为强大的功能之一,它如同扣子中蕴含的奇妙魔法工具,赋予我们的机器人处理极其复杂问题逻辑的能力。 这篇文章会带你更加深入地去理解并运用工作流解决实际问题 目录 一、工作流…

基于K8s日志审计实现攻击行为检测

K8s日志审计以一种事件溯源的方式完整记录了所有API Server的交互请求。当K8s集群遭受入侵时,安全管理员可以通过审计日志进行攻击溯源,通过分析攻击痕迹,找到攻击者的入侵行为并还原攻击者的攻击路径,修复安全问题。 在本篇文章中…

【Linux网络编程】应用层协议HTTP(实现一个简单的http服务)

目录 前言 一,HTTP协议 1,认识URL 2,urlencode和urldecode 3,HTTP协议请求与响应格式 二,myhttp服务器端代码的编写 HTTP请求报文示例 HTTP应答报文示例 代码编写 网络通信模块 处理请求和发送应答模块 结…

短视频+直播商城系统源码全解析:音视频流、商品组件逻辑剖析

时下,无论是依托私域流量运营的品牌方,还是追求用户粘性与转化率的内容创作者,搭建一套完整的短视频直播商城系统源码,已成为提升用户体验、增加商业变现能力的关键。本文将围绕三大核心模块——音视频流技术架构、商品组件设计、…

STM32定时器---基本定时器

目录 一、定时器的概述 二、时基单元 三、基本定时器的的时序 (1)预分频器时序 (2)计数器时序 四、基本定时器的使用 一、定时器的概述 在没有定时器的时候,我们想要延时往往都是写一个Delay函数,里面…

大模型微调 - transformer架构

什么是Transformer Transformer 架构是由 Vaswani 等人在 2017 年提出的一种深度学习模型架构,首次发表于论文《Attention is All You Need》中 Transformer 的结构 Transformer 编码器(Encoder) 解码器(Decoder) …

Sentinel数据S2_SR_HARMONIZED连续云掩膜+中位数合成

在GEE中实现时,发现简单的QA60是无法去云的,最近S2地表反射率数据集又进行了更新,原有的属性集也进行了变化,现在的SR数据集名称是“S2_SR_HARMONIZED”。那么: 要想得到研究区无云的图像,可以参考执行以下…

HTMLCSS模板实现水滴动画效果

.container 类:定义了页面的容器样式。 display: flex:使容器成为弹性容器,方便对其子元素进行布局。justify-content: center 和 align-items: center:分别使子元素在水平和垂直方向上居中对齐。min-height: 100vh:设…

【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?

在智慧城市、能源管理、工业4.0等领域的快速发展中,地下管线、工业管道、电力通信网络等“城市血管”的复杂性呈指数级增长。传统二维管理模式已难以应对跨层级、多维度、动态变化的管线管理需求。三维管线分析技术应运而生,成为破解这一难题的核心工具。…

【MinerU】:一款将PDF转化为机器可读格式的工具——RAG加强(Docker版本)

目录 创建容器 安装miniconda 安装mineru CPU运行 GPU加速 多卡问题 创建容器 构建Dockerfile文件 开启ssh服务,设置密码为1234等操作 # 使用官方 Ubuntu 24.04 镜像 FROM ubuntu:24.04# 安装基础工具和SSH服务 RUN apt-get update && \apt-get ins…