文章目录
- 一,DeepSeek-R1简介
- 发展历程
- 主要功能
- 训练方式
- 思维链
- 任务表现
- 相关测评
- 国际关注
- 相关评价
- 二,DeepSeek-R1 部署
- 1 , Ollama 安装
- 2 ,Ollama 相关命令
- 3,ollama deepseek-r1 模型下载
- 4,ollama 测试 deepseek-r1 模型
- 5,springboot 调用 deepseek-r1 模型
- 6,docker安装
- 6,Open WebUI 安装
一,DeepSeek-R1简介
DeepSeek-R1 是幻方量化旗下大模型公司 DeepSeek 研发的系列推理模型,以下是关于它的简介:
发展历程
2024 年 11 月 20 日:DeepSeek-R1-Lite 预览版正式上线网页端,仅支持网页使用,暂不支持 API 调用。
2025 年 1 月 20 日:DeepSeek 正式发布 DeepSeek-R1 模型,并同步开源模型权重。
2025 年 1 月 24 日:在 Arena 上,DeepSeek-R1 基准测试升至全类别大模型第三,在风格控制类模型分类中与 OpenAI o1 并列第一。
2025 年 1 月 31 日:英伟达、微软与亚马逊三家美国头部企业接入 DeepSeek-R1 模型。
2025 年 2 月 1 日:DeepSeek 和华为云联合首发并上线基于华为云昇腾云服务的 DeepSeek R1 推理服务。
2025 年 2 月 2 日:腾讯云宣布 DeepSeek-R1 大模型一键部署至腾讯云 HAI 上,开发者仅需 3 分钟就能接入调用。
主要功能
训练方式
使用强化学习训练,在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。
思维链
推理过程包含大量反思和验证,思维链长度可达数万字。
任务表现
在数学、代码以及各种复杂逻辑推理任务上应用出色,取得了媲美 OpenAI o1-preview 的推理效果,并为用户展现了 o1 没有公开的完整思考过程。在自然语言推理等任务上,性能比肩 OpenAI o1 正式版。DeepSeek 还通过 DeepSeek-R1 的输出,蒸馏了 6 个小模型开源给社区,其中 32B 和 70B 模型在多项能力上实现了对标 OpenAI o1-mini 的效果。
相关测评
DeepSeek-R1-Lite 预览版模型在美国数学竞赛(AMC)中难度等级最高的 AIME 以及全球顶级编程竞赛(codeforces)等评测中,超越了 GPT-4 等模型。
国际关注
美国媒体 Business Insider 报道称,DeepSeek-R1 模型秉承开放精神,完全开源,为美国 AI 玩家带来了麻烦。
著名投资公司 A16z 的创始人马克・安德森发文称,Deepseek-R1 是他见过的最令人惊叹、最令人印象深刻的突破之一,而且还是开源的,它是给世界的一份礼物。A16z 合伙人 Anjney Midha 表示,从斯坦福到麻省理工,DeepSeek-R1 几乎一夜之间成为美国顶尖大学研究人员的首选模型。
英国《金融时报》发表评论文章表示,DeepSeek-R1 对全球用户产生极大吸引力,有利于推动人工智能技术的开发和应用,可能会吸引美国科技巨头的一部分客户。
相关评价
俄罗斯外交部长拉夫罗夫评价称,中国科学家在人工智能领域取得的成就,以及包括 DeepSeek 的出现,超越了美国相关研发人员在该领域的成果。
二,DeepSeek-R1 部署
DeepSeek-R1 github地址: https://github.com/deepseek-ai/DeepSeek-R1
根据上图看出DeepSeek-r1各方面优于OpenAI,在某些方面评估甚至强于OpenAI。下面我开始搭建
1 , Ollama 安装
本节针对于不需要 OpenUI 的 Ubuntu 用户以及开发者,同时也是为了帮助大家深入理解 ollama,这里介绍一种独立安装 ollama 的方式。值得注意的是,这种安装方式无需借助 docker 即可运行 ollama。而需要安装 OpenWebUI的用户,可直接跳转至第六节继续操作
ollama 是一个强大的工具,它为模型的管理和运行提供了便利。它可以简化模型的下载、配置和启动过程,让用户能够快速地将不同的模型集成到自己的工作流程中。例如,在处理多个不同类型的大语言模型时,ollama 可以轻松管理这些模型之间的切换和调用,提高开发效率。
ollama 下载地址 : https://ollama.com/download
ollama github地址 : https://github.com/ollama/ollama
#复制官网Linux自动安装命令执行即可curl-fsSL https://ollama.com/install.sh|sh
安装成功如下图:
2 ,Ollama 相关命令
Ollama 提供了多种命令行工具(CLI)供用户与本地运行的模型进行交互。
我们可以用 ollama --help 查看包含有哪些命令:
Large language model runner Usage: ollama[flags]ollama[command]Available Commands: serveStartollama create Create a modelfroma Modelfile show Show informationfora model run Run a model stop Stop a running model pull Pull a modelfroma registry push Push a model to a registry list List modelspsList running modelscpCopya modelrmRemove a model help Help about any command Flags:-h,--help helpforollama-v,--version Show version information3,ollama deepseek-r1 模型下载
根据 ollama 说明文档 可以看出deepSeek-r1 支持的模型。
也可以到(Ollama 支持 ollama.com/library 上查看可用的模型列表)
点击进入 deepseek-r1 模型,可以选择不同版本的模型(1.5b/7b/14b/32b/70b/671b)。
deepseek-r1 提供多个版本,参数量越大,模型的性能越强大,但也需要更多的存储和计算资源。1.5b 模型参数为15亿/1.1GB,7b 模型参数约为 70亿/4.7GB,14b 模型参数约为 140亿/9GB。
# 使用 ollama 获取 deepseek-r1 模型7b# 在ubuntu命令行执行ollama pull deepseek-r1:7b# 查看已下载模型列表ollama list4,ollama 测试 deepseek-r1 模型
# 1,在ubuntu命令行执行ollama run deepseek-r1:7b# 2,命令行输入对话内容回车,如:请介绍deepseek-r1 如下图所示成功响应即可5,springboot 调用 deepseek-r1 模型
创建springboot工程 引入springweb ollama
工程结构如下图
pom文件
application.properties 配置文件
写个单元测试,尝试调用Ollama中的deepseek-r1模型,这里尝试实现一个翻译的功能
packageorg.hdsoft.ollamademo;importorg.junit.jupiter.api.Test;importorg.springframework.ai.ollama.OllamaChatModel;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;@SpringBootTestclassOllamaDemoApplicationTests{// @Test// void contextLoads() {// }@AutowiredprivateOllamaChatModelollamaChatModel;@TestpublicvoidtestChatModel(){Stringprompt=""" 你是一个精通中文和英文的翻译大师。如果我给你英文就翻译成中文,给你中文就翻译成英文。 """;Stringmessage=""" Ollama now supports tool calling with popular models such as Llama 3.1. This enables a model to answer a given prompt using tool(s) it knows about, making it possible for models to perform more complex tasks or interact with the outside world. """;Stringresult=ollamaChatModel.call(prompt+":"+message);System.out.println(result);}}运行结构图下图
目前,我们的 DeepSeek-R1 部署对于开发者已经完成。为了更便捷地对 DeepSeek-R1 进行测试与使用,接下来我们需要安装 Open WebUI。 Open WebUI我们借助docker容器化安装部署。
6,docker安装
Docker 作为一款开源引擎,具备强大的功能,能够便捷地为任意应用创建轻量级、可移植且自给自足的容器。开发者在笔记本上完成编译与测试的容器,可批量部署至生产环境,涵盖 VMs(虚拟机)、裸机、OpenStack 集群以及其他基础应用平台。其核心优势在于,能将应用程序及其依赖项打包成独立容器。
以 DeepSeek 部署为例,借助 Docker,可确保 DeepSeek-R1 在不同环境下拥有一致的运行状态。无论是开发、测试还是生产环境,只要安装了 Docker,就能够运行相同的 DeepSeek-R1 容器,有效规避因环境差异引发的兼容性难题,极大提升了部署效率与稳定性。
docker的安装请参考 Windows安装 WSL2、Ubuntu 、docker
上文中基于 WSL2 搭建了 Ubuntu 虚拟环境,并在其中完成了 docker 的安装。实际上,在 Linux 系统下安装 docker 的流程与之相似,大家只需依据自己的 Linux 发行版,按照相应的官方文档或指南进行操作即可。
安装成功如下图
6,Open WebUI 安装
Open WebUI 作为一款开源的、功能强大的大模型 WebUI 工具,能为我们提供专业级的对话平台,不仅可以让我们轻松对接 DeepSeek-R1,还支持图形化界面操作,极大地提升使用的便捷性和灵活性。
Open WebUI官网
GPU 版本: 如果您想使用 GPU 加速,请运行:
docker run-d-p 3000:8080--gpus=all-v ollama:/root/.ollama-vopen-webui:/app/backend/data--nameopen-webui--restart always ghcr.io/open-webui/open-webui:ollamaCPU 版本: 如果您的设备没有 GPU,请运行:
docker run-d-p 3000:8080-v ollama:/root/.ollama-vopen-webui:/app/backend/data--nameopen-webui--restart always ghcr.io/open-webui/open-webui:ollama在这里我们选择GPU版。选择GPU版前提配置NVIDIA的GPU驱动,可在windows powerShell中输入nvidia-smi查看详细情况(没有合适显卡的选择cpu版本)
注意:wsl2和windows共享一个nvidia驱动,但是不包含容器工具包。所以windows安装nvidia驱动,ubuntu安装 NVIDIA Container Toolkit 否则会出现错误
Error responsefromdaemon: could notselectdevice driver “” with capabilities:[[gpu]].ubuntu安装 NVIDIA Container Toolkit 根据英伟达官方文档,直接执行以下内容
#在ubuntu中依次执行curl-fsSL https://nvidia.github.io/libnvidia-container/gpgkey|sudo gpg--dearmor-o/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl-s-L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list|\ sed's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'|\ sudotee/etc/apt/sources.list.d/nvidia-container-toolkit.list#更新内核sudo apt-get update#安装nvidia-container-toolkitsudo apt-get install-y nvidia-container-toolkit##配置 runtime + 生成 CDI# 配置docker runtimesudo nvidia-ctk runtime configure--runtime=docker# 生成CDI文件sudo mkdir-p/etc/cdi sudo nvidia-ctk cdi generate--output=/etc/cdi/nvidia.yaml# 重启dockersudo systemctl restart docker安装成功如下图
最后ubuntu系统强制指定为独显
# 在~/.bashrc文件最下方中添加一下内容 重启生效export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA#获取权限sudo-i#停止之前测试时的 ollama 服务 否则11434端口冲突systemctl stop ollama# 检查11434端口是否占用lsof-i:11434#启动容器 open-webuidocker run-d-p 3000:8080--gpus=all-v ollama:/root/.ollama-vopen-webui:/app/backend/data--nameopen-webui--restart always ghcr.io/open-webui/open-webui:ollama#启动 docker 容器中运行 ollamadocker run-d--gpus=all-v ollama:/root/.ollama-p 11434:11434--name ollama ollama/ollama#查看容器列表dockerps看到容器已经成功启动如下图:
访问 http://127.0.0.1:3000/
首次访问需要注册一个账号
设置ollama api地址
最终效果如下图
查看任务管理器gpu已经参与工作
反复测试发现磁盘读写很高成了响应瓶颈 建议大家使用SSD