《从零开始DeepSeek R1搭建本地知识库问答系统》一:利用WSL2搭建Linux子系统并设置运行环境

前言

最近推出的 DeepSeek R1 异常火爆,我也想趁此机会捣鼓一下,实现 DeepSeek R1 本地化部署并搭建本地知识库问答系统,其中实现的思路如下:

  1. 使用 windows 11 WSL2,创建子系统Linux,并使用 Anaconda 创建 pythn 环境。(本章内容)
  2. 下载 DeepSeek R1 蒸馏模型,使用 Ollama 框架作为服务载体部署运行。
  3. 选择基于 Langchain 框架下的 rag 架构,利用 FastApi 接口,搭建后端服务。
  4. 使用 vue3 + ElementPlus 作为前端ui框架,实现问答系统前端功能。
  5. 不依赖于 Langchain 框架,而选择 LightRAG 架构,搭建后端服务。

没错,在前后端开发中,我采取的和别人的不太一样,一般的教程例子 ui 框架都是使用 python 语言编写,例如 streamlit 框架。作为一个 python 小白,想改都不好改。

服务端只专注于 python 开发即可,提供Restful API 风格接口给前端使用,前端的东西交给前端的人来做。绝对不是因为我是python小白。在企业开发中,把大语言模型功能嵌入到已有的 web 项目是很常见的,而且大多数 web 项目都是用 react 或 vue 开发。

准备工作

安装 WSL2 有一些先决条件:

  1. Windows 11 版本默认支持 ,或者Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)。如果是旧版本请参考旧版 WSL 的手动安装步骤 | Microsoft Learn
  2. 进入主板 bios 启用虚拟化 。在 Windows 中检查虚拟化是否启用: 按 Ctrl + Shift + Esc 打开任务管理器 → 切换到"性能"选项卡 → 查看"虚拟化"是否显示"已启用"。

我的电脑配置为 windows 11 专业版 24H2 版本,显卡为 RTX 2080 super 显存 8G。

一、安装 WSL2

1. 安装 WSL2

具体可查看微软官方的安装步骤:设置 WSL 开发环境 | Microsoft Learn

打开 powershell 终端管理员模式,输入如下命令行:

powershell 复制代码
wsl --install

在安装 wsl 后,会提示重启电脑,手动重启,重启过程中会有更新系统的字样。

重启电脑后,再打开终端,再输入命令行:

powershell 复制代码
wsl --install

此时会安装 Ubuntu,同时在我的电脑左侧会显示有Linux的字样。

2. 设置 WSL 版本

终端中看安装好 Ubuntu 后,会提示:已成功安装分发。它可通过 "wsl.exe -d Ubuntu" 启动。

此时先不着急启动,先使用如下命令行验证是否已经成功安装wsl:

powershell 复制代码
wsl -l -v

如果看到有信息证明已经成功安装,但有的小伙伴的 version 是 1

输入如下命令行,修改 设置 WSL2 为默认版本:

powershell 复制代码
wsl --set-default-version 2

设置好后,准备启动 Ubuntu。

3. 启动 Ubuntu

输入命令行:

powershell 复制代码
wsl.exe -d Ubuntu

等待一会后,会让你设置用户名和密码。输入密码的时候,文本是空的,懂的人都知道,这是官方称为盲人键入。

设置好后会发现,有Welcome 的字样,并且终端的前缀改变了:

这说明已经启动了 Ubuntu,并且这个终端已经是 Linux 的命令行终端,可以使用 Linux 的任何命令。

4. 更新 Ubuntu

windows 默认不会自动更新 Ubuntu,需要用户自己手动更新,输入如下命令行更新:

bash 复制代码
sudo apt update && sudo apt upgrade

二、子系统简单的操作方式:

如果不小心关闭了终端窗口,可以在终端此处打开 Ubuntu:

1. 基本目录讲解

mnt 目录为 windows 文件资源的镜像目录,例如可以通过 cd /mnt/d/xxx 来访问 D 盘的文件。

我们打开Ubuntu终端,看到终端前缀为 :~$ 意思是当前的目录在 /home/<user name> 下。在文件资源管理器中左侧打开Linux,定位到 /home/<user name> 目录:

2. 在主目录下创建一个文件夹

/home/<user name> 是 Linux 的主目录,基本上所有的用户的文件都应该放在这个目录下。为了方便大家理解,将使用 /home/ly/ 作为主目录。

在主目录下创建一个文件夹,注意创建的文件夹是没有任何权限的,所以要赋予权限:

bash 复制代码
# 创建 Project 文件夹
mkdir Project

# 为 Project 文件夹赋予所有权限
chmod 755 Project

# 查看当前目录下的所有文件夹,并查看权限
ls -l

当然也可以直接在资源管理器中右键新建文件夹,但是这样的话,新建文件夹的所有者为 root,我用这样的方式新建名为 cesshi 的文件夹。可以看到两种方式的区别。

以上在资源管理器中也能看到。删除文件也很简单,直接在在资源管理器中右键删除即可

