基于Dify +Ollama+ Qwen2 完成本地 LLM 大模型应用实战

本文原文链接

尼恩:LLM大模型学习圣经PDF的起源

在40岁老架构师 尼恩的读者交流群(50+)中,经常性的指导小伙伴们改造简历。

经过尼恩的改造之后,很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会,拿到了大厂机会。

然而,其中一个成功案例,是一个9年经验 网易的小伙伴,当时拿到了一个年薪近80W的大模型架构offer,逆涨50%,那是在去年2023年的 5月。

不到1年,小伙伴也在团队站稳了脚跟,成为了名副其实的大模型 应用 架构师。

接下来,尼恩架构团队,通过 梳理一个《LLM大模型学习圣经》 帮助更多的人做LLM架构,拿到年薪100W, 这个内容体系包括下面的内容:

以上学习圣经 的 配套视频, 2025年 5月份之前发布。

需要准备的工具列表

基于Dify + Qwen2 完成本地 LLM 大模型应用实操, 需要准备的工具列表有:

  • windows11
  • vmware
  • centos
  • docker
  • docker-compose
  • dify
  • vscode
  • python 3.10.x
  • node.js 18.x
  • final shell

一、系统虚拟化

如果不想使用虚拟机CentOS+VM搭建Docker,可以在Window’s系统快速搭建Docker简化开发工作。

1.1 启用虚拟化

任务管理器(CTRL+Shift+Esc), 选择性能,查看CPU虚拟化,确认是否已启用(默认启用)。
在这里插入图片描述

1.2 启用Hyper-v并开启虚拟任务

按住键盘Win+R,输入control
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、安装 wsl

2.1 WSL简介

WSL(Windows Subsystem for Linux,Windows 下的 Linux 子系统)是微软在 Windows 10 和 Windows 11 中推出的一项功能,允许用户在 Windows 系统中运行完整的 Linux 环境,而无需 安装虚拟机 或双系统。

以下是关于 WSL 的详细介绍:

2.1.1 WSL 的主要功能

WSL 提供了一种在 Windows 系统中运行 Linux 环境的方法,特点如下:

  • 可以运行大多数 Linux 命令行工具、脚本和应用程序。
  • 兼容大多数 Linux 发行版(如 Ubuntu、Debian、Kali Linux 等)。
  • 无需启动虚拟机或双系统,性能接近原生。
  • 能直接访问 Windows 文件系统(通过 /mnt/c/ 等目录)。
2.1.2 WSL 的版本

WSL 有两个主要版本:

WSL 1

  • 特点:使用 Linux 系统调用翻译层,与 Windows 内核交互。
  • 优点:启动速度快,占用少量资源,兼容性高。
  • 缺点:不支持完整的 Linux 内核功能,如 Docker 等依赖内核功能的软件。

WSL 2

  • 特点:使用轻量级虚拟机运行完整的 Linux 内核。
  • 优点:性能更强,兼容性更好,可以运行 Docker 等复杂的应用程序。
  • 缺点:启动速度较慢,占用更多内存(但仍比传统虚拟机轻量)。

你可以通过以下命令检查 WSL 版本:

wsl --list --verbose
2.1.3 为什么使用 WSL?

WSL 对开发者和 Linux 用户特别有吸引力,原因包括:

开发者友好

  • 可直接在 Linux 环境中运行 Node.js、Python、Ruby、Go 等开发工具。
  • 使用 git 进行版本控制,支持 Linux 下的开发流程。

系统兼容

  • 直接访问 Windows 文件和工具(如 VS Code、PowerShell 等)。
  • 无需配置复杂的网络桥接即可在 Linux 和 Windows 应用之间传输数据。

无需虚拟机或双系统

  • 与传统虚拟机相比,占用更少的系统资源。
  • 不需要重新启动或切换系统。
2.1.4 WSL 的工作原理

WSL 在 Windows 上运行 Linux 的方式包括:

  • WSL 1:通过翻译层将 Linux 系统调用转化为 Windows 系统调用。
  • WSL 2:使用轻量级虚拟机运行完整的 Linux 内核,并通过快速文件传输机制与 Windows 文件系统交互。
