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

使用Docker运行 Ollama本地部署 DeepSeek 模型并用Dify实现可视化操作

文章目录

    • 前言
    • 1. Ollama 与 DeepSeek 的理论基础
      • 1.1 Ollama 是什么?
      • 1.2 Dify是什么?
      • 1.3 DeepSeek 是什么?
    • 2. Docker运行 Ollama
      • 2.1 拉取 Ollama 镜像
      • 2.2 验证镜像是否成功拉取
      • 2.3 启动 Ollama 容器
      • 2.4 后台运行容器(可选)
      • 2.5 查看容器
    • 3. 本地部署 DeepSeek 模型
      • 3.1 进入 Ollama 容器
      • 3.2 下载 DeepSeek 模型
      • 3.3 查看已下载的模型
      • 3.4 测试 DeepSeek 模型
    • 4. Docker运行 Dify
      • 4.1 clone dify源码
      • 4.2 拷贝环境变量
      • 4.3 运行容器
      • 4.4 访问dify
    • 5. Dify接入Ollama+DeepSeek
      • 5.1 在ollama中启动deepseek
      • 5.2 Dify接入Ollama
      • 5.3 Dify创建应用
      • 5.4 自定义应用选择本地DS模型
      • 5.5 Didfy与DeepSeek交互效果演示
    • 总结

前言

随着自然语言处理(NLP)技术的迅猛发展,大型语言模型(LLM)在各个领域的应用越来越广泛。这些模型能够执行复杂的任务,如文本生成、问答系统、代码生成等。然而,管理和运行这些模型通常需要较高的技术门槛和资源投入。为了简化这一过程,本文将详细介绍使用Ollama来运行DeepSeek 模型,并通过Dify实现界面可视化。

1. Ollama 与 DeepSeek 的理论基础

1.1 Ollama 是什么?

Ollama是一个简明易用的本地大模型运行框架,专注于开发和部署先进的大型语言模型(LLM)。‌ Ollama通过简化模型部署过程,使得即使是那些没有深度学习背景的人也能轻松使用。
它通过以下特性提供高效的开发体验:
模型管理:支持多种 LLM 模型的下载和运行,包括但不限于deepseek-r1、llama3.2、qwen、gemma3。
低资源消耗:优化了模型运行时的内存和计算资源占用。
跨平台支持:可以在 Linux、macOS 和 Windows(通过 WSL2)上运行。
交互式界面:提供命令行和 Web 界面两种方式与模型交互。
Ollama 的核心思想是将复杂的模型封装为易于使用的工具,使得开发者无需深入了解底层实现即可快速上手。
在这里插入图片描述

1.2 Dify是什么?

‌Dify‌是一个开源的大型语言模型(LLM)应用开发平台,旨在简化和加速生成式AI应用的创建和部署。Dify融合了后端即服务(BaaS)和LLMOps的理念,提供从Agent构建到AI workflow编排、RAG检索、模型管理等能力,支持低代码/无代码开发,适合快速构建和运营生成式AI原生应用。‌
其主要特点包括:
多模型支持:支持多种预训练语言模型,如 OpenAI 的 GPT 系列、Anthropic 的 Claude 等。
灵活配置:提供丰富的配置选项,可以自定义对话流程和模型参数。
易于集成:支持与各种前端框架和后端服务集成。
开源性:所有代码均开源,允许用户自由下载、修改和分发。
在这里插入图片描述

1.3 DeepSeek 是什么?

DeepSeek 是由深度求索(DeepSeek)公司开发的一系列开源大语言模型。这些模型基于 Hugging Face 的 Transformers 库,并经过大量数据训练,具有以下特点:
高性能:DeepSeek 模型在多个基准测试中表现出色,尤其是在生成质量和推理能力方面。
多样化:提供了不同规模的模型(如 deepseek-7b 和 deepseek-15b),满足不同场景的需求。
开源性:所有模型均开源,允许用户自由下载、修改和分发。
DeepSeek 模型广泛应用于自然语言处理任务,例如文本生成、问答系统、代码生成等。
在这里插入图片描述

2. Docker运行 Ollama

2.1 拉取 Ollama 镜像

 docker pull ollama/ollama

2.2 验证镜像是否成功拉取

docker images

2.3 启动 Ollama 容器

docker run --rm -it --name ollama -p 11434:11434 ollama/ollama

