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

在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)

文章目录

      • 1 在Windows系统中安装Ollama,并成功启动;
      • 2 非docker方式安装open-webui
      • 3下载并部署模型deepseek-r1


  • Ollama
    Ollama 是一个命令行工具,用于管理和运行机器学习模型。它简化了模型的下载与部署,支持跨平台使用,包括 Windows、Linux 和 MacOS 系统。用户可以通过 Ollama 访问丰富的模型库,如 Qwen、Llama 等,并支持自定义模型参数。

  • open-webui
    open-webui 是一个用户友好的 Web 界面,用于与大型语言模型进行交互。它提供了一个直观的图形用户界面,使用户能够更方便地与模型进行交互。类似于chatgpt的web界面;

  • deepseek-r1
    DeepSeek-R1 是由中国公司 DeepSeek 开发的大型语言模型。它以成本效益高和开放性受到科学家的欢迎,能够生成类似于人类推理过程的逐步响应。


1 在Windows系统中安装Ollama,并成功启动;

  • 在ollama官网中下载OllamaSetup.exe;
    在这里插入图片描述
  • 点击OllamaSetup.exe进行安装;按照提示一步步安装;
    在这里插入图片描述
  • 安装完成以后,直接去系统托盘里面查看ollama是否已经启动,存在则代表启动成功;后面第二次启动则像下图一样;
    在这里插入图片描述
  • 这个时候其实已经可以在CMD窗口中,通过ollama下载开源的大语言模型,并在本地进行部署,下图就是以Google的开源模型gemma2为例子;
    在这里插入图片描述
  • 在ollama的library网页可以查看ollama可以下载并部署的大语言模型,如下图选择的就是deepseek-r1:14b模型;
  • “B” 指的是模型的参数数量,例如"7B"即这个模型有70亿(Billion)个参数。
  • 参数是机器学习模型中用来从数据中学习的变量。
  • 参数数量是衡量模型复杂度和容量的一个指标,通常参数数量越多,模型的表达能力越强,但同时也需要更多的数据和计算资源来训练。
  • 所以在本地部署模型的时候,要根据电脑配置选取合适参数变量的模型;
    在这里插入图片描述

2 非docker方式安装open-webui

使用 PyCharm 作为集成开发环境(IDE),并结合 Miniconda 来管理 Python 环境和依赖

    1. pycharm创建项目(按需命名),miniconda创建虚拟环境,注意创建时选用的python版本需要大于等于3.11;
      在这里插入图片描述
    1. 在pycharm终端确认虚拟环境已经激活,然后通过以下命令安装open-webui,安装过程会有些慢;
  pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple open-webui

在这里插入图片描述

  • 安装的时候会在这个地方卡很久,请耐心等待5-10mins左右;
    在这里插入图片描述

  • 3.通过以下命令启动open-webui,下图是我第二次启动的样子,第一次应该会比较慢,需要安装很多依赖包;如果过程中出现安装失败的情况,就需要科学上网解决;或者访问这个视频网址,根据up主的方式去解决;

open-webui serve       

在这里插入图片描述

  • 4.根据上面的信息,open-webui是部署在本机的8080端口上,所以通过以下网址可以进行访问,访问以后来到注册界面,如下图,这个注册只需要填写信息即可注册,且第一个注册人员就是管理员;
localhost:8080

在这里插入图片描述

    1. 成功登陆以后界面如下,将界面语言设置成简体中文;
      在这里插入图片描述

3下载并部署模型deepseek-r1

  • 1.在open-webui中按照下图标注打开管理模型的界面;
    在这里插入图片描述

  • 2.点击标注的地方;
    在这里插入图片描述

  • 3.按照以下标注顺序下载和部署模型
    在这里插入图片描述

  • 下载完成以后,就可以按照下图,在“新对话”的界面中选取部署好的模型,然后就能正常使用了;
    在这里插入图片描述


更多关于open-webui的使用可以参考:

  • 三分钟一键部署Ollama!解压即用!
  • OpenWebUI+Ollama本地部署保姆级教程(非Docker),轻松搭建大语言模型!

相关文章:

在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)

文章目录 1 在Windows系统中安装Ollama,并成功启动;2 非docker方式安装open-webui3下载并部署模型deepseek-r1 Ollama Ollama 是一个命令行工具,用于管理和运行机器学习模型。它简化了模型的下载与部署,支持跨平台使用&#xff0c…...

nosql mysql的区别

NoSQL 和 MySQL 是两种不同类型的数据库管理系统,它们在设计理念、数据模型、可扩展性和应用场景等方面有着本质的区别。 NoSQL 数据库 特点: 灵活的数据模型: NoSQL 数据库通常没有固定的表结构,可以很容易地存储不同结构的文档或键值对。水平扩展: …...

DeepSeek辅助学术写作摘要内容

