在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通过控制面板或者卸载工具进行卸载即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/961196.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

省级数字经济发展水平数据(2011-2022年)-社科数据

省级数字经济发展水平数据(2011-2022年)-社科数据https://download.csdn.net/download/paofuluolijiang/90028602 https://download.csdn.net/download/paofuluolijiang/90028602 数字经济是指以数据资源为关键要素、以现代信息网络为主要载体、以信息…

Excel分区间统计分析(等步长、不等步长、多维度)

在数据分析过程中,可能会需要统计不同数据区间的人数、某个数据区间的平均值或者进行分组区间统计,本文从excel函数到数据透视表的方法,从简单需求到复杂需求,采用不同的方法进行讲解,尤其是通过数据透视表的强大功能大…

线程局部存储tls的原理和使用

一、背景 tls即Thread Local Storage,也就是线程局部存储,可在进程内,多线程按照各个线程分开进行存储。对于一些与线程上下文相关的变量,可放到tls中,减少多线程之间的数据同步的开销。 有人可能会问,我…

【R语言】数学运算

一、基础运算 R语言中能实现加、减、乘、除、求模、取整、取绝对值、指数、对数等运算。 x <- 2 y <- 10 # 求模 y %% x # 整除 y %/% x # 取绝对值 abs(-x) # 指数运算 y ^x y^1/x #对数运算 log(x) #log()函数默认情况下以 e 为底 双等号“”的作用等同于identical(…

2024年度总结——理想的风,吹进现实

2024年悄然过去&#xff0c;留下了太多美好的回忆&#xff0c;不得不感慨一声时间过得真快啊&#xff01;旧年风雪尽&#xff0c;新岁星河明。写下这篇博客&#xff0c;记录我独一无二的2024年。这一年&#xff0c;理想的风终于吹进现实&#xff01; 如果用一句话总结这一年&am…

基于RIP的MGRE VPN综合实验

实验拓扑 实验需求 1、R5为ISP&#xff0c;只能进行IP地址配置&#xff0c;其所有地址均配为公有IP地址&#xff1b; 2、R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证方&#xff1b; R2与R5之间使用ppp的CHAP认证&#xff0c;R5为主认证方&#xff1b; R3与R5之间使用HDLC封…

ROS应用之SwarmSim在ROS 中的协同路径规划

SwarmSim 在 ROS 中的协同路径规划 前言 在多机器人系统&#xff08;Multi-Robot Systems, MRS&#xff09;中&#xff0c;SwarmSim 是一个常用的模拟工具&#xff0c;可以对多机器人进行仿真以实现复杂任务的协同。除了任务分配逻辑以外&#xff0c;SwarmSim 在协同路径规划方…

Jenkins上生成的allure report打不开怎么处理

目录 问题背景&#xff1a; 原因&#xff1a; 解决方案&#xff1a; Jenkins上修改配置 通过Groovy脚本在Script Console中设置和修改系统属性 步骤 验证是否清空成功 进一步的定制 也可以使用Nginx去解决 使用逆向代理服务器Nginx&#xff1a; 通过合理调整CSP配置&a…

unity制作动画的技巧相关注意点

1.如果不想人物执行这个动作过程中被打断&#xff0c;必须执行完这一次&#xff0c;比如人物死亡&#xff0c;就取消勾选 2.如果在制作攻击动画&#xff0c;当该动画权重默认是最大&#xff0c;我们可以给他加一个null动作&#xff0c;防止和其他动作有冲突 3.可以创建子状态机…

如何根据壁纸主题选择合适的主色调?

选择合适的主色调是壁纸设计中的关键步骤&#xff0c;它直接影响到壁纸的整体风格和情感传达。以下是一些根据壁纸主题选择主色调的技巧和建议&#xff1a; 一、明确壁纸主题 浪漫风格&#xff1a; 主题&#xff1a;营造温馨、梦幻的氛围。 主色调&#xff1a;粉色、紫色、浅蓝…

Python 数据分析 - Matplotlib 绘图

Python 数据分析 - Matplotlib 绘图 简介绘图折线图单线多线子图 散点图直方图条形图纵置横置多条 饼图 简介 Matplotlib 是 Python 提供的一个绘图库&#xff0c;通过该库我们可以很容易的绘制出折线图、直方图、散点图、饼图等丰富的统计图&#xff0c;安装使用 pip install…

C语言练习(29)

13个人围成一圈&#xff0c;从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子&#xff0c;找出最后留在圈子中的人原来的序号。本题要求用链表实现。 #include <stdio.h> #include <stdlib.h>// 定义链表节点结构体 typedef struct Node {int num;struct Nod…

this、self、window、top 在 JavaScript 中的区别深入研究

在 JavaScript 开发中&#xff0c;this、self、window、top 是四个常用的概念&#xff0c;它们在不同的上下文中有着不同的用途和含义。理解它们的区别对于编写健壮的 JavaScript 代码至关重要。本文将详细解释这四个概念的区别&#xff0c;并通过代码示例进行验证。 一、this …

C++ | 红黑树

前言 本篇博客讲解c中数据结构红黑树&#xff0c;看这篇博客之前请先去看&#xff1a; C | AVL树_c avl树能有重复节点吗-CSDN博客 &#x1f493; 个人主页&#xff1a;普通young man-CSDN博客 ⏩ 文章专栏&#xff1a;C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青…

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后&#xff0c;会在Windows系统中虚拟出两个虚拟网卡&#xff0c;如下&#xff1a; VMware提供了三种网络模式&#xff0c;分别是&#xff1a;桥接模式&#xff08;Bridged&#xff09;、NAT…

运算放大器应用电路设计笔记(六)

6.1输出失调电压发生的原因与计算 6.1.1用噪声增益进行评价 若运算放大器两个输入端接地&#xff0c;则理想运放输出为零&#xff0c;但实际的运放输出不为零&#xff0c;有一定的直流输出电压。这种直流电压称为输出失调电压。发生的原因是&#xff0c;运算放大器内部元件尤…

基于springboot+vue的流浪动物救助系统的设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

小阿卡纳牌

小阿卡纳牌 风&#xff1a;热湿 火&#xff1a;热干 水&#xff1a;冷湿 土&#xff1a;冷干 火风&#xff1a;温度相同&#xff0c;但是湿度不同&#xff0c;二人可能会在短期内十分热情&#xff0c;但是等待热情消退之后&#xff0c;会趋于平淡。 湿度相同、温度不同&#x…

DeepSeek R1学习

0.回顾&#xff1a; https://blog.csdn.net/Together_CZ/article/details/144431432?ops_request_misc%257B%2522request%255Fid%2522%253A%25226574a586f0850d0329fbb720e5b8d5a9%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id…

能说说MyBatis的工作原理吗?

大家好&#xff0c;我是锋哥。今天分享关于【Redis为什么这么快?】面试题。希望对大家有帮助&#xff1b; 能说说MyBatis的工作原理吗&#xff1f; MyBatis 是一款流行的持久层框架&#xff0c;它通过简化数据库操作&#xff0c;帮助开发者更高效地与数据库进行交互。MyBatis…