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

【AI】在Ubuntu中使用docker对DeepSeek的部署与使用

这篇文章前言是我基于部署好的deepseek-r1:8b模型跑出来的


关于部署DeepSeek的前言与介绍

在当今快速发展的技术环境中,有效地利用机器学习工具来解决问题变得越来越重要。今天,我将引入一个名为DeepSeek 的工具,它作为一种强大的搜索引擎,不仅能够帮助我们更高效地定位所需信息,还能通过自动化的方式提供深度的分析和见解。

DeepSeek简介

DeepSeek 是一款基于先进人工智能技术开发的搜索引擎,它结合了最先进的自然语言处理和大数据分析能力,能够为用户提供高度个性化的搜索体验。与传统搜索引擎不同,DeepSeek不仅会根据关键词匹配结果,还能理解用户的意图,自动调整搜索策略,以满足特定需求。

为什么选择部署DeepSeek

在我的项目中,我需要处理大量的数据,寻找特定的模式和趋势。传统的方法往往效率低下且耗时较长,而通过部署DeepSeek,可以将其集成到现有的工作流程中,自动化地进行信息检索和分析。这不仅能够提高效率,还能减少人为错误,确保数据处理的准确性。

部署目标

本文旨在详细描述我对DeepSeek 的部署过程、初步体验以及实际应用中的效果。通过分享我的经验,我希望能为其他用户提供有价值的参考,同时展示机器学习工具在日常工作中的潜力和便利性。


首先是环境介绍

我的笔记本安装了ubuntu系统,所以我直接在ubuntu下使用docker快速部署ollama
GPU:RTX 2060 6G
CPU:AMD R7 4800H
MEM:DDR4 3200 8x2 16G
Docker Server Version: 25.0.2
在这里插入图片描述

准备工作

安装docker脚本,使用root权限,需要联网

#!/bin/bash
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt update#安装指定版本 这里我选择25.2版本,使用稍微靠后一点的版本,稳定性更好
apt-get install docker-ce=5:25.0.2-1~ubuntu.20.04~focal
apt-mark hold docker-ce docker-ce-cli
# docker 要使用gpu设备需要安装驱动
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey |   sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list |   sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime#安装二进制包docker-compose
wget https://ghfast.top/https://github.com/docker/compose/releases/download/v2.27.3/docker-compose-linux-x86_64
chmod +x  docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-composemkdir /etc/docker/
#写入镜像加速配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1ms.run","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://func.ink"]}
EOFsystemctl daemon-reload
systemctl enable docker
systemctl start dockersystemctl status docker

拉取镜像

# web前端服务
docker pull ghcr.io/open-webui/open-webui:main      
# ollama服务
docker pull ollama/ollama:0.5.7

编排文件

#创建网络
docker  network create --subnet 172.20.0.0/16  ollama-net
#创建目录
mkdir {ollamadeamon,ollamawebui}#目录结构如下,将下面给出的文件写入docker-compose.yaml
luobozi@lenoud:~/docker$ tree -L 2
├── ollamadeamon   
│   └── docker-compose.yaml  #ollamadeamon目录下docker-compose.yaml文件
├── ollamawebui
│   ├── docker-compose.yaml  #ollamawebui目录下docker-compose.yaml文件

ollamadeamon-docker-compose.yaml

version: "3.3"
services:ollama:image: ollama/ollama:0.5.7container_name: ollama-deamonhostname: ollama-deamonrestart: unless-stoppedports:- 11434:11434networks:- ollama-nettty: truevolumes:- ./data:/root/.ollamadeploy:# 添加 GPU 资源配置resources:reservations:devices:- capabilities:- gpuenvironment:# 可选:设置 CUDA 环境变量- NVIDIA_VISIBLE_DEVICES=all # 使容器可以访问所有 GPU- NVIDIA_DRIVER_CAPABILITIES=compute,utility # 启用计算和工具功能
networks:ollama-net:external: true

ollamawebui-docker-compose.yaml

version: "3.3"
services:open-webui:image: ghcr.io/open-webui/open-webui:maincontainer_name: ollama-webuihostname: ollama-webuirestart: unless-stoppednetworks:- ollama-netports:- 3000:8080extra_hosts:- host.docker.internal:host-gatewayvolumes:- ./data:/app/backend/dataenvironment:- ENABLE_OPENAI_API=False- ENABLE_RAG_WEB_SEARCH=True- RAG_WEB_SEARCH_ENGINE="duckduckgo"- RAG_WEB_SEARCH_RESULT_COUNT=3- RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
networks:ollama-net:external: true