2.1.5 WSL 的常见使用场景
  • Web 开发:使用 Linux 下的工具(如 Nginx、MySQL、Node.js 等)进行开发。
  • 学习 Linux:提供一个无风险的环境来学习 Linux 命令和工具。
  • 运行脚本和工具:如 Bash 脚本、Python 脚本等。
  • 系统集成:将 Linux 工具与 Windows 应用程序无缝结合。
2.1.6 与虚拟机的区别
特性 WSL 虚拟机
性能 接近原生 较高但略慢
启动速度 几乎瞬间启动 需要完整虚拟机启动
系统资源占用 很低 较高
兼容性 限于 Linux 命令行环境 完整的 Linux 桌面或服务器环境
文件系统访问 无缝访问 Windows 文件系统 需要配置共享文件夹
2.1.7 适合使用 WSL 的人群
  • Windows 用户,需要偶尔运行 Linux 工具或脚本
  • Web 开发者,特别是使用 Linux 环境作为部署目标的开发者。
  • 想学习 Linux,但又不想安装双系统或虚拟机的用户。

2.2 启用 WSL

2.2.1 打开 PowerShell(管理员模式)

img

2.2.2 输入以下命令来启用 WSL 和虚拟机平台:
wsl --install

该命令将自动启用所需的功能,包括 WSL 1、 WSL 2 和虚拟机平台。

若系统未安装虚拟机平台,安装过程中会提示你重启计算机。

如果 wsl --install 命令不可用,可以尝试以下单独的命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

尼恩的 启用 WSL 过程如下:

<无法加载 Snipaste_2025-01-12_23-15-16.png,点击修复>

启用 WSL 命令解释

  • dism.exe
    是 Windows 操作系统中的一个命令行工具,全称为 Deployment Image Servicing and Management Tool,用于服务和管理 Windows 映像,包括安装、卸载、配置 Windows 功能、驱动程序和更新等。
  • /online
    表示对当前正在运行的 Windows 操作系统进行操作,而不是针对脱机的 Windows 映像文件。
第一条命令:
  /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • /enable-feature:此参数指示 DISM 启用指定的 Windows 功能。
  • /featurename:Microsoft-Windows-Subsystem-Linux:指定要启用的功能名称为 Microsoft-Windows-Subsystem-Linux。该功能是 Windows Subsystem for Linux(WSL),它允许用户在 Windows 系统上运行 Linux 环境,无需安装虚拟机或双启动系统。通过启用此功能,用户可以从 Microsoft Store 安装不同的 Linux 发行版,并在 Windows 系统中运行 Linux 命令行工具和应用程序,提高开发和运维的便利性,例如使用 Linux 命令进行开发、测试或管理服务器等。
  • /all:表示启用该功能的所有子功能(如果有的话),确保启用完整的功能集。
  • /norestart:指示 DISM 在完成操作后不要自动重启计算机。在某些情况下,用户可能不希望立即重启计算机,可以使用此参数,在完成其他操作后手动重启。
第二条命令:
  /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • /featurename:VirtualMachinePlatform:该参数指示 DISM 启用名为 VirtualMachinePlatform 的功能。这个功能与 Windows 的虚拟机平台相关,可能是为了支持某些虚拟机功能或增强 Windows 对虚拟机的兼容性和性能。在 WSL 2 的环境中,启用 VirtualMachinePlatform 是一个重要的步骤,因为 WSL 2 是基于 Hyper-V 虚拟机技术构建的,所以启用此功能有助于 WSL 2 的正常运行。
  • /all/norestart 的含义与第一条命令中的相同,即启用该功能的所有子功能并避免自动重启计算机。

