当前位置: 首页 > article >正文

在win11系统笔记本中使用Ollama部署deepseek制作一个本地AI小助手!原来如此简单!!!

大家新年好啊,明天就是蛇年啦,蛇年快乐

最近DeepSeek真的太火了,我也跟随B站,使用Ollama在一台Win11系统的笔记本电脑部署了DeepSeek。由于我的云服务器性能很差,虽然笔记本的性能也一般,但是还是可以在笔记本电脑上去尝试一下的。官方也提供了在Ollama上运行DeepSeek V3:本地部署高级AI指南

https://www.deepseekv3.com/cn/blog/deep-seek-ollama-guide
这里也推荐一个B站视频,我参考了这个模型
https://www.bilibili.com/video/BV1JTSqYqErn/?spm_id_from=333.337.search-card.all.click&vd_source=51d15aaa7e2e1f72f87356e06140ae6b

DeepSeek V3在AI模型架构上实现了重大突破,采用了复杂的混合专家系统(MoE)设计,总参数量达671B,每个token激活37B参数。由于我笔记本的 计算资源和存储空间都有限,我这里安装的 Deepseek-v2 16B 玩一玩、试一试而已。

笔记本电脑配置:3050显卡4G;CPU12500H。

(1)安装Ollama

Ollama是一个开源的大型语言模型(LLM)服务工具,旨在简化在本地机器上运行大语言模型的过程;它支持多种操作系统,提供了一个直观的命令行界面。Ollama的主要特点包括:本地部署:用户可以在自己的设备上运行模型,保护数据隐私;多模型支持:支持多种流行的LLM模型;Ollama还提供了丰富的API和库支持;支持从多种格式导入模型,如PyTorch,同时也提供了模型库。Ollama官方提供了支持文档,包括在不同系统下安装、导入大模型等,网址如下所示:

https://ollama.readthedocs.io/quickstart/

在官网首页可以看到,它支持多种模型。

首先下载安装包,官方提供的下载链接比较慢,如果开了科学上网就会很快。

下载完成后,双击启动安装程序,点击安装即可。安装过程比较简单,也不能设置安装路径等,安装完成后能够找到Ollama图标。

Ollama的默认安装路径为C:\Users\{用户名}\AppData\Local\Programs\Ollama,可以将该文件夹移动至指定位置;若选择将该文件夹移动至他处,需在环境变量中修改Path选项,添加Ollama文件绝对路径。如在安装时,要将Ollama安装到D盘某路径,可以在安装时,在终端或者CMD中先cd到安装包所在的文档,再使用如下代码:.\OllamaSetup.exe /DIR="D:\Programs\Ollama"

(2)下载DeepSeek模型

下载模型可以通过Ollama官网,也可以通过DeepSeek官网。如果机子给力的话,也可以试一下deepseek-v3

但是无奈deepseek-v3太大了,我的硬盘空间都不够。

我这里部署的deepseel-v2,并且选择了16B参数版本,没有选236B参数。

如果不需要修改模型默认下载位置,就可以打开终端或者cmd,输入如下代码,会将模型安装到默认的位置。

ollama run deepseek-v2:16b

如果需要修改模型下载位置等,官网也提供了教程。

在代码执行过程中,首先会拉取模型文件,在都加载后,弹出success,便可以进行交互了。

如果同时安装了多个模型,可以使用ollama list进行列表查看。

(3)部署UI界面

我们部署的模型可以直接通过命令行交互,但是这样不方便,也不便于应用于自己的网站等,因为我们可以使用一个UI界面工具,可以使用MaxKB:https://maxkb.cn/ 或者 OpenWebUI:https://openwebui.com/。MaxKB(Max Knowledge Base)是一款基于大语言模型和RAG(检索增强生成)的开源知识库问答系统,OpenWebUI(前身为Ollama WebUI)是一个可扩展的、功能丰富的、用户友好的自托管Web界面,设计用于完全离线运行。MaxKB和OpenWebUI都是基于大语言模型的工具,但它们的功能定位和使用场景有所不同。MaxKB更适合企业级知识管理和智能问答,而OpenWebUI则更适合模型管理和交互。

第一步是安装MaxKB。我这里使用了Docker进行了MaxKB的安装,可以使用Docker desktop可视化操作,也可以在终端中直接执行下面的代码,但是需要将D:\maxkb\maxkbD:\maxkb\python-package修改成你自己电脑上的某个路径。

