“轻松上手!5分钟学会用京东云打造你自己的专属DeepSeek”

#从第⼀步骤到第四步骤是完成DeepSeek本地部署和使⽤,可以满⾜中⼩企业环境的稳定 使⽤,第五步骤为基于AnythingLLM和本地数据进⾏训练(基于本地数据搭建本地知识 库): ⼀:京东云GPU云主机环境准备 ⼆:部署Ollama 三:运⾏DeepSeek模型 四:图形客户端使⽤ #第五步骤可以不执⾏ 五:本地数据投喂

⼀:京东云GPU云主机环境准备:

DeepSeek的不同版本模型对主机硬件(主要是CPU、内存和GPU)的要求不⼀样,推荐使⽤拥有单独GPU的主机进⾏部署以获得更好的使⽤体验,显卡推荐使⽤如NVIDIA RTX 3090或同等以上规格的显卡,CPU需要⽀持AVX2、AVX-512等指令集可以进⼀步提⾼响应性能, 如已有符合业务需求的主机环境可以跳过当前的主机环境准备步骤。

640 

1.1: 京东云创建GPU云主机:

基于实际业务需求选择云主机计费模式、地域、可⽤区、CPU架构、系统镜像及系统版本, 企业环境对于稳定性要求⽐较⾼通常使⽤Linux系统运⾏业务系统, 本步骤以Ubuntu 22.04 LTS系统版本为例(Rocky Linux及RHEL的操作步骤⼀致)、GPU为vidia Tesla P40, 演示基于Ollama部署DeepSeek-R1 :

 640 

选择GPU实例规格类型,可选自动安装GPU驱动、或云主机运行成功后单独安装GPU驱动(本文档为单独安装GPU驱动)

640



自定义云盘类型及大小、然后下一步

 640

自定义云主机网络、安全组、弹性公网IP, 安全组需要允许客户端访问11434端口, 然后下一步

640 

自定义主机密码、主机名称等信息, 然后点击立即购买

640

勾选已阅读并同意并确认开通

640 

创建完成:

640

然后在云主机控制台验证主机运行成功 640

1.2:安装GPU显卡驱动:

使⽤SSH⼯具远程连接到实例, 安装显卡驱动(以下为在Ubuntu 2204的显卡驱动安装过程)

1root@deepseek-vm:~# apt update 2root@deepseek-vm:~# ubuntu-drivers devices 3== /sys/devices/pci0000:00/0000:00:0a.0 == 4modalias : pci:v000010DEd00001B38sv000010DEsd000011D9bc03sc02i00 5vendor : NVIDIA Corporation 6model : GP102GL [Tesla P40] 7driver : nvidia-driver-470-server - distro non-free 8driver : nvidia-driver-450-server - distro non-free 9driver : nvidia-driver-550 - distro non-free recommended 10driver : nvidia-driver-535-server - distro non-free 11driver : nvidia-driver-418-server - distro non-free 12driver : nvidia-driver-545 - distro non-free 13driver : nvidia-driver-470 - distro non-free 14driver : nvidia-driver-535 - distro non-free 15driver : nvidia-driver-390 - distro non-free 16driver : xserver-xorg-video-nouveau - distro free builtin 17 18root@deepseek-vm:~# apt install nvidia-driver-550 -y #通过ubuntu仓库安装推荐的驱动版本或使用其它方式安装显卡驱动 19root@deepseek-vm:~# reboot #重启服务器以使显卡驱动生效 20 21root@deepseek-vm:~# nvidia-smi #重启后验证驱动及显卡状态(当前演示主机为两块NVIDIA Tesla P40显卡) 22Thu Feb 6 16:45:28 2025 23+-----------------------------------------------------------------------------------------+ 24| NVIDIA-SMI 550.120 Driver Version: 550.120 CUDA Version: 12.4 | 25|-----------------------------------------+------------------------+----------------------+ 26| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | 27| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 28| | | MIG M. | 29|=========================================+========================+======================| 30| 0 Tesla P40 Off | 00000000:00:09.0 Off | 0 | 31| N/A 24C P8 9W / 250W | 0MiB / 23040MiB | 0% Default | 32| | | N/A | 33+-----------------------------------------+------------------------+----------------------+ 34| 1 Tesla P40 Off | 00000000:00:0A.0 Off | 0 | 35| N/A 23C P8 9W / 250W | 0MiB / 23040MiB | 0% Default | 36| | | N/A | 37+-----------------------------------------+------------------------+----------------------+ 38 39+-----------------------------------------------------------------------------------------+ 40| Processes: | 41| GPU GI CI PID Type Process name GPU Memory | 42| ID ID Usage | 43|=========================================================================================| 44| No running processes found | 45+-----------------------------------------------------------------------------------------+