学术摘要写作 摘要是文章的精华,通常在200-250词左右。要包括研究的目的、方法、结果和结论。让AI工具作为某领域内资深的研究专家,编写摘要需要言简意赅,直接概括论文的核心,为读者提供快速了解的窗口。 下面我们使用DeepSeek编…...

网络工程师 (5)系统可靠性

前言 系统可靠性是指系统在规定的条件和规定的时间内,完成规定功能的能力。这种能力不仅涵盖了系统本身的稳定性和耐久性,还涉及了系统在面对各种内外部干扰和故障时的恢复能力和容错性。系统可靠性是评价一个系统性能优劣的关键指标之一,对于…...

Swoole的MySQL连接池实现

在Swoole中实现MySQL连接池可以提高数据库连接的复用率,减少频繁创建和销毁连接所带来的开销。以下是一个简单的Swoole MySQL连接池的实现示例: 首先,确保你已经安装了Swoole扩展和PDO_MySQL扩展(或mysqli,但在这个示…...

RoboVLM——通用机器人策略的VLA设计哲学:如何选择骨干网络、如何构建VLA架构、何时添加跨本体数据

前言 本博客内解读不少VLA模型了,包括π0等,且如此文的开头所说 前两天又重点看了下openvla,和cogact,发现 目前cogACT把openvla的动作预测换成了dit,在模型架构层面上,逼近了π0​那为了进一步逼近&#…...

Vue.js 配合 Vue Router 使用 Vuex

Vue.js 配合 Vue Router 使用 Vuex 今天我们来聊聊如何将 Vue Router 和 Vuex 结合使用,以实现更高效的状态和路由管理。在大型 Vue.js 应用中,Vue Router 负责路由管理,Vuex 负责状态管理。将两者结合,可以实现如权限控制、动态…...

【Django教程】用户管理系统

Get Started With Django User Management 开始使用Django用户管理 By the end of this tutorial, you’ll understand that: 在本教程结束时,您将了解: Django’s user authentication is a built-in authentication system that comes with pre-conf…...

2024年终总结——今年是蜕变的一年

2024年终总结 摘要前因转折找工作工作的成长人生的意义 摘要 2024我从国企出来,兜兜转转还是去了北京,一边是工资低、感情受挫,一边是压力大、项目经历少,让我一度找不到自己梦寐以求的工作,我投了一家又一家&#xff…...

MySQL--》深度解析InnoDB引擎的存储与事务机制

目录 InnoDB架构 事务原理 MVCC InnoDB架构 从MySQL5.5版本开始默认使用InnoDB存储引擎,它擅长进行事务处理,具有崩溃恢复的特性,在日常开发中使用非常广泛,其逻辑存储结构图如下所示, 下面是InnoDB架构图&#xf…...

SpringCloudAlibaba 服务保护 Sentinel 项目集成实践

目录 一、简介1.1、服务保护的基本概念1.1.1、服务限流/熔断1.1.2、服务降级1.1.3、服务的雪崩效应1.1.4、服务的隔离的机制 1.2、Sentinel的主要特性1.3、Sentinel整体架构1.4、Sentinel 与 Hystrix 对比 二、Sentinel控制台部署3.1、版本选择和适配3.2、本文使用各组件版本3.…...

c++面试:类定义为什么可以放到头文件中

这个问题是刚了解预编译的时候产生的疑惑。 声明是指向编译器告知某个变量、函数或类的存在及其类型,但并不分配实际的存储空间。声明的主要目的是让编译器知道如何解析程序中的符号引用。定义不仅告诉编译器实体的存在,还会为该实体分配存储空间&#…...

DeepSeek理解概率的能力

问题: 下一个问题是概率问题。乘车时有一个人带刀子的概率是百分之一,两个人同时带刀子的概率是万分之一。有人认为如果他乘车时带上刀子,那么还有其他人带刀子的概率就是万分之一,他乘车就会安全得多。他的想法对吗?…...

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置,实现点灯实验。 新建文件 LED.c、LED.h文件,将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件,这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…...

模板泛化类如何卸载释放内存

CustomWidget::~CustomWidget() {for (size_t i 0; i < buttonManager.registerItem.size(); i) {delete buttonManager.registerItem(exitButton);} } 以上该怎么写删除对象操作&#xff0c;类如下&#xff1a;template <typename T> class GenericManager { public…...

MFC结构体数据文件读写实例

程序功能将结构体内数组数据写入文件和读出 2Dlg.h中代码: typedef struct Student {int nNum[1000];float fScore;CString sss;}stu; class CMy2Dlg : public CDialog { // Construction public:CMy2Dlg(CWnd* pParent NULL); // standard constructorstu stu1; ... } 2Dl…...

jemalloc 5.3.0的tsd模块的源码分析

一、背景 在主流的内存库里&#xff0c;jemalloc作为android 5.0-android 10.0的默认分配器肯定占用了非常重要的一席之地。jemalloc的低版本和高版本之间的差异特别大&#xff0c;低版本的诸多网上整理的总结&#xff0c;无论是在概念上和还是在结构体命名上在新版本中很多都…...

03-机器学习-数据获取

一、流行机器学习数据集 主流机器学习数据集汇总 数据集名称描述来源MNIST手写数字图像数据集&#xff0c;由美国人口普查局员工书写。MNIST官网ImageNet包含数百万张图像&#xff0c;用于图像分类和目标检测。ImageNet官网AudioSet包含YouTube音频片段&#xff0c;用于声音分…...

编程题-最长的回文子串(中等)

题目&#xff1a; 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s &…...

爱书爱考平台说明

最近我开发了一个综合性的考试平台&#xff0c;内容包括但不限于职业资格证考试、成人教育、国家公务员考试等内容。目前1.0版本已经开发完成&#xff0c;其他的功能陆续完善中。 微信小程序搜索"爱书爱考" 微信小程序图标如下图: 目前维护了java相关的面试题的考题…...

doris: MAP数据类型

MAP<K, V> 表示由K, V类型元素组成的 map&#xff0c;不能作为 key 列使用。 目前支持在 Duplicate&#xff0c;Unique 模型的表中使用。 K, V 支持的类型有&#xff1a; BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DECIMALV3, DAT…...

JUC--ConcurrentHashMap底层原理

ConcurrentHashMap底层原理 ConcurrentHashMapJDK1.7底层结构线程安全底层具体实现 JDK1.8底层结构线程安全底层具体实现 总结JDK 1.7 和 JDK 1.8实现有什么不同&#xff1f;ConcurrentHashMap 中的 CAS 应用 ConcurrentHashMap ConcurrentHashMap 是一种线程安全的高效Map集合…...

Sklearn 中的逻辑回归

逻辑回归的数学模型 基本模型 逻辑回归主要用于处理二分类问题。二分类问题对于模型的输出包含 0 和 1&#xff0c;是一个不连续的值。分类问题的结果一般不能由线性函数求出。这里就需要一个特别的函数来求解&#xff0c;这里引入一个新的函数 Sigmoid 函数&#xff0c;也成…...

Spring Boot 自定义属性

Spring Boot 自定义属性 在 Spring Boot 应用程序中&#xff0c;application.yml 是一个常用的配置文件格式。它允许我们以层次化的方式组织配置信息&#xff0c;并且比传统的 .properties 文件更加直观。 本文将介绍如何在 Spring Boot 中读取和使用 application.yml 中的配…...

1.2第1章DC/DC变换器的动态建模-1.2Buck-Boost 变换器的交流模型--电力电子系统建模及控制 (徐德鸿)--读书笔记

1.2 Buck-Boost 变换器的交流模型 Buck- Boost变换器是一种典型的DC/DC变换器&#xff0c;具有升压和降压功能其输出电压的极性与输入电压相反&#xff0c;见图1-4a。当电感L的电流i(t)连续时一个开关周期可以分为两个阶段。在阶段1&#xff0c;开关在位置1时&#xff0c;即&am…...

数据结构:二叉树—面试题(一)

目录 1、相同的树 2、另一棵树的子树 3、翻转二叉树 4、平衡二叉树 5、对称二叉树 6、二叉树遍历 7、二叉树的分层遍历 1、相同的树 习题链接https://leetcode.cn/problems/same-tree/description/ 描述&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一…...

DDD 和 TDD

领域驱动设计&#xff08;DDD&#xff09; DDD 是一种软件开发方法&#xff0c;强调通过与领域专家的密切合作来构建一个反映业务逻辑的模型。其核心思想是将业务逻辑和技术实现紧密结合&#xff0c;以便更好地解决复杂的业务问题。 DDD 的关键概念&#xff1a; 1. 领域模型 …...

LangChain概述

文章目录 为什么需要LangChainLLM应用开发的最后1公里LangChain的2个关键词LangChain的3个场景LangChain的6大模块 为什么需要LangChain 首先想象一个开发者在构建一个LLM应用时的常见场景。当你开始构建一个新项目时&#xff0c;你可能会遇到许多API接口、数据格式和工具。对于…...

Java基于SSM框架的互助学习平台小程序【附源码、文档】

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…...

lightweight-charts-python 包 更新 lightweight-charts.js 的方法

lightweight-charts-python 是 lightweight-charts.js 的 python 包装&#xff0c;非常好用 lightweight-charts 更新比较频繁&#xff0c;导致 lightweight-charts-python 内置的 lightweight-charts 经常不是最新的。 新的 lightweight-charts 通常可以获得性能改进和bug修复…...