如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

它是免费的——社区驱动的人工智能💪。

        当 OpenAI 第一次推出定制 GPT 时,我就明白会有越来越多的人为人工智能做出贡献,并且迟早它会完全由社区驱动。

        但从来没有想过它会如此接近😂让我们看看如何在 Windows 机器上完全免费使用第一个开源推理模型! 

步骤 0:安装 Docker 桌面

        我确信很多人已经安装了它,所以可以跳过,但如果没有 — — 这很简单,只需访问Docker 的官方网站,下载并运行安装 👍

        如果您需要一些特定的设置,例如使用 WSL,那么有很多指导视频,请查看!我将继续下一步。

步骤 1:安装 CUDA 以获得 GPU 支持

        如果您想使用 Nvidia 显卡运行 LLM,则必须安装 CUDA 驱动程序。(嗯……是的,它们需要大量的计算能力)

        打开CUDA 下载页面,根据需要点击“Windows”和其他选项,然后选择“本地”作为安装程序类型:

下载并完成安装即可👍,此处需要重新启动。 

第 2 步:安装 Ollama 并下载模型

前往Ollama 网站并点击下载按钮 😆

        Ollama是一款开源 AI 工具,使用户能够在其设备上本地运行大型语言模型,为自然语言处理任务提供定制化、高效和离线功能。

安装后,打开“Windows PowerShell”

并通过运行来验证您的安装ollama -v

再次打开ollama网站并选择您的型号:

        有几种选择,我建议从 7b 开始,并检查它如何与您的机器配合使用。例如,我运行 i7-11 系列处理器和 NVIDIA GeForce RTX 2080 SUPER 以及 8GB GPU,我可以在正常(可以说是“可接受的”)速度下使用 14b 型号。

正如我所说,它需要大量的计算能力 

选择后,点击复制按钮: 

并在 PowerShell 中运行:

它将像上面一样下载并打开 shell,您可以在这里直接与它聊天,但是让我们/bye对它说,并继续设置一个实际的 UI,而不是从 PowerShell 提示 💪

步骤3:安装Open-WebUI

打开github 页面,找到“ Open WebUI with Nvidia GPU support”

复制该命令并再次在 PowerShell 中运行它。它将下载所有需要的 docker 镜像并运行容器,您可以通过http://localhost:3000/访问该容器

对于任何 LLM 用户来说,这都是一个熟悉的用户界面,左侧边栏用于聊天,左上角可用于选择已安装的模型等。

Open-WebUI 具有大量功能,例如 RAG、图像生成、网页浏览等。您可以在此处查看完整列表 

社区驱动的人工智能← 获取有关人工智能的更多内容 👍

所有信息和观点均仅代表我个人的见解。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。  

Read more

C++ 类和对象(二):默认成员函数详解

C++ 类和对象(二):默认成员函数详解

在 C++ 面向对象编程中,类的默认成员函数是非常重要的概念。当我们没有显式实现某些成员函数时,编译器会自动生成它们,这些函数被称为默认成员函数。本文将详细介绍 C++ 类的 6 个默认成员函数,包括构造函数、析构函数、拷贝构造函数、赋值运算符重载以及取地址运算符重载。 一、默认成员函数概述 默认成员函数是指用户没有显式实现,编译器会自动生成的成员函数。一个类在我们不写任何成员函数的情况下,编译器会默认生成以下 6 个默认成员函数:构造函数析构函数拷贝构造函数赋值运算符重载普通取地址运算符重载const 取地址运算符重载         其中前 4 个是我们需要重点掌握的,后两个在大多数情况下使用编译器自动生成的即可。另外,C++11 以后还增加了两个默认成员函数:移动构造和移动赋值,本文暂不讨论。 二、构造函数         构造函数是一种特殊的成员函数,其作用是在对象实例化时初始化对象,替代了我们以前手动调用的Init函数,并且会自动调用。 构造函数的特点:函数名与类名相同无返回值(不需要写void)对象实例化时系统会自动调用对应的构造函数可以重载

By Ne0inhk
【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践

【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 🎬 艾莉丝的C++专栏简介: 文章目录 * C++学习阶段的三个参考文档 * 1 ~> 异常的概念 * 2 ~> 异常的使用层 * 2.1 异常的抛出和捕获 * 2.2 栈展开 * 2.2.1 理论 * 2.2.2 最佳实践 * 2.3 查找匹配的处理代码 * 2.3.

By Ne0inhk
C++进阶:(十六)从裸指针到智能指针,C++ 内存管理的 “自动驾驶” 进化之路

C++进阶:(十六)从裸指针到智能指针,C++ 内存管理的 “自动驾驶” 进化之路

目录 前言 一、裸指针的 “血泪史”:为什么我们需要智能指针? 1.1 内存泄漏:最常见的 “噩梦” 1.2 二次释放:致命的 “双重打击” 1.3 野指针:潜伏的 “幽灵” 1.4 异常安全:被忽略的 “隐形杀手” 1.5 智能指针的核心使命 二、智能指针的 “三驾马车”:unique_ptr、shared_ptr、weak_ptr 2.1 unique_ptr:独占所有权的 “独行侠” 2.1.1 unique_ptr 的核心原理

By Ne0inhk
C++ 函数指针与回调函数深度解析

C++ 函数指针与回调函数深度解析

第32篇:C++ 函数指针与回调函数深度解析 一、学习目标与重点 * 掌握函数指针的定义、声明、初始化及调用方式 * 理解函数指针的核心应用场景,能够灵活运用函数指针优化代码 * 掌握回调函数的概念、实现原理及注册机制 * 能够独立编写回调函数案例,解决实际开发中的解耦需求 * 理解函数指针与typedef、std::function的结合使用技巧 * 规避函数指针使用中的常见错误(类型不匹配、空指针调用等) 💡 核心重点:函数指针的类型匹配规则、回调函数的注册与执行流程、函数指针与现代C++特性的结合 二、函数指针基础认知 2.1 什么是函数指针 函数指针是指向函数的指针变量,本质是指针,但它存储的不是普通数据的地址,而是函数在内存中的入口地址。通过函数指针,我们可以间接调用函数,实现“以指针方式操作函数”的灵活编程模式。 🗄️ 类比理解: * 普通指针:int* p 指向int类型数据,通过*p访问数据 * 函数指针:int (*p)(int,

By Ne0inhk