ollama+dify本地化部署【菜鸟教程】

一、前言

1.1、相关资料

dify官网:dify.ai/

dify官网教程:docs.dify.ai/getting-sta...

参考文档【如何集成Ollama】:docs.dify.ai/development...

dify官网本地化部署ollama + deepseek教程:docs.dify.ai/zh-hans/lea...

win11 添加模型代理商报错,参考文档:www.bilibili.com/opus/104017...

1.2、总结解决的问题

1、ollama 软件和模型,安装到D盘,不默认安装到C盘

2、ollama 实现局域网访问

3、ollama 下载模型 llama3.2:3b/deepseek-r1,并实现调用

4、docker相关设置,更改docker Engine配置,更改docker镜像源存放地址,dify使用docker启动 ,dify相关环境变量更改

5、dify注册管理员账号,dify保存模型代理商不成功/超时问题解决,以及plugin_daemon镜像源更改,IIS服务占据80端口问题

6、dify保存模型代理商,跟网速、外网有关系,建议能用千兆网,就不要用百兆网,能有网线就不要用wifi,能用梯子就不要不用梯子( 如果你不借助fastgithub改变host文件的应用,访问github;很快的话,以下的安装将没有任何阻力,如果存在访问慢的情况,以下安装会存在问题)

7、适当重启电脑,检查系统变量、环境变量、下载的模型;如果安装模型代理商不成功,请更改镜像源;多试几次

二、前期准备

• 操作系统:Windows 11 / Windows 10 相关

• 部署工具:Docker Desktop + Docker Compose

• 核心服务:

• Dify:v1.0.0(本地Docker部署)

• Ollama:v0.1.21(Windows原生安装)

三、大语言模型(LLM)基本概念&AI开发平台

前端智能体Ollama + Deepseek AI 开发平台全链路设计与实践;LLM大语言模型有chatGPT , chatGPT-4,o1, o2, o3-mini,deepseek-r1,LLama

模型应用发展阶段

  • Prompt,提问,针对某个专业领域的合适的训练提问
  • Agent,智能体,能够编排内容加工输出流程
  • RAG,知识库辅助模型输出,得到更贴合我们期望的结果(电商公司,每个企业产品手册)

四、安装ollma

注册一个账户,官网:ollama.com/

因为ollama是默认下载到C盘,以及后续模型下载到C盘,如果想将ollama以及其模型文件不默认安装到C盘,

4.1 ollama安装到c盘并设置环境变量

下载该文件,并安装,安装成功后,执行ollama -v 检查版本,ollama list 检查下载的模型

【补充】因为ollama是默认下载到C盘的,所以模型也会下载到C盘,你将ollama应用安装到C盘中,但是模型想换个地方下载,所以需要提前设置环境变量,更多环境变量,请参考:blog.csdn.net/2501_905615...

  • 【OLLAMA_MODELS设置为D:\ollama\models】 更改ollama的模型的下载位置,需要提前建文件夹
  • 【OLLAMA_HOST设置为 0.0.0.0】 ollama默认只能本机访问(localhost/127.0.0.1),需要设置为局域网,让其他人也能访问;需要通过添加系统环境变量OLLAMA_HOST,并将其值设置为:0.0.0.0,来解决

4.2 ollama安装到d盘,模型也下载到d盘,并设置环境变量

请参考下文,或者参考文档:zhuanlan.zhihu.com/p/226156184...

当C盘很小,如果你将ollama安装到D盘中,又需要将models安装到D盘中

执行命令 .\OllamaSetup.exe /DIR="D:\ollama"

请检查ollama -v 是否有版本号

请检查D:\ollama 是否存在文件

环境变量设置;【OLLAMA_MODELS设置为D:\ollama.ollama 】更改ollama的模型的下载位置,需要提前建文件夹,请立即重启电脑,重启后生效

4.3 下载模型

我们先下载llama3.2这个模型

执行下载命令,ollama run llama3.2:3b

我们再需要下载deepseek-r1 , 7b这个版本

通过cmd输入命令 ollama -h , 查看ollama相关命令;通过 ollama list 查看下载的模型

通过命令 ollama run deepseek-r1:7b 命令【注意,不要直接执行ollama run deepseek-r1,后面还有:版本】,下载7b的模型

当我们将模型下载完毕后,执行 ollama run deepseek-r1:7b 将模型启动起来

【补充】ollama相关命令

  • ollama rm <model_name>,删除模型是不可逆的,请确保备份重要数据。
  • ollama serve 启动ollama

【补充】ollama 默认只能本机访问,如果需要局域网访问,请进行以下操作

访问http://localhost:11434/

访问http://172.29.224.1:11434/

五、安装开发平台dify,并安装docker

5.1、dify和docker下载安装

dify,github地址:github.com/langgenius/...

docker官网:www.docker.com/

5.2、docker相关配置

docker对windows有要求

  • window10 64位 / windows 11 64位
  • Hyper-v和容器功能,需要在windows功能中启用
  • WSL2, windows子系统Linuix的第二版,用于提高docker性能

如何更改docker镜像文件默认存储路径,更改到D盘中

镜像源:

json 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://your_preferred_mirror",
    "https://dockerhub.icu",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://docker.mirrors.ustc.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
  ]
}

5.3、使用docker部署dify

dify官网docker教程:docs.dify.ai/getting-sta...

在启动dify之前,需要关闭任何可能会更改电脑host文件的程序,例如需要访问github的FastGithub.UI