参数说明:
–rm: 容器退出后自动删除。
-it: 以交互模式运行容器。
-p 11434:11434: 将容器的 11434 端口映射到主机的 11434 端口。
在这里插入图片描述

2.4 后台运行容器(可选)

如果希望容器在后台运行,可以使用以下命令:

 docker run -d --name ollama -p 11434:11434 ollama/ollama

2.5 查看容器

docker ps

浏览器访问 127.0.0.1:11434
在这里插入图片描述

3. 本地部署 DeepSeek 模型

3.1 进入 Ollama 容器

如果容器已经在后台运行,可以通过以下命令进入容器

   docker exec -it ollama /bin/bash

3.2 下载 DeepSeek 模型

在容器内运行以下命令下载 deepseek-7b 模型:

 ollama pull deepseek-r1:7b

3.3 查看已下载的模型

运行以下命令查看当前可用的模型

   ollama list

在这里插入图片描述

3.4 测试 DeepSeek 模型

与模型交互 在容器内运行以下命令启动与 DeepSeek 模型的对话

ollama run deepseek-r1:7b

输入问题或提示,模型将生成相应的回答。
在这里插入图片描述

4. Docker运行 Dify

4.1 clone dify源码

git clone https://github.com/langgenius/dify.git

4.2 拷贝环境变量

cd docker
cp .env.example .env

4.3 运行容器

docker-compose -f docker-compose.yaml up -d
# 查看dify容器
docker-compose -f docker-compose.yaml ps

在这里插入图片描述

# 停止容器
docker-compose -f docker-compose.yaml stop
# 停止容器 删除容器和镜像
docker-compose -f docker-compose.yaml down

4.4 访问dify

浏览器http://localhost/install
设置你的管理员账户密码,跳转登录
在这里插入图片描述
在这里插入图片描述

5. Dify接入Ollama+DeepSeek

5.1 在ollama中启动deepseek

docker exec ollama ollama run deepseek-r1:7b

5.2 Dify接入Ollama

5.2.1 Dify安装ollama
在Dify主界面选择 设置 --> 模型供应商 --> 找到ollama --> 安装
在这里插入图片描述

5.2.2 添加模型
点击已安装成功的ollama --> 添加模型
在这里插入图片描述

5.3 Dify创建应用

在Dify主界面选择 聊天助手 --> 创建空白应用 --> 创建
在这里插入图片描述

5.4 自定义应用选择本地DS模型

进入自定义的应用 --> 选择本地部署的大模型
在这里插入图片描述

5.5 Didfy与DeepSeek交互效果演示

在这里插入图片描述

总结

通过以上步骤,我们已经在Ollama中成功的部署本地大模型DeepSeek,并使用Dify实现了可视化操作。在本次演示中,Ollama提供了大模型运行环境,可以支持运行很多的流行的大模型;Dify则是一个大模型应用平台,可以较为简单的接入各种本地和商业大模型,实现与大模型进行交互。


http://www.kler.cn/a/598579.html

相关文章:

  • Centos7搭建Zabbix4.x监控HCL模拟网络设备:zabbix-server搭建及监控基础03
  • 音视频学习(三十):fmp4
  • Shell正则表达式
  • fastapi+playwright爬取google搜索1-3页的关键词返回json
  • 《Solidity智能合约开发:从零到一实战指南》大纲
  • SpringBoot 第三课(Ⅰ) 数据层开发
  • Simple-BEV的bilinear_sample 作为view_transformer的解析,核心是3D-2D关联点生成
  • 8、undo log
  • 使用HAI来打通DeepSeek的任督二脉
  • 我的uniapp自定义模板
  • 基于AT89C52单片机的智能家居安全监控系统设计
  • 【RabbitMQ】RabbitMQ消息的重复消费问题如何解决?
  • 编译安装redis,systemtcl配置redis自启动,系统并发调优
  • IMX8MP Android 10系统编译SDK
  • elasticsearch+sentencetransformer检索样例
  • 开源链动2+1模式、AI智能名片与S2B2C商城小程序源码在社交电商渠道拓宽中的协同应用研究
  • 石家庄 10 年 PHP 开发者转岗分析
  • Python 用户账户(让用户拥有自己的数据)
  • Java EE(13)——网络编程——UDP/TCP回显服务器
  • 【系统架构设计师】调用/返回体系结构风格