启动容器

进入对应的docker-compose.yaml文件所在目录下运行命令启动容器
cd ./ollamadeamon
docker-compose up -dcd ../ollamawebui
docker-compose up -d

拉取deepseek模型

#进入容器
docker exec -it ollama-deamon bash#拉取14b模型,按照你的配置和需要拉取即可
ollama pull deepseek-r1:14b#下载好后,运行模型
ollama run deepseek-r1:14b

在这里插入图片描述

访问本地前端

访问 http://localhost:3000,设置用户名和密码
在这里插入图片描述
选择下载好的模型使用即可
在这里插入图片描述

8b模型使用示例

前端代码预览

在这里插入图片描述

整体回答

在这里插入图片描述

推导过程

在这里插入图片描述

GPU 使用情况

在这里插入图片描述

在这里插入图片描述

相关文章:

【AI】在Ubuntu中使用docker对DeepSeek的部署与使用

这篇文章前言是我基于部署好的deepseek-r1:8b模型跑出来的 关于部署DeepSeek的前言与介绍 在当今快速发展的技术环境中&#xff0c;有效地利用机器学习工具来解决问题变得越来越重要。今天&#xff0c;我将引入一个名为DeepSeek 的工具&#xff0c;它作为一种强大的搜索引擎&a…...

openssl使用

openssl使用 提取密钥对 数字证书pfx包含公钥和私钥&#xff0c;而cer证书只包含公钥。提取需输入证书保护密码 openssl pkcs12 -in xxx.pfx -nocerts -nodes -out pare.key提取私钥 openssl rsa -in pare.key -out pri.key提取公钥 openssl rsa -in pare.key -pubout -ou…...

《语义捕捉全解析:从“我爱自然语言处理”到嵌入向量的全过程》

首先讲在前面&#xff0c;介绍一些背景 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;检索增强生成&#xff09; 是一种结合了信息检索与语言生成模型的技术&#xff0c;通过从外部知识库中检索相关信息&#xff0c;并将其作为提示输入给大型语言模型&#xff…...

HIVE如何注册UDF函数

如果注册UDF函数的时候报了上面的错误&#xff0c;说明hdfs上传的路径不正确&#xff0c; 一定要用下面的命令 hadoop fs -put /tmp/hive/111.jar /user/hive/warehouse 一定要上传到上面路径&#xff0c;这样在创建函数时&#xff0c;引用下面的地址就可以创建成功...

VsCode创建VUE项目

1. 首先安装Node.js和npm 通过网盘分享的文件&#xff1a;vsCode和Node&#xff08;本人电脑Win11安装&#xff09; 链接: https://pan.baidu.com/s/151gBWTFZh9qIDS9XWMJVUA 提取码: 1234 它们是运行和构建Vue.js应用程序所必需的。 1.1 Node安装&#xff0c;点击下一步即可 …...

x64、aarch64、arm与RISC-V64:详解四种处理器架构

x64、aarch64、arm与RISC-V64:详解四种处理器架构 x64架构aarch64架构ARM架构RISC-V64架构总结与展望在计算机科学领域,处理器架构是构建计算机系统的基石,它决定了计算机如何执行指令、管理内存和处理数据。x64、aarch64、arm与RISC-V64是当前主流的四种处理器架构,它们在…...

如何使用iframe来渲染ThingsBoard仪表盘

1、概述 当我们在使用ThingsBoard的时候,有时候需要再自己的前端项目中展示大屏,thingsboard的仪表盘是可以来做大屏的,虽然界面达不到非常的美观,但是对比之前的版本,现在的版本仪表盘做了很多的优化了。可以实现将thingsboard的仪表板嵌入到自己的vue界面中作为大屏显示…...

退格法记单词(类似甘特图)

退格法记单词&#xff0c;根据记忆次数或熟练程度退格&#xff0c;以示区分&#xff0c;该方法用于短时高频大量记单词&#xff1a; explosion爆炸&#xff0c;激增 mosquito蚊子granary粮仓&#xff0c;谷仓 offhand漫不经心的 transient短暂的slob懒惰而邋遢的…...

计算 MySQL 表行的成本是多少?

当计算表中的所有行时&#xff0c;将使用什么索引&#xff1f;好吧&#xff0c;MySQL文档文档对此提供了一个直接的答案&#xff0c;引用&#xff1a; InnoDB 通过遍历最小的可用二级索引来处理 SELECT COUNT&#xff08;*&#xff09; 语句除非索引或优化器提示指示优化器使用…...

