【Deepseek】Linux 本地部署 Deepseek

news/2025/2/23 22:03:10

前言

本文介绍在 Linux 系统上部署 Deepseek AI。本文教程是面向所有想体验 AI 玩家的一个简易教程,因此即使是小白也可以轻松完成体验,话不多说立马着手去干。

[注]:笔者使用的系统为 Ubuntu 24.10

1. 关于 ollama

Ollama 是一款开源应用,可让你在 WindowsMacOSLinux 上使用命令行界面在本地运行、创建和共享大型语言模型。Ollama 最初支持 Llama2,然后扩展了其模型库以包括 MistralPhi-2 等模型。Ollama 让您能够轻松开始在您自己的硬件上运行 LLM,专为简化大型语言模型(LLM)在本地机器上的部署和运行而设计。它通过将模型权重、配置和数据打包为 Modelfile,优化了 LLM 的设置和配置过程,使得非专业用户也能方便地管理和运行这些模型。Ollama 支持多种 LLM,并提供跨平台支持,用户可以通过简单的命令行操作或 API 来启动和运行模型。它在文本生成、翻译、问答系统和代码生成等多个应用场景中具有广泛的应用价值。

2. 下载并安装 ollama

ollama 官网链接:https://ollama.com/

进入官网映入眼帘的便是一个线条羊驼头像,正下方就是引人注目的 Download 按钮,直接点击进去。

在这里插入图片描述

这里直接点击复制官网提供的命令,粘贴到 Linux 的终端里执行。

在这里插入图片描述

如果正确安装完的日志信息将会是如下输出,由于笔者这台机器没有 GPU,因此这里会有个 WARNING,常规有 GPU 的机器则会输出 >>> NVIDIA GPU installed. 的字样。

安装完成,可以输入 ollama --version 来检验是否安装成功,如果正确安装则会输出所安装 ollama 的版本号。

在这里插入图片描述

到这里 Ollama 算是安装完成。

2.1. 安装报错的解决方法

如果在上述过程中没有报错则可以跳过此小节。若上述过程有报错的小伙伴可以尝试如下方法。

使用 curl 先下载 ollama 的安装脚本。

$ curl -fsSL https://ollama.com/install.sh -o ollama_install.sh

为下载下来的脚本文件添加可执行权限。

$ chmod +x ollama_install.sh

用如下命令,将 ollama 的默认下载地址指向 Github 下载。

$ sed -i 's|https://ollama.com/download/|https://github.com/ollama/ollama/releases/download/v0.5.11/|' ollama_install.sh

[注]:该版本是笔者安装时的最新版本,当按照该方法安装时建议查询当前最新版本号,安装最新版的 Ollama。

在这里插入图片描述

[注]:只需要看红线画出的命令,其它为笔者在粘贴的时候多复制了 $ 导致执行错误。

这时用该方法 Ollama 安装完成。

3. 配置模型存储位置

希望使用默认存储位置的小伙伴可以跳过此小节,直接看后面的下载模型。

LinuxOllama 默认的模型存储位置通常为 /usr/share/ollama/.ollama/models,当然也可以手动指定其路径。通过修改 OLLAMA_MODELS 环境变量完成。

首先关闭 ollama 服务。

sudo systemctl stop ollama

sudo systemctl disable ollama.service

[注]:若正在运行 ollama 则需要手动停止正在运行的程序 ctrl + c,对于首次安装的小伙伴则可以忽略这一点。

创建需要指定的目录,需要注意的是该目录的所属权必须全部是 root,且目录的权限为 775

例如笔者这里创建的目录为 /usr/local/ollama/models,为其设置权限。

sudo chown -R root:root /usr/local/ollama/models

sudo chmod -R 775 /usr/local/ollama/models

修改 service 文件。

sudo vim /etc/systemd/system/ollama.service

将其中的 UserGroup 修改为 root,同时在 [Service] 项中添加一行 Environment,用来指定模型存储路径。

Environment="OLLAMA_MODELS=*********"

[注]:**** 表示所要指定的具体完成路径。

在这里插入图片描述

重载配置并重启 ollama

sudo systemctl daemon-reload