在代码中,docker run用于创建并启动一个新的Docker容器。-d表示在后台运行容器(detached mode)。--name=maxkb用于指定容器的名称为maxkb,便于后续管理和引用。--restart=always用于设置容器在退出后自动重启,确保服务始终运行。-p 8080:8080 将容器内部的8080端口映射到宿主机的8080端口,使得可以通过宿主机的8080端口访问MaxKB服务。后面的代码是用于挂载数据库和python包到本地。

docker run -d --name=maxkb --restart=always -p 8080:8080 -v  D:\Programs\maxkb\maxkb:/var/lib/postgresql/data -v  D:\Programs\maxkb\python-package:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

安装成功后,进入地址:http://localhost:8080/,默认用户名为admin,默认密码为MaxKB@123..。首次登陆时,会提示修改密码。MaxKB官网提供了入门手册:https://maxkb.cn/docs/quick_start/,也可以结合B站视频等进行设置。

第二步是添加模型。 在MaxKB的模型设置页面中,点击“添加模型”按钮,选择供应商为“Ollama”;填写模型名称,确保与ollama list中显示的模型名称一致;API域名填写http://host.docker.internal:11434,因为MaxKB是通过Docker部署的,而Ollama是本机部署的,不在同一网络环境;API Key可以随意填写。

这里因为是使用的已经部署好的模型,所以很快加载。如果是要新下载一个模型,就会很慢。

第三步是创建应用。首先设置应用名称,选择应用类型。

接下来,在AI模型中选择我们添加的本地模型,自定义一下 应用描述、角色设定、提示词等信息,如果模型支持语音输入的话,还可以设置语音输入与语音播放。设置完成后,点击保存并发布。

最后查看概述,可以复制访问链接到浏览器中,直接打开,进行交互;还可以嵌入第三方、设置访问限制等。

这样,我们就创建了一个基于本地大模型的AI工具。如果要把这个AI工具共享到朋友,需要部署在服务器或者具有公网IP的设备上;也可以使用ngrokfrp、花生壳等软件进行内网穿透。

(4)卸载Ollama与移除模型

如果要卸载ollama并移除下载的本地模型,需要首先移除模型,在命令行执行如下代码:

ollama rm deepseek-v2:16b

卸载Ollma通过控制面板或者卸载工具进行卸载即可。

相关文章:

在win11系统笔记本中使用Ollama部署deepseek制作一个本地AI小助手!原来如此简单!!!

大家新年好啊,明天就是蛇年啦,蛇年快乐! 最近DeepSeek真的太火了,我也跟随B站,使用Ollama在一台Win11系统的笔记本电脑部署了DeepSeek。由于我的云服务器性能很差,虽然笔记本的性能也一般,但是…...

03.01、三合一

03.01、[简单] 三合一 1、题目描述 三合一。描述如何只用一个数组来实现三个栈。 你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。 构造函数会传入一个stackSize参数&#xf…...

【Super Tilemap Editor使用详解】(十五):从 TMX 文件导入地图(Importing from TMX files)

Super Tilemap Editor 支持从 TMX 文件(Tiled Map Editor 的文件格式)导入图块地图。通过导入 TMX 文件,你可以将 Tiled 中设计的地图快速转换为 Unity 中的图块地图,并自动创建图块地图组(Tilemap Group)。以下是详细的导入步骤和准备工作。 一、导入前的准备工作 在导…...

在FreeBSD下安装Ollama并体验DeepSeek r1大模型

在FreeBSD下安装Ollama并体验DeepSeek r1大模型 在FreeBSD下安装Ollama 直接使用pkg安装即可: sudo pkg install ollama 安装完成后,提示: You installed ollama: the AI model runner. To run ollama, plese open 2 terminals. 1. In t…...

低代码系统-产品架构案例介绍、明道云(十一)

明道云HAP-超级应用平台(Hyper Application Platform),其实就是企业级应用平台,跟微搭类似。 通过自设计底层架构,兼容各种平台,使用低代码做到应用搭建、应用运维。 企业级应用平台最大的特点就是隐藏在冰山下的功能很深&#xf…...

编解码技术:最大秩距离码(Maximum Rank Distance Code)

最大秩距离码(Maximum Rank Distance Code,简称MRD码)是一类用于处理矩阵或线性空间中错误校正的编码。其主要特点是在矩阵数据结构中具备检测和纠正错误的能力,设计目标是实现给定矩阵尺寸和错误纠正能力下的最大可能码字数。MRD…...