先进入项目中的docker文件夹下

执行命令,copy .env.example .env

执行命令启动,docker compose up -d ;-d表示不看错误日志,或者使用docker-compose up 启动,使用完毕,执行命令关闭,docker compose down

创建成功

面板中可以看见容器已经启动了

检查容器状态

六、访问dify前端界面

访问http://localhost/install ,先设置管理员账户

注册好之后,登录进入http://localhost/apps

diff-main/docker/.env 文件下加入环境变量,我们这边先强制指定默认模型DEFAULT_MODEL=llama3.2:3b ; 如果需要自定义请打开CUSTOM_MODEL_ENABLED=true

js 复制代码
# Ollama服务地址(容器访问宿主机)
OLLAMA_API_BASE_URL=http://host.docker.internal:11434

# 强制指定默认模型(需与Ollama模型名完全一致)
DEFAULT_MODEL=llama3.2:3b

# # 启用自定义模型
# CUSTOM_MODEL_ENABLED=true

从Dify容器内部测试Ollama接口:docker exec -it docker-api-1 curl host.docker.internal:11434/api/tags

效果如下,表示调用成功

重新启动docker服务,访问http://localhost/apps ,在dify平台中引入 llama3.2:3b 模型

安装成功后,需要刷新一下,ollama插件安装不成功,就多试几次

添加ollama模型,关键的一步

其他默认,点击保存,等待接口models响应,这里有一个docker连接的问题,很容易卡在这里,因为下载一些外网的东西,models这个接口很容易不响应并报错

因为存在错误,参考文档:mbd.baidu.com/newspage/da...

上述错误,描述的是插件守护进程超时导致api无法正常工作。所以需要替换源;如果你在使用Dify时遇到了"PluginDaemonInternalServerError: killed by timeout"的错误,可以通过设置以下两个环境变量来解决:

你需要在docker-compose.yml文件中新增以下配置:

bash 复制代码
plugin_daemon:
image: langgenius/dify-plugin-daemon:0.0.3-local
restart: always
environment:
  # Use the shared environment variables.
  <<: *shared-api-worker-env

  # 新增下面这两个
  PYTHON_ENV_INIT_TIMEOUT: ${PYTHON_ENV_INIT_TIMEOUT:-640}
  PIP_MIRROR_URL: https://pypi.tuna.tsinghua.edu.cn/simple

重新启动docker ,重新进入http://localhost/apps,重新操作添加模型操作,等待models接口返回;如果清华的镜像源不行,则换其它的

由上文得知,我们是强行强制指定默认模型llama3.2:3b ;如果添加其他模型,models接口一定会报错,如果我们想再加其他模型,需更改环境变量,如下图,重启docker服务

访问:http://localhost/apps

我们需要加的 deepseek-r1:7b 模型

只要我们上一次成功过,那么后续的模型添加就好说了

如果你现在情况是不需要ollama本地化部署,那么我们可以通过相关模型平台的API Key实现模型API调用;这里我们以硅基流动为例

安装硅基流动插件,并输入API key

硅基流动登录:account.siliconflow.cn/zh/login?re...

邀请码: Z6pZwzxp

七、创建应用

7.1、添加知识库

《我的第一本算法书》 pan.baidu.com/s/1Q0fd04pt... 提取码:h2xc

等待其解析完成

进入编排

提示词编排:

js 复制代码
Use the following context as your learned knowledge, inside <context></context> XML tags.

<context>
{{#context#}}
</context>

When answer to user:
- If you don't know, just say that you don't know.
- If you don't know when you are not sure, ask for clarification.
Avoid mentioning that you obtained the information from the context.
And answer according to the language of the user's question.

{{pre_prompt}}
{{query}}

输入问题,效果如下:

换成deepseek-r1

有的模型在生成会话的过程中,会卡顿,生成的,因为我这台电脑是没有显卡的;这里AI应用的回答不一定能够满足用户需求,所以需要用户手动调整参数

八、应用部署完毕

花了我3-4天的时间去研究,模型代理商保存卡了我很久

如果对您有帮助,请给我点个赞吧。。。

完结撒花。。。

相关推荐
GIS思维36 分钟前
ArcGIS10.X影像智能下载!迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!
python·arcgis·arcgis pro·deepseek·高清影像下载·谷歌影像·天地图影像
剑盾云安全专家37 分钟前
如何用AI轻松制作完美PPT,节省时间又提升效率
人工智能·科技·aigc·powerpoint·软件
AI Echoes2 小时前
DeepSeek:从入门到精通
深度学习·deepseek
乡间小路3 小时前
关于能否用DeepSeek做危险的事情,DeepSeek本身给出了答案
deepseek·人工智能伦理
用户7737619852283 小时前
开发效率提升 40%!DeepSeek 两大低成本部署方案,哪种更适合你?
deepseek
helloworld_工程师3 小时前
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
java·后端·deepseek
Demi_*3 小时前
MacOS本地部署Deepseek,不联网也可以使用AI,保护隐私
macos·deepseek·本地部署ai大模型
guyoung4 小时前
AIMatrices DeepSeek更新——新增Word、PPT、Html、Latex导出、Graphviz 编辑及预览等功能
人工智能·rust·deepseek
guyoung4 小时前
DeepSeek轻量级本地化部署工具AIMatrices更新——新增OllamaApi接口调用,Python及Html运行等功能
rust·ollama·deepseek