记住几乎所有的方式都可以在文件资源管理器中,像操作 windows 来对 Linux 系统文件进行操作。这样可以免去敲命令行的操作。比如复制、粘贴、删除、简单的修改文件内容。注意,删除文件是永久删除。

三、安装 Anaconda 并配置 python 环境

1. 下载 Anaconda

安装 Anaconda 有两种方式

方式一:Linux 命令行下载安装

bash 复制代码
# 下载最新 Miniconda(Linux 64位)
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

# 运行安装(需交互操作)
bash Anaconda3-2024.10-1-Linux-x86_64.sh

下载后文件会放在home目录下,安装完即可删除。

方式二(推荐):官网下载安装包,在 Ubuntu 中引入文件位置安装

由于文件比较大,可能会下载很久也不知道下载进度,所有更推荐在官网下载好安装包后,再使用命令行进行安装。

而且这个安装方式,以后会很常用。由于 WSL2 的 Linux 是子系统,可以实现文件资源共享。

打开Anaconda官方下载地址,选择 Linux 64-Bit (x86) Installer (1007.9M)

下载文件后,我存放的地址为 D:\Download 目录下。

在 Ubuntu 中打开进入到镜像位置

bash 复制代码
# 进入D盘镜像
cd /mnt/d/Download

# 运行安装(需交互操作)
bash Anaconda3-2024.10-1-Linux-x86_64.sh

跟着提示操作安装即可。

2. 激活conda 环境

可能有的小伙伴在安装的时候,手快跳过了设置环境变量,这时候要手动添加环境变量:

资源管理器打开 Ubuntu 打开主目录位置 /home/ly,右键使用记事本打开 .bashrc 文件,

在最后一行加上: export PATH=$PATH:/home/ly/anaconda3/bin

注意!/home/<user name>/ 换成自己安装的路径名。

保存后,打开 Ubuntu 终端,在主目录中输入如下命令:

bash 复制代码
ly@LY-ROG:~$ source ~/.bashrc

验证 conda 是否安装好,运行命令行 conda -V,若出现版本号,说明已安装成功。

3. conda 创建 python 环境

Ubuntu 终端输入命令行,等待安装 python :

bash 复制代码
 conda create -n r1 python=3.13.2

安装好后,关闭并重新打开 Ubuntu 终端,此时会发现,终端前缀多出了 (base),意思是 conda 默认激活了base虚拟环境,将环境改为我们新建的 python 环境。

Ubuntu 终端输入如下命令行:

bash 复制代码
conda activate r1

如果前缀变成了 (r1),说明成功激活自己的 python 环境。以后每次打开 Ubuntu 终端,都需要先看看环境,然后切换到自己需要的 python 环境中。

4. 安装 CUDA Toolkit 库(不是 Nvidia 显卡可不装)

打开 CUDA Toolkit 12.8 Downloads | NVIDIA Developer 官网。按下图选择 wsl 版本:

最后三种安装方式选项,大家可自行选择。

切换到 r1 环境,依次执行命令行:

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb

sudo dpkg -i cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb

sudo cp /var/cuda-repo-wsl-ubuntu-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cuda-toolkit-12-8

如果一切顺利,安装好后,查看路径 /usr/local ,将会看到有 cuda-12.8 的文件夹,说明已经安装,但还差一步。

配置 cuda 环境变量,右键记事本打开 .bashrc 文件:

将以下代码复制到最后一行保存。

bash 复制代码
export PATH=/usr/local/cuda-12.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存后,打开 Ubuntu 终端,运行命令保存文件:

bash 复制代码
ly@LY-ROG:~$ source ~/.bashrc

接着输入, nvcc -V 命令,如果出现版本信息,则说明成功安装。

结语

conda 镜像源有些安装包并不会及时更新,极少数情况会因为下载版本不对,导致出现兼容性问题。所以我都是用本源,并使用魔法加速下载。

根据上面安装,利用 WSL2 运行子系统 Linux,并做好前置环境的工作后,下一章开始讲解如何下载并部署 DeepSeek R1 模型。

相关推荐
风123456789~1 小时前
【Linux &Oracle】安装Oracle 19c客户端
linux·运维·oracle
我家大宝最可爱1 小时前
推荐算法实践:movielens数据集
linux·算法·推荐算法
凤山老林2 小时前
CentOS 安装 Docker
linux·运维·docker·容器·centos
开开又心心的学嵌入式2 小时前
LINUX——基础指令
linux·运维·服务器
Tyran_U2 小时前
Centos10 Stream 基础配置
linux
游客5203 小时前
自动化办公|xlwings快速入门
linux·前端·python
扛着相机的翻译官3 小时前
【SSH免密】Linux使用PublicKey公钥免密登录服务器
linux·服务器·ssh
苏寅4 小时前
在 debian 12 上安装 mysqlclient 报错
linux·mysql·debian
shaohui9734 小时前
arm linux下的中断处理过程。
linux·arm开发·arm中断