Linux 4.19内核中的内存管理:x86_64架构下的实现与源码解析

在现代操作系统中,内存管理是核心功能之一,它直接影响系统的性能、稳定性和多任务处理能力。Linux 内核在 x86_64 架构下,通过复杂的机制实现了高效的内存管理,涵盖了虚拟内存、分页机制、内存分配、内存映射、内存保护、缓存管理等多个方面。本文将深入探讨这些机制,并结…...

python:taichi 绘制太极图

安装 pip install taichi pip install opencv-python pycairo where ti # -- taichi 高性能可视化 Demo 展览 ti gallery D:\Python39\Lib\site-packages\taichi\examples\algorithm\circle-packing\ 点击图片,执行 circle_packing_image.py 可见 编写 taijitu.py 如…...

Linux(19)——使用正则表达式匹配文本

新年快乐! 目录 一、正则表达式: 二、通过 grep 匹配正则表达式: 三、查找匹配项: 一、正则表达式: 正则表达式使用模式匹配机制查找特定内容,vim、grep 和 less 命令都可以使用正则表达式,P…...

USB 3.1-GL3510-52芯片原理图设计

USB 3.1-GL3510-52芯片原理图设计 端口功能与兼容性物理层集成与性能电源相关特性充电功能其他特性原理图接口防护ESD 保护要求 GL3510-52是一款由Genesys Logic(创惟科技)研发的USB转换芯片,具有以下特点: 端口功能与兼容性 它…...

TCP是怎么判断丢包的?

丢包在复杂的网络环境中,是一种常见的现象。 TCP(传输控制协议)作为一种可靠传输协议,内置了多种机制来检测和处理丢包现象,从而保证数据的完整性和传输的可靠性。本文将介绍TCP判断丢包的原理和机制。 一、TCP可靠传…...

DevEco Studio 4.1中如何创建OpenHarmony的Native C++ (NAPI)程序