sudo sudo systemctl start ollama.service

sudo sudo systemctl restart ollama.service

sudo sudo systemctl enable ollama.service

可以通过如下命令查看 ollama 服务是否正常工作。


sudo sudo systemctl status ollama.service

在这里插入图片描述

这时进入新指定的目录则会看到生成了 blobs 目录。
在这里插入图片描述

到此,模型的存储位置修改完成。

4. 下载 Deepseek 模型

Ollama 拉取和使用模型的操作跟 Docker 很像,所以如果有过使用容器的经验的话,用起来会非常顺手。首先我们访问以下 Ollama 官方的模型库中的DeepSeek-R1

在这里插入图片描述

在这里插入图片描述

这里笔者由于没有 GPU 同时也方便演示选择较小的 7b,点击右边的复制按钮,复制命令。

在这里插入图片描述

将上图中复制的命令中的 run 在终端中修改为 pull,由于 pull 是支持断点续传的,因此非常适合网络环境不稳定的小伙伴,当中断后仍然可以重新 pull 继续之前的下载。

$ ollama pull deepseek-r1:7b

[注]:这里耐心等待几分钟。

在这里插入图片描述

看到 success 字样也就说明模型下载完成了,执行如下命令可查看 ollama 目前所下载的模型列表。

$ ollama list

在这里插入图片描述

进入模型的存储路径同样也会看到下载好的模型。

在这里插入图片描述

5. 体验 Deepseek

运行如下命令进入命令行提问模式,这里的模型需要与下载的模型相同。

$ ollama run deepseek-r1:7b

我们来问个考验 AI 经典的问题吧。

在这里插入图片描述

6. 安装 Chatbox AI

https://www.chatboxai.app/zh

在这里插入图片描述
Linux 下载的文件名为 Chatbox-***.AppImage,事实上是一个可执行文件,这里需要给它修改为可执行的。
在这里插入图片描述

直接执行该文件,发现会报错,缺少一个库文件。

$ ./Chatbox-1.9.8-x86_64.AppImage 
dlopen(): error loading libfuse.so.2

AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

执行如下命令安装即可。

sudo apt install libfuse2

再次运行该程序,发现会报如下错误。