二:部署Ollama:

Ollama是一个开源的 LLM(large language model、大型语言模型)服务工具, 用于简化和降低在本地的部署和使用门槛, 可以快速在本地环境部署和管理LLM运行环境,。

官方地址:Ollama

下载地址:Download Ollama on macOS

ollama官方在linux 系统的安装是基于脚本从github下载安装包进行安装(https://ollama.com/install.sh、受网络环境因素安装过程不稳定),可以使用二进制安装包直接安装跳过在线下载过程。

2.1:下载⼆进制安装包:

Ollama可以运⾏在Windows、Linux以及MacOS, 官⽅均提供对应的安装⽂件, ⽣产 环境对稳定性要求⽐较⾼因此会通常使⽤Linux系统, 本⽂的以Ubuntu 2204作为演 示环境:

https://myserver.s3.cn-north-1.jdcloud-oss.com/ollama-linuxamd64. tgz #ollama v0.5.7版本、已经上传到京东云OSS作为临时下载地址 https://github.com/ollama/ollama/releases #github下载地址

​编辑

root@deepseek-vm:~# cd /usr/local/src/ root@deepseek-vm:/usr/local/src# wget https://myserver.s3.cnnorth- 1.jdcloud-oss.com/ollama-linux-amd64.tgz

2.2: 部署ollama:

ollama/docs/linux.md at main · ollama/ollama · GitHub

1root@deepseek-vm:/usr/local/src# tar -C /usr -xzf ollama-linux-amd64.tgz #解压安装文件 2root@deepseek-vm:/usr/local/src# ollama serve 测试启动 Ollama 3Couldn't find '/root/.ollama/id_ed25519'. Generating new private key. 4Your new public key is: 5 6ssh-ed25519 AAAA..... 7 82025/02/06 17:08:47 routes.go:1187: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/root/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://*] OLLAMA_SCHED_SPREAD:false ROCR_VISIBLE_DEVICES: http_proxy: https_proxy: no_proxy:]" 9time=2025-02-06T17:08:47.465+08:00 level=INFO source=images.go:432 msg="total blobs: 0" 10time=2025-02-06T17:08:47.465+08:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0" 11[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached. 12 13[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. 14 - using env: export GIN_MODE=release 15 - using code: gin.SetMode(gin.ReleaseMode) 16 17[GIN-debug] POST /api/pull --> github.com/ollama/ollama/server.(*Server).PullHandler-fm (5 handlers) 18[GIN-debug] POST /api/generate --> github.com/ollama/ollama/server.(*Server).GenerateHandler-fm (5 handlers) 19[GIN-debug] POST /api/chat --> github.com/ollama/ollama/server.(*Server).ChatHandler-fm (5 handlers) 20[GIN-debug] POST /api/embed --> github.com/ollama/ollama/server.(*Server).EmbedHandler-fm (5 handlers) 21[GIN-debug] POST /api/embeddings --> github.com/ollama/ollama/server.(*Server).EmbeddingsHandler-fm (5 handlers) 22[GIN-debug] POST /api/create --> github.com/ollama/ollama/server.(*Server).CreateHandler-fm (5 handlers) 23[GIN-debug] POST /api/push --> github.com/ollama/ollama/server.(*Server).PushHandler-fm (5 handlers) 24[GIN-debug] POST /api/copy --> github.com/ollama/ollama/server.(*Server).CopyHandler-fm (5 handlers) 25[GIN-debug] DELETE /api/delete --> github.com/ollama/ollama/server.(*Server).DeleteHandler-fm (5 handlers) 26[GIN-debug] POST /api/show --> github.com/ollama/ollama/server.(*Server).ShowHandler-fm (5 handlers) 27[GIN-debug] POST /api/blobs/:digest --> github.com/ollama/ollama/server.(*Server).CreateBlobHandler-fm (5 handlers) 28[GIN-debug] HEAD /api/blobs/:digest --> github.com/ollama/ollama/server.(*Server).HeadBlobHandler-fm (5 handlers) 29[GIN-debug] GET /api/ps --> github.com/ollama/ollama/server.(*Server).PsHandler-fm (5 handlers) 30[GIN-debug] POST /v1/chat/completions --> github.com/ollama/ollama/server.(*Server).ChatHandler-fm (6 handlers) 31[GIN-debug] POST /v1/completions --> github.com/ollama/ollama/server.(*Server).GenerateHandler-fm (6 handlers) 32[GIN-debug] POST /v1/embeddings --> github.com/ollama/ollama/server.(*Server).EmbedHandler-fm (6 handlers) 33[GIN-debug] GET /v1/models --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (6 handlers) 34[GIN-debug] GET /v1/models/:model --> github.com/ollama/ollama/server.(*Server).ShowHandler-fm (6 handlers) 35[GIN-debug] GET / --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func1 (5 handlers) 36[GIN-debug] GET /api/tags --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (5 handlers) 37[GIN-debug] GET /api/version --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func2 (5 handlers) 38[GIN-debug] HEAD / --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func1 (5 handlers) 39[GIN-debug] HEAD /api/tags --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (5 handlers) 40[GIN-debug] HEAD /api/version --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func2 (5 handlers) 41time=2025-02-06T17:08:47.466+08:00 level=INFO source=routes.go:1238 msg="Listening on 127.0.0.1:11434 (version 0.5.7)" 42time=2025-02-06T17:08:47.466+08:00 level=INFO source=routes.go:1267 msg="Dynamic LLM libraries" runners="[cpu cpu_avx cpu_avx2 cuda_v11_avx cuda_v12_avx rocm_avx]" 43time=2025-02-06T17:08:47.466+08:00 level=INFO source=gpu.go:226 msg="looking for compatible GPUs" 44time=2025-02-06T17:08:48.193+08:00 level=INFO source=types.go:131 msg="inference compute" id=GPU-a9100a2b-3c31-b1b4-0891-c11584b5a57f library=cuda variant=v12 compute=6.1 driver=12.4 name="Tesla P40" total="22.4 GiB" available="22.2 GiB" 45time=2025-02-06T17:08:48.193+08:00 level=INFO source=types.go:131 msg="inference compute" id=GPU-d652ebd4-0571-78b9-bf01-9a8d1da592e5 library=cuda variant=v12 compute=6.1 driver=12.4 name="Tesla P40" total="22.4 GiB" available="22.2 GiB"

2.3:验证Ollama是否正在运行:

新建另外⼀个终端、验证Ollama是否正在运⾏: root@deepseek-vm:~# ollama -v ollama version is 0.5.7

2.4:添加 Ollama 作为启动服务:

新建账户和组、名称都叫ollama, 以普通账户的身份运⾏Ollama服务、并指定监听在 0.0.0.0:11434,以⽅便外部客户端访问。

1root@deepseek-vm:~# useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama 2root@deepseek-vm:~# usermod -a -G ollama root 3 4创建/etc/systemd/system/ollama.service 启动文件: 5root@deepseek-vm:~# vim /etc/systemd/system/ollama.service 6[Unit] 7Description=Ollama Service 8After=network-online.target 9 10[Service] 11ExecStart=/usr/bin/ollama serve 12Environment="OLLAMA_HOST=0.0.0.0:11434" 13User=ollama 14Group=ollama 15Restart=always 16RestartSec=3 17Environment="PATH=$PATH" 18 19[Install] 20WantedBy=default.target 21 22#Ctrl+C退出2.3步骤运行的ollama服务、并通过service文件启动服务: 23root@deepseek-vm:~# systemctl daemon-reload 24root@deepseek-vm:~# systemctl enable ollama 25Created symlink /etc/systemd/system/default.target.wants/ollama.service/etc/systemd/system/ollama.service. 26root@deepseek-vm:~# systemctl start ollama.service #启动ollama服务 27 28root@deepseek-vm:~# systemctl status ollama.service #确认ollama服务处于运行状态 29● ollama.service - Ollama Service 30 Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: enabled) 31 Active: active (running) since Thu 2025-02-06 17:13:32 CST; 12min ago 32 Main PID: 6871 (ollama) 33 Tasks: 20 (limit: 132577) 34 Memory: 980.6M 35 CPU: 8.662s 36 CGroup: /system.slice/ollama.service 37 └─6871 /usr/bin/ollama serve 38 39Feb 06 17:20:05 deepseek-vm ollama[6871]: time=2025-02-06T17:20:05.644+08:00 level=INFO sou> 40Feb 06 17:23:01 deepseek-vm ollama[6871]: time=2025-02-06T17:23:01.005+08:00 level=INFO sou> 41Feb 06 17:24:56 deepseek-vm ollama[6871]: time=2025-02-06T17:24:56.005+08:00 level=INFO sou> 42Feb 06 17:25:16 deepseek-vm ollama[6871]: time=2025-02-06T17:25:16.005+08:00 level=INFO sou> 43Feb 06 17:25:24 deepseek-vm ollama[6871]: time=2025-02-06T17:25:24.006+08:00 level=INFO sou

查看日志并确认无报错:

root@deepseek-vm:~# journalctl -e -u ollama

 640 

验证ollama服务进程和端⼝, 11434为ollama的默认监听端⼝: root@deepseek-vm:~# netstat -tanlp

640



三:运行DeepSeek模型:

https://ollama.com/search #ollama可以部署不同类型的模型和版本

640

DeepSeek-R1在很多方面都已经达到或超越OpenAI-o1, 具体的模型版本可以根据实际业务需求进行安装, 本次为安装deepseek-r1:8b进行演示:

 640 

3.1:运行deepseek-r1:8b:

https://ollama.com/library/deepseek-r1 #官⽅⽂档

~~deepseek-r1:1.5b #需要在线下载1.1GB的数据,根据⽹络环境和服务端负载、⼤约 需要下载⼏分钟或更⻓时间 deepseek-r1:8b #需要在线下载4.9BG的数据,根据⽹络环境和服务端负载、⼤约 需要下载⼏⼗分钟或更⻓时间

root@deepseek-vm:# ollama run deepseek-r1:1.5b #运⾏deepseekr1: 1.5b root@deepseek-vm:# ollama run deepseek-r1:8b #运⾏deepseekr1: 8b,本操作只⽤于说明不同版本的安装⽅式、可以不执⾏

根据模型的⼤⼩和⽹络环境,需要~~⼀定的下载时间,下载过程中如果⽹络中断或取消, 再 次执⾏⽀持断点续传。

deepseek-r1:1.5b下载中:

640



deepseek-r1:8b下载中:

640 

​下载完成后会直接进入命令行交互式窗口,可以通过命令行窗口进行会话

640 

3.2:对话验证:

3.2.1:提问一:

请认真回答一下, 到底有没有外星人?

 640

3.2.2:提问二:

介绍一下kubernetes的优缺点

640

四:图形客户端使用:

可以使用不同的图形客户端连接DeepSeek进行交互式使用,如Chatbox、LobeChat等, 本步骤以Chatbox为例

4.1:Windows环境Chatbox图形客户端:

Chatbox是一个通用的图形客户端,支持在MacOS、Windows、Linux、安卓手机、苹果手机等系统环境安装和使用, 只需要安装在需要访问DeepSeek的主机、并配置连接DeepSeek连接地址及模型版本即可, 甚至还可以直接启动网页版, 本步骤演示如何在windows系统安装和使用Chatbox, 本步骤介绍如果在Windows系统安装Chatbox及配置和使用过程。

https://chatboxai.app/zh#download #官方下载URL https://chatboxai.app/zh/help-center/connect-chatbox-remote-ollama-service-guide #安装文档 https://github.com/Bin-Huang/chatbox/releases #安装文件下载地址

 640 

4.1.1:下载安装文件:

点击免费下载:

 640

下载过程中:

640 

下载完成:

640 

4.1.2:安装Chatbox:

在下载目录双击安装文件执行安装:

640 

可选择为当前用户还是所有用户安装、然后点击下一步:

640 

可选安装路径、然后单机安装:

640

安装过程中:

640

安装完成, 点击完成并运行Chatbox:

 640 

4.1.3:配置Chatbox:

首次打开要配置一下使用的模型, 选择使用自己的API Key或模型:

640

选择使用Ollama API:

640

具体配置:

640

上下文消息数(保存的历史会话数量)可以不限制、然后点击保存:

640

4.1.4:对话测试:

Chatbox可以通过DeepSeek进行成功对话

4.1.4.1:提问一:

请认真回答一下, 到底有没有外星人?

640

4.1.4.2:提问二:

介绍一下kubernetes项目,包括几个主要的组件和功能?

640

4.1.4.3:提问三:

一个笼子里面有三只兔子和两只鸭,后来逃走了一只兔子,请回答以下两个问题:

1.在兔子逃走之前,笼子里一共有几条腿?

2.在一只兔子逃走之后,笼子里一共还有几条腿?

640

4.1.5:如果要切换模型版本:

如果在同一个DeepSeek服务器部署了不同版本的模型,可以在Chatbox右下角进行不同版本的切换

640 

4.2:MacOS环境Chatbox图形客户端:

本步骤介绍如果在MacOS系统安装Chatbox及配置和使用过程

4.2.1:下载安装文件:

苹果系统(Intel CPU)下载的Chatbox.CE-0.10.4-mac.zip,如果是windows系统则是下载Chatbox.CE-0.10.4-Setup.exe

640

4.2.2:安装Chatbox:

苹果系统下载后解压, 会有个Chatbox CE程序: 640

可以拷贝到应用程序里面方便后期使用:

然后双击打开,首次打开需要信任:

640 

进入系统菜单,设置-->隐私与安全性-->仍要打开: 640 

确认仍要打开:

640

输入认证(密码或指纹认证)信息确认:

640 

4.2.3:配置Chatbox:

首次使用需要配置Chatbox连接deepseek模型, 点击左侧菜单Settings:

640

Chatbox配置信息如下:

640

4.2.4:对话测试:

可选新建一个对话:

640 对话验证:

640 

五:本地数据投喂:

基于AnythingLLM+DeepSeek进行数据投喂训练, 用于搭建本地离线知识库等场景, 本步骤是测试搭建本地知识库,非必须不需要执行。

https://anythingllm.com/

https://github.com/Mintplex-Labs/anything-llm

5.1:下载并安装AnythingLLM:

640

5.2:AnythingLLM基础配置:

初始化AnythingLLM对接DeepSeek的配置

5.2.1:LLMPreference:

640

5.2.2:工作区对话设置:

将聊天模式从聊天改为查询, 将会根据本地上传和识别后的数据进行响应

640

更新保存配置: 640

5.2.3:配置embedder首选项为ollama:

640

5.2.4:代理配置:

640 

5.2.5:工作区上传测试训练文档:

上传本地文档之前无法回答问题,因此要上传本地文档进行训练(支持PDF、Txt、Word、Excel、PPT等常见文档格式):

640

本地文档上传中:

640

本地文档上传完成:

640 选择指定的文档并移动到工作区:

640640

保存并导入: 640 导入并识别中:

640

识别完成: 640 关闭窗口: 640 

返回到对话窗口:

640

5.3:对话验证:

DeepSeek可以根据本地的知识内容进行匹配和回答

5.3.1:基于本地文档回答成功的:

640

5.3.2:本地没有的内容提问及对话:

经过多次提问、DeepSeek会尽可能使用本地文档内容进行回复

640

640

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

mysql中like用法

like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\

AWS国庆双重礼,仅限7天

自2021年10月1日00:00起至2021年10月7日24:00,新注册并激活(需全部完成账号注册的五个步骤,否则账号状态并未激活)AWS海外区域账户,填写页面下方表单,即可申领价值$200美元的AWS海外区域账户服务抵扣券直充到您的账户,用以抵扣服务消费,助您轻松体验多个云迁移应用场景。同时,您还可获赠AWS精美祥云纪念T恤一件。,仅限7天$20

奈学p7云原生架构师

云原生的概念主要是基于容器云,其主要原则是,软件产品从设计、开发到交付,全流程都考虑适配容器云的环境。传统的开发,是本地开发与测试,测试环境再次测试,然后部署上线,如果有上容器的需求,那么再编写Dcokerfile,做容器化改造,最后部署到容器云上云原生的产品,开发,测试和上线都是完全兼容容器云的环境,例如通过EclipseChe镜像开发,提交到git上,从

硅基流动+Cherry Studio‘0天然全科技’快速搭建DeepSeek满血版

作者:京东物流刘红妍一、前言近期DeepSeek如此火爆,全民跃跃欲试,奈何频繁的【服务器繁忙,请稍后再试】,让探索的路上体验不佳。前驱力量紧接着发布【如何本地化部署DeepSeek】的指导,尝试过程中苦于自己电脑的硬件条件,运行7B/14B的结果确实让人