目录 引言 操作步骤 结语 引言 OpenHarmony的开发工具变化很快,有的时候你安装以前的教程进行操作时会发现界面和操作方式都变了,进行不下去了。比如要在OpenHarmony中通过NAPI调用C程序,很多博文(如NAPI篇【1】——如何创建含…...

deepseek R1的确不错,特别是深度思考模式

deepseek R1的确不错,特别是深度思考模式,每次都能自我反省改进。比如我让 它写文案: 【赛博朋克版程序员新春密码——2025我们来破局】 亲爱的代码骑士们: 当CtrlS的肌肉记忆遇上抢票插件,当Spring Boot的…...

【PyQt5】数据库连接失败: Driver not loaded Driver not loaded

报错内容如下: 可以看到目前所支持的数据库驱动仅有[‘QSQLITE’, ‘QMARIADB’, ‘QODBC’, ‘QODBC3’, ‘QPSQL’, ‘QPSQL7’] 我在网上查找半天解决方法未果,其中有一篇看评论反馈是可以使用的,但是PyQt5的版本有点低,5.12…...

文献阅读 250128-Tropical forests are approaching critical temperature thresholds

Tropical forests are approaching critical temperature thresholds 来自 <Tropical forests are approaching critical temperature thresholds | Nature> 热带森林正在接近临界温度阈值 ## Abstract: The critical temperature beyond which photosynthetic machinery…...

使用 Redis List 和 Pub/Sub 实现简单的消息队列

使用 Redis List 和 Pub/Sub 实现简单的消息队列 Redis 本身不是专门的消息队列系统&#xff0c;但它提供了多种数据结构&#xff08;如 List、Pub/Sub、Stream&#xff09;来实现消息队列功能。根据不同的业务需求&#xff0c;可以选择不同的方式&#xff1a; 在 Redis 中&a…...

RockyLinxu9远程登录问题

不能远程登录的问题解决 因为安装时没有勾选root远程登录权限&#xff0c;默认不能远程登录&#xff0c;需要修改 vim /etc/ssh/sshd_confi# 找到PermitRootLogin prohibit-password # 修改为:PermitRootLogin yessystemctl restart sshd 关闭防火墙 systemctl status fire…...

DataWhale组队学习 leetCode task4

1. 滑动窗口算法介绍 想象你正在用一台望远镜观察一片星空。望远镜的镜头大小是固定的&#xff0c;你可以通过滑动镜头来观察不同的星区。滑动窗口算法就像这台望远镜&#xff0c;它通过一个固定或可变大小的“窗口”来观察数组或字符串中的连续区间。 滑动操作&#xff1a;就像…...

升级到Mac15.1后pod install报错

升级Mac后&#xff0c;Flutter项目里的ios项目运行 pod install报错&#xff0c; 遇到这种问题&#xff0c;不要着急去百度&#xff0c;大概看一下报错信息&#xff0c;每个人遇到的问题都不一样。 别人的解决方法并不一定适合你&#xff1b; 下面是报错信息&#xff1a; #…...

[c语言日寄]越界访问:意外的死循环

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

「蓝桥杯题解」蜗牛(Java)

题目链接 这道题我感觉状态定义不太好想&#xff0c;需要一定的经验 import java.util.*; /*** 蜗牛* 状态定义&#xff1a;* dp[i][0]:到达(x[i],0)最小时间* dp[i][1]:到达 xi 上方的传送门最小时间*/public class Main {static Scanner in new Scanner(System.in);static f…...

新时代架构SpringBoot+Vue的理解(含axios/ajax)

文章目录 引言SpringBootThymeleafVueSpringBootSpringBootVue&#xff08;前端&#xff09;axios/ajaxVue作用响应式动态绑定单页面应用SPA前端路由 前端路由URL和后端API URL的区别前端路由的数据从哪里来的 Vue和只用三件套axios区别 引言 我是一个喜欢知其然又知其所以然的…...

视频外绘技术总结:Be-Your-Outpainter、Follow-Your-Canvas、M3DDM

Diffusion Models专栏文章汇总:入门与实战 前言:视频Inpaint的技术很火,但是OutPaint却热度不高,这篇博客总结比较经典的几篇视频Outpaint技术。其实Outpaint在runway等工具上很火,可是学术界对此关注比较少,博主从这三年的顶会中找到了最具代表性的三篇论文解读。 目录 …...

HashMap讲解

在Java开发中&#xff0c;HashMap 是最常用的数据结构之一&#xff0c;它不仅提供了键值对的快速存储和检索功能&#xff0c;还具备较高的性能和较低的空间占用。但很多开发者对其底层原理并不清楚&#xff0c;今天我们将详细解析HashMap的内部结构&#xff0c;并用通俗的方式解…...

AIP-133 标准方法:Create

编号133原文链接AIP-133: Standard methods: Create状态批准创建日期2019-01-23更新日期2019-01-23 在REST API中&#xff0c;通常向集合URI&#xff08;如 /v1/publishers/{publisher}/books &#xff09;发出POST请求&#xff0c;在集合中创建新资源。 面向资源设计&#x…...

aerodrome交易所读合约分析

池地址 0xb2cc224c1c9fee385f8ad6a55b4d94e92359dc59token0 0x4200000000000000000000000000000000000006token1 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913tickSpacing 100stakedLiquidity 4579376109215388530 snapshotCumulativesInside tickLower tickUpperslot0 …...

ts 基础核心

吴悠讲编程 : 20分钟学会TypeScript 无废话速成TS https://www.bilibili.com/video/BV1gX4y177Kf...

[内网安全] 内网渗透 - 学习手册

这是一篇专栏的目录文档&#xff0c;方便读者系统性的学习&#xff0c;笔者后续会持续更新文档内容。 如果没有特殊情况的话&#xff0c;大概是一天两篇的速度。&#xff08;实验多或者节假日&#xff0c;可能会放缓&#xff09; 笔者也是一边学习一边记录笔记&#xff0c;如果…...

FaceFusion

文章目录 一、关于 FaceFusion预览 二、安装三、用法 一、关于 FaceFusion FaceFusion 是行业领先的人脸操作平台 github : https://github.com/facefusion/facefusion官方文档&#xff1a;https://docs.facefusion.io/Discord : https://discord.com/invite/facefusion-1141…...

使用github提交Pull Request的完整流程

文章目录 1.Fork仓库2. git clone 仓库在本地3.对项目进行修改开发4.上传项目到远程仓库操作补充1. git add .2. git commit -m "提交信息"3. git pull4. git push总结完整工作流程示例 5.将更新的项目pull Request给原来的仓库主人 当多人进行项目的开发的时候&…...