$ ./Chatbox-1.9.8-x86_64.AppImage 
[30328:0220/145555.961814:FATAL:setuid_sandbox_host.cc(157)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_ChatbopUEEU8/chrome-sandbox is owned by root and has mode 4755.
追踪或断点陷阱 (核心已转储)

这可能与笔者使用的系统版本有关 Ubuntu 24.10,在其它版本的 Linux 上不会报错,经过查找只能在其后添加 --no-sandbox 才可以正常启动。

$ ./Chatbox-1.9.8-x86_64.AppImage --no-sandbox

在这里插入图片描述

这里需要配置选择使用本地模型,点击保存。

在这里插入图片描述

现在就可以开始对话,这里还是用与上面同样的问题来提问。

在这里插入图片描述

它也可以解析一些静态网页,例如这里笔者将之前写的《【Deepseek】Windows本地部署Deepseek——小白版》 链接丢进去,该模型可以对该链接的内容简单解析。

在这里插入图片描述

7. 安装 AnythingLLM

官网 https://anythingllm.com/,Anythingllm 是功能强大的语言模型应用框架,它可支持很多本地部署大模型,并提供对用户友好的界面。这里作为与 ollama 搭配,作为本地知识库使用。

在这里插入图片描述

执行如下命令,下载 Linux 版本的 AnythingLLM

curl -fsSL https://cdn.anythingllm.com/latest/installer.sh | sh

下载好的文件会默认保存在 ~/AnythingLLMDesktop 目录下,进入该目录。

~$ cd AnythingLLMDesktop/

AnythingLLMDesktop$ ls
anythingllm-desktop  start

直接运行,start 脚本,这里可能是因为笔者所使用的系统版本原因,会报如下错误。

AnythingLLMDesktop$ ./start 
[57804:0220/154849.629752:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/imaginemiracle/AnythingLLMDesktop/anythingllm-desktop/chrome-sandbox is owned by root and has mode 4755.
追踪或断点陷阱 (核心已转储)

解决方法如下,进入 ~/AnythingLLMDesktop/anythingllm-desktop/ 目录。

AnythingLLMDesktop$ cd anythingllm-desktop/

anythingllm-desktop$ ls
anythingllm-desktop          icudtl.dat              locales
anythingllm-desktop.desktop  libEGL.so               resources
anythingllm-desktop.png      libffmpeg.so            resources.pak
AppRun                       libGLESv2.so            snapshot_blob.bin
chrome_100_percent.pak       libvk_swiftshader.so    usr
chrome_200_percent.pak       libvulkan.so.1          v8_context_snapshot.bin
chrome_crashpad_handler      LICENSE.electron.txt    vk_swiftshader_icd.json
chrome-sandbox               LICENSES.chromium.html

修改 chrome-sandbox 文件权限,并退出该目录。

$ sudo chown root:root chrome-sandbox
$ sudo chmod 4755 chrome-sandbox
$ cd ~/AnythingLLMDesktop

再次执行 start 脚本。

$ ./start

成功启动 AnythingLLM

在这里插入图片描述

在这里插入图片描述

接下来在填写邮箱并选择相应选项进入使用,打开设置可以看到这里使用的是本地的模型。

在这里插入图片描述

可以在这里选择上传本地知识库,为模型添加知识库,不过在提问的时候可能需要添加一些提示,模型才会联系到本地的知识库文件。

在这里插入图片描述

#到此恭喜你已经完成了在 Linux 上本地部署 Deepseek。

#完


http://www.niftyadmin.cn/n/5863809.html

相关文章

小型字符级语言模型的改进方向和策略

小型字符级语言模型的改进方向和策略 一、回顾小型字符级语言模型的处理流程 前文我们已经从零开始构建了一个小型字符级语言模型,那么如何改进和完善我们的模型呢?有哪些改进的方向?我们先回顾一下模型的流程: 图1 小型字符级语言模型的处理流程 (1)核心模块交互过程:…

Unity游戏制作中的C#基础(6)方法和类的知识点深度剖析

1.驼峰命名法 在 C# 编程里,命名规范对于代码的可读性和可维护性至关重要,驼峰命名法便是其中广泛使用的一种命名约定,它主要分为小驼峰命名法和大驼峰命名法(帕斯卡命名法)。 小驼峰命名法:这种命名方式的…

《算法基础入门:最常用的算法详解与应用(持续更新实战与面试题)》

1. 排序算法 排序算法是将一组数据按特定的顺序排列起来的算法,常见的有: 冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)归并排序(Merge So…

企业数据集成:实现高效调拨出库自动化

调拨出库对接调出单-v:旺店通企业奇门数据集成到用友BIP 在企业信息化管理中,数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例,展示如何通过轻易云数据集成平台,将旺店通企业奇门的数据无缝集成到用…

webmin配置终端显示样式,模仿UbuntuDesktop终端

webmin配置终端显示样式,模仿UbuntuDesktop终端 在webmin中,默认情况下是没有图形化桌面的,因此终端界面也不会像 Ubuntu Desktop 那样有预设的紫色背景和颜色主题。不过,你可以通过修改 ~/.bashrc 文件,并结合安装和…

ctfshow——phps源码泄露

题目提示:phps源码泄露有时候能帮上忙 题目如下图所示 根据题目提示,本题可以在URL上进行操作,可以查看是否存在index.phps。 当我们输入完后,发现会自动下载一个index.phps的文件,我们可以通过记事本的方式来打开其中的内容&…

如何使用Spring Boot实现商品的管理系统

1. 项目初始化 1.1 使用 Spring Initializr 创建项目 访问 Spring Initializr,进行如下配置: Project:选择 Maven Project。Language:选择 Java。Spring Boot:选择合适的版本,如 3.1.x。Group:填写项目的组织名,例如 com.example。Artifact:填写项目名称,如 general…

迅为iTOP-RK3576开发板/核心板6TOPS算力4K视频编解码

迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。 支持INT4/INT8/INT16/FP16/BF16/TF32混合运算&a…