Pygame介绍与游戏开发

提供pygame功能介绍的文档&#xff1a;Pygame Front Page — pygame v2.6.0 documentation 基础语法和实现逻辑 与CLI不同&#xff0c;pygame提供了图形化使用界面GUI&#xff08;graphical user interface&#xff09;基于图像的界面可以创建一个有图像和颜色的窗口 要让py…...

webpack配置方式

1. 基本配置文件 (webpack.config.js)&#xff08;导出一个对象&#xff09; 最常见的方式是通过 webpack.config.js 文件来配置 Webpack&#xff0c;导出一个对象。你可以在这个文件中导出一个配置对象&#xff0c;指定入口、输出、加载器、插件等。 // webpack.config.js m…...

10. k8s二进制集群之Kube Scheduler部署

在开始之前需要准备什么?创建kube-scheduler证书请求文件【即证书的生成⓵】根据上面证书配置文件生成kube-scheduler证书【即证书的生成⓶】创建与关联kube-scheduler配置文件(为后面生成系统服务做准备)创建kube-scheduler服务配置文件【准备系统服务⓵】创建kube-schedul…...

java实现8583报文解析技术详解

文章目录 概要整体架构流程技术名词解释技术细节小结概要 ISO 8583协议是金融交易系统中广泛使用的通信协议,用于规范报文的格式和数据交换。解析8583报文是实现金融交易系统的关键技术之一。本文将详细介绍8583报文解析的核心实现,重点关注解析算法和关键代码逻辑。 8583报…...

k8s服务发现有哪些方式?

在 Kubernetes 中&#xff0c;服务发现是指如何让应用程序在集群内互相找到并通信。Kubernetes 提供了多种服务发现的方式&#xff0c;适应不同的使用场景。以下是 Kubernetes 中常见的服务发现方式&#xff1a; 1. 环境变量&#xff08;Environment Variables&#xff09; 概…...

【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程

超详细的 SQL Server Management Studio (SSMS) 下载、安装、连接数据库配置及卸载教程 SQL Server Management Studio (SSMS) 是微软提供的图形化管理工具&#xff0c;主要用于连接、管理和开发 SQL Server 数据库。以下是详细的 SSMS 下载、安装、连接数据库以及卸载的完整教…...

[ESP32:Vscode+PlatformIO]添加第三方库 开源库 与Arduino导入第三方库的区别

前言 PlatformIO与Arduino在添加第三方库方面的原理存在显著差异 在PlatformIO中&#xff0c;第三方库的使用是基于项目&#xff08;工程&#xff09;的。具体而言&#xff0c;只有当你为一个特定的项目添加了某个第三方库后&#xff0c;该项目才能使用该库。这些第三方库的文…...

音频文件格式——AAC、OGG和FLAC

3.AAC文件格式 3.1 封装格式解析 高级音频编码 &#xff08;Advanced Audio Coding&#xff09; 是一种用于有损数字音频压缩的音频编码标准。它被设计为 MP3 格式的继承者&#xff0c;在相同比特率下通常可以获得比 MP3 更高的音质。AAC有两种封装格式&#xff1a; ADIF&am…...

BUU26 [极客大挑战 2019]HardSQL1

输入一些SQL关键词&#xff0c;发现空格&#xff0c;&#xff0c;union&#xff0c;and&#xff0c;by都被过滤了 被过滤&#xff0c;就用like替代 发现登录成功&#xff0c;可以注入 报错注入 注意 1.这里过滤了空格&#xff0c;就用()将内容包裹起来 比如说&#xff1a…...

多光谱成像技术在华为Mate70系列的应用

华为Mate70系列搭载了光谱技术的产物——红枫原色摄像头&#xff0c;这是一款150万像素的多光谱摄像头。 相较于普通摄像头&#xff0c;它具有以下优势&#xff1a; 色彩还原度高&#xff1a;色彩还原准确度提升约 120%&#xff0c;能捕捉更多光谱信息&#xff0c;使拍摄照片色…...

借助 Cursor 快速实现小程序前端开发

借助 Cursor 快速实现小程序前端开发 在当今快节奏的互联网时代&#xff0c;小程序因其便捷性、高效性以及无需下载安装的特点&#xff0c;成为众多企业和开发者关注的焦点。然而&#xff0c;小程序的开发往往需要耗费大量的时间和精力&#xff0c;尤其是在前端开发阶段。幸运…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...