执行步骤

  1. 打开命令提示符(以管理员身份运行):

    按下 Win + X 组合键,选择 命令提示符(管理员)Windows PowerShell(管理员)

  2. 输入命令:

    依次输入上述两条命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 等待命令执行:

    DISM 会开始启用相应的功能,根据系统性能和功能大小,可能需要一段时间。你可以在命令提示符中看到操作的进度信息。

  2. 手动重启(可选):

    由于使用了 /norestart 参数,如果你需要启用的功能在下次启动时才能生效,可在完成所有操作后手动重启计算机。

注意事项

  • 管理员权限

    务必以管理员身份运行命令提示符或 Windows PowerShell,否则将无法使用 DISM 进行这些操作,会收到权限错误信息。

  • 系统兼容性

    确保你的 Windows 版本支持上述功能,不同的 Windows 版本可能对这些功能的支持有所不同。一般来说,这些功能在 Windows 10 及以上版本可用,但具体的特性和要求可能会因 Windows 版本而异。

  • WSL 版本

    如果你打算使用 WSL 2,在执行上述操作后,可能还需要进一步的步骤,例如从 Microsoft Store 安装 Linux 发行版,并设置 WSL 版本为 2。你可以使用 wsl --set-version <DistributionName> 2 命令将已安装的 Linux 发行版设置为 WSL 2,其中 <DistributionName> 是你安装的 Linux 发行版的名称。

这两条命令通常是为了在 Windows 系统上使用 Windows Subsystem for Linux 做准备工作。你是否在尝试安装 WSL 或者遇到了执行这些命令时的问题呢 可以告诉我你遇到的具体情况,我会尽力帮助你解决问题

2.3.安装Ubuntu 虚拟机

2.3.1 查看可安装发行版

2.3.1.1 查看可用的虚拟机

使用以下命令查看支持的 Linux 发行版:

wsl --list --online
2.3.1.2 输出示例
C:\Users\32956>wsl --list --online以下是可安装的有效分发的列表。

使用 'wsl.exe --install <Distro>' 安装。
NAME                            FRIENDLY NAMEUbuntu                          UbuntuDebian                          Debian GNU/Linuxkali-linux                      Kali Linux RollingUbuntu-18.04                    Ubuntu 18.04 LTSUbuntu-20.04                    Ubuntu 20.04 LTSUbuntu-22.04                    Ubuntu 22.04 LTSUbuntu-24.04                    Ubuntu 24.04 LTSOracleLinux_7_9                 Oracle Linux 7.9OracleLinux_8_7                 Oracle Linux 8.7OracleLinux_9_1                 Oracle Linux 9.1openSUSE-Leap-15.6              openSUSE Leap 15.6SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6openSUSE-Tumbleweed             openSUSE Tumbleweed

2.3.2 安装虚拟机

2.3.2.1 安装指定的 Linux 发行版:
wsl --install -d <虚拟机名称>
2.3.2.2 例如安装 Ubuntu 20.04
wsl --install -d Ubuntu-22.04
2.3.2.3 首次启动

安装完成后,首次启动时会提示设置用户名和密码。

设置完成后即可进入新的 WSL 环境。列如:

Enter new UNIX username: fhy
New password:
Retype new password:
passwd: password updated successfully
Installation successful!

2.3.3 验证虚拟机状态

2.3.3.1 验证虚拟机是否安装成功并启动
wsl --list --verbose
2.3.3.2 启动虚拟机
wsl

在 Windows 的命令提示符(CMD)或 PowerShell 中,可以使用wsl --shutdown命令来停止所有正在运行的 WSL 虚拟机。

如果只想停止特定的发行版,可以使用wsl --shutdown <发行版名称>,例如wsl --shutdown Ubuntu-20.04

wsl --shutdown Ubuntu-20.04


2.3.4 删除现有虚拟机

2.3.4.1 查看已安装的虚拟机

使用以下命令列出当前已安装的 Linux 发行版:

wsl --list --verbose

输出示例:

C:\Users\32956>wsl --list --verbose  NAME            STATE           VERSION* Ubuntu-22.04       Running           1
2.3.4.2 注销或删除虚拟机

如果确定不需要某个虚拟机,可以删除它。

(1)注销虚拟机(保留文件): 仅删除 WSL 环境配置,不会删除对应的文件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值