框架与工具链1376 字

Dify整合Ollama访问本地大模型

·全库 274 / 611

《Dify整合Ollama访问本地大模型》共 0.1 万字,通篇围绕 Docker、Dify、知识库、embedding 展开,归在「框架与工具链」这一层。

覆盖DockerDify知识库embeddingprompt上下文

适合要选技术栈、不想把别人踩过的坑重踩一遍的人

目录骨架(6 节)
  1. 课程内容
  2. 步骤一:Docker 下载及安装
  3. 步骤二:下载 Ollama 并获取 DeepSeek LLM
  4. 步骤三:Dify 的安装
  5. 步骤四:配置 Dify 使用本地的 Ollama 上的 DeepSeek
  6. 步骤五:搭建知识库

课程内容

  1. 安装 Ollama
  2. 创建聊天应用
  3. 在dify中调用Ollama模型服务
  4. dify对外提供接口服务

步骤一:Docker 下载及安装

因为我的电脑是 Win11 家庭版,所以需要基于 WSL2(Windows Subsystem for Linux 2)来安装 Docker。有的教程提到要在 “Windows 功能” 里启用 Hyper-V,我的电脑上看不到这个选项,可以直接忽略。详见下面这篇教程:

Windows 11 安装 Docker Desktop

官网下载链接:Docker Desktop

Docker Desktop 安装成功后如下图所示,可以看到有一个容器在运行。

image.png

步骤二:下载 Ollama 并获取 DeepSeek LLM

1、打开 Ollama 的官网 http://ollama.com,在官网找到 “Download”,点击下载并安装。

2、安装完成后 cmd 运行下面的命令看是否安装正确。

ollama list

3、cmd 命令行输入如下命令下载 DeepSeek 大模型并运行。

ollama run deepseek-r1:1.5b

需要等待一些时间(耗时长短和你机器的配置有关)。

步骤三:Dify 的安装

我使用 Docker 方式部署 Dify。

在 Windows 里打开 WSL,进入 Linux 环境命令行。

  • 下载代码:
git clone https://github.com/langgenius/dify.git
cd dify/docker
  • 配置环境:
cp .env.example .env
  • 启动服务:如果你使用的是 Docker Compose V2(可以用 “docker compose version” 命令查看):
docker compose up -d

如果是 V1 版本:

docker-compose up -d

Docker 和 Docker Compose 命令行工具整理

在这个地方,我被卡住了很长时间,每次运行都提示下面的错误:

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

在步骤一的时候,明明已经配置了 Docker 镜像,为什么还去连接 "https://registry-1.docker.io/v2/" 呢?问了 deepseek,给了好多提示,按照折腾也不起作用。后来在搜答案的时候,无意中看到一个帖子说好多镜像都失效了,怀疑是不是这个问题,所以转而去寻找可用的 Docker 镜像,找了好多都没法用,最后是下面这个成功了:

青春不留白 / Docker-hub

最终我的 Docker Desktop 里 Docker Engine 的配置如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "max-concurrent-downloads": 3,
  "max-download-attempts": 5,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.imgdb.de",
    "https://docker.wanpeng.life",
    "https://docker.1panel.live",
    "https://hk11.606166.xyz",
    "https://docker.1panel.live",
    "https://hub.rat.dev"
  ],
  "shutdown-timeout": 1200
}

资料里没有你的场景?

把你手上的数据和想解决的那个环节发上来,我们按具体情况回,不复述方法论。

发布需求