进阶日记(一)大模型的本地部署与运行

目录

一、背景知识

为什么要在本地部署大模型?

在本地部署大模型需要做哪些准备工作?

(1)硬件配置

(2)软件环境

有哪些部署工具可供选择?

二、Ollma安装

Ollama安装完之后,还需要进行环境变量的配置

配置完环境变量后,就可以从Ollama上下载模型到本地了


接上一篇(非科班大模型工程师进阶日记(〇)),这次我们来试试本地部署一个大模型。

开门见山,要想在本地部署自己的大模型,大致可以分以下几步:

  1. 下载Ollama,通过Ollama将DeepSeek模型下载到本地运行;
  2. 下载RAGflow源代码和Docker,通过Docker来本地部署RAGflow;
  3. 在RAGflow中构建个人知识库并实现基于个人知识库的对话问答。

But,光了解操作步骤是不够的,下面我们先从背景知识开始进行一些简单的介绍。

一、背景知识

注:不了解以下背景知识并不会对后续的安装部署产生决定性影响,但是授人以鱼不如授人以渔,大家各取所需就好。

为什么要在本地部署大模型?

本地部署的核心价值在于自主性安全性,尤其适合对数据隐私、响应速度或定制化有高需求的场景:

  1. 数据主权保障

    • 敏感数据(如企业文档、个人隐私)无需上传云端,避免第三方泄露风险。例如扬州环境监测中心部署DeepSeek-R1,就是因环境数据涉及国家安全,必须本地处理5。

  2. 性能与响应优化

    • 本地推理消除网络延迟,实现毫秒级响应(如实时数据分析、边缘计算场景)16。

  3. 长期成本可控

    • 云端模型按Token计费,高频使用成本高昂;本地部署一次性投入硬件,后续近乎零成本67。

  4. 高度定制化能力

    • 支持模型微调(如LoRA、P-Tuning)、知识库集成(上传私有文档训练),突破公版模型的功能限制18。

💡 典型场景:企业机密数据处理、离线环境应用(野外监测)、个性化AI助手开发。

在本地部署大模型需要做哪些准备工作?

(1)硬件配置

根据模型规模选择硬件,显存是关键瓶颈:

模型规模最低配置推荐配置适用工具
7B参数16GB内存 + RTX 3060 (6GB)32GB内存 + RTX 3070 (8GB)Ollama, LM Studio
13B参数32GB内存 + RTX 3090 (24GB)64GB内存 + 双RTX 4090vLLM, LLaMA.cpp
70B参数64GB内存 + 多A100显卡服务器级CPU+128GB内存+8×A100 GPUvLLM(企业级)37

⚠️ 注意:若无独立显卡,可用CPU+大内存运行量化模型(但速度显著下降)。

(2)软件环境
  • 操作系统:Linux(最佳兼容性)、Windows/MacOS

  • 基础依赖

    • Python 3.8+、CUDA工具包(NVIDIA显卡必需)

    • 深度学习框架:PyTorch或TensorFlow6

  • 虚拟环境:建议用Conda隔离依赖(避免版本冲突)


有哪些部署工具可供选择?

在进行大模型本地部署时,需要根据自己的技术背景和需求,选择合适工具。

工具特点适用场景安装复杂度
Ollama命令行操作,一键运行模型,支持多平台快速体验、轻量测试
LM Studio图形界面,可视化下载/运行模型(Hugging Face集成)非技术用户、隐私敏感场景⭐⭐
vLLM高性能推理框架,支持分布式部署、API服务化企业级高并发需求⭐⭐⭐⭐
LLaMA.cppCPU/GPU通用,资源占用低(C++编写)老旧硬件或低显存设备⭐⭐⭐
GPT4All开源轻量化,自动调用GPU加速个人开发者、跨平台应用⭐⭐

示例:Ollama部署DeepSeek-R1(适合新手,也是本次教程的选用方案)

# 安装Ollama(Linux一键命令)
curl -fsSL https://ollama.com/install.sh | sh# 运行7B参数模型
ollama run deepseek-r1:7b

OK,了解完以上知识,开展下面的工作就不会云里雾里,知其然而不知其所以然了。

二、Ollma安装

Ollama是一个用于本地运行和管理大语言模型(LLM)的工具。

Ollama的安装,直接上官网Download即可,不放心的可以看这篇教程:Ollama 安装。

Ollama安装完之后,还需要进行环境变量的配置:

(必选)OLLAMA_HOST - 0.0.0.0:11434

  • 作用:默认条件下,Ollma只能通过本机访问,但出于便捷性考虑,我们这次部署是通过Docker进行,配置这一环境变量就是为了让虚拟机里的RAGFlow能够访问到本机上的 Ollama;(具体原理参见:配置Ollama环境变量,实现远程访问
  • 如果配置后虚拟机无法访问,可能是你的本机防火墙拦截了端口11434;
  • 不想直接暴露 11434 端口则可通过SSH 端口转发来实现虚拟机访问。

(可选)OLLAMA_MODELS - 自定义位置

  • 作用:Ollama 默认会把模型下载到C盘,如果希望下载到其他盘需要进行这一配置。

更新完两个环境变量记得重启,不然无法立即生效。

配置完环境变量后,就可以从Ollama上下载模型到本地了:

这次我们以Deepseek-R1:8b为例,需要注意的是,模型越大对本地机器配置要求越高,一般来说deepseek 32b就能达到不错的效果,更高的不一定能跑的起来。

 配置及模型选择可参考:个人用户进行LLMs本地部署前如何自查和筛选

下载方式就是复制Ollama官网提供的相应指令,通过电脑命令行进行下载(Windows+R、cmd)

ollama run deepseek-r1:8b

下载完成后,可以直接在命令行窗口进行问答,至此,你就成功完成了大模型的本地化部署!

Congrats!

本地化部署虽然是很简单的一步,却为未来打开了更多可能性。但是,做到这里还不算完全拥有了自己的大模型,下一篇我会讲如何结合RAGFlow来构建自己的本地知识库,从而让DeepSeek更懂你的需求。

祝大家玩儿的开心!

See you next time!:)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot Starter 自动装配原理全解析:从概念到实践

Spring Boot Starter 自动装配原理全解析:从概念到实践 在Spring Boot开发中,Starter和自动装配是两个核心概念,它们共同构成了“开箱即用”的开发体验。通过引入一个Starter依赖,开发者可以快速集成第三方组件(如Red…

win11回收站中出现:查看回收站中是否有以下项: WPS云盘回收站

好久没更新了,首先祝所有大朋友、小朋友六一儿童节快乐,真的希望我们永远都不会长大呀,长大真的好累呀(•_•) 免责声明 笔者先来个免责声明吧,被网上的阴暗面吓到了 若读者参照笔者的这篇文章所执行的操作中途或后续出现的任何…

网络安全大模型理解

一、网络安全大模型的概述 网络安全大模型是一种用于识别和应对各种网络安全威胁的模型。它通过分析网络数据包、网络行为等信息,识别潜在的网络安全事件,并采取相应的措施进行防御。网络安全大模型主要包括以下几个部分: 1. 数据预处理&am…

C++语法架构解说

C 是一种功能强大且灵活的编程语言,广泛应用于系统编程、游戏开发、嵌入式系统、金融软件等领域。 其语法架构复杂且丰富,涵盖了从基础语法到高级特性的各个方面。 对 C 语法架构 的详细解析,涵盖其核心语法结构、面向对象编程(…

审计- 1- 审计概述

1.财务报表审计的概念 财务报表审计是指注册会计师对财务报表是否不存在重大错报提供合理保证,以积极方式提出意见,增强除管理层之外的预期使用者对财务报表信赖的程度。 1.1 审计业务三方关系人 注册会计师对财务报表发表审计意见是注册会计师的责任管…

RapidOCR集成PP-OCRv5_det mobile模型记录

该文章主要摘取记录RapidOCR集成PP-OCRv5_mobile_det记录,涉及模型转换,模型精度测试等步骤。原文请前往官方博客: https://rapidai.github.io/RapidOCRDocs/main/blog/2025/05/26/rapidocr%E9%9B%86%E6%88%90pp-ocrv5_det%E6%A8%A1%E5%9E%8B…

Spine工具入门教程2之导入

1、导入定义 从原画转化为Spine的环节。 (1)选择路径,拖动图片导入方式 缺点:定位不准 【使用批量导出的方式】 在PS工具中,选择所有图层后右键选择导出。 在Spine工具中,选择路径导入图片。 然后再拖…

【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡

【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡 一、项目背景与转型原因 1.1 原定计划的变更 本系列教程最初规划是开发即构美颜SDK的UTS插件,但由于甲方公司内部战略调整,原项目被迫中止。考虑到: 技术…

戴尔AI服务器订单激增至121亿美元,但传统业务承压

戴尔科技121亿美元的AI服务器订单,不仅超过了公司整个2025财年的AI服务器出货量,更让其AI订单积压达到144亿美元的历史高位。 戴尔科技最新财报显示,AI服务器需求的爆炸式增长正在重塑这家老牌PC制造商的业务格局,但同时也暴露出…

多线程和并发之线程

线程 前面讲到进程:为了并发执行任务(程序),现代操作系统才引进进程的概念 分析: 创建开销问题:创建一个进程开销:大 子进程需要拷贝父进程的整个地址空间 通信开销问题:进程间的通…

AAAI 2025论文分享│STD-PLM:基于预训练语言模型的时空数据预测与补全方法

本文详细介绍了一篇发表于人工智能顶级会议AAAI 2025的论文《STD-PLM: Understanding Both Spatial and Temporal Properties of Spatial-Temporal Data with PLM》。该论文提出了一种基于预训练语言模型(Pre-trained Language Model‌,PLM)的…

前端八股 tcp 和 udp

都是传输层协议 udp 数据报协议 不可靠面向数据包对于应用层传递的报文加上UDP首部就传给网络层 tcp 传输控制协议 可靠 会将报文分段进行传输 区别: 1.tcp 可靠 udp 不可靠 2.tcp 面向连接 三握四挥 udp 无连接 3.tcp面向字节流 udp面向报文 4.效率低 效率高…

MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能

前言: 在当今竞争激烈的制造业环境中,企业面临着提高生产效率、降低成本、提升产品质量以及快速响应市场变化等多重挑战。MES管理系统作为连接企业上层计划管理系统与底层工业控制之间的桥梁,扮演着至关重要的角色。它能够实时收集、分析和处…

MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法|文献速递-深度学习医疗AI最新文献

Title 题目 MSTNet: Multi-scale spatial-aware transformer with multi-instance learning for diabetic retinopathy classification MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法 01 文献速递介绍 糖尿病视网膜病变&#…

每日八股文6.2

每日八股-6.2 Go1.GMP调度原理(这部分多去看看golang三关加深理解)2.GC(同样多去看看golang三关加深理解)3.闭包4.go语言函数是一等公民是什么意思5.sync.Mutex和sync.RWMutex6.sync.WaitGroup7.sync.Cond8.sync.Pool9.panic和rec…

【Unity】相机 Cameras

1 前言 主要介绍官方文档中相机模块的内容。 关于“9动态分辨率”,这部分很多API文档只是提了一下,具体细节还需要自己深入API才行。 2 摄像机介绍 Unity 场景在三维空间中表示游戏对象。由于观察者的屏幕是二维屏幕,Unity 需要捕捉视图并将…

SpringBoot(六)--- AOP、ThreadLocal

目录 前言 一、AOP基础 1.入门程序 2. AOP核心概念 3. 底层原理 二、AOP进阶 1.通知类型 抽取切入点 2. 切入点表达式 2.1 execution 2.2 annoation 2.3 连接点详解 三、ThreadLocal 前言 AOP(面向切面编程),面向切面编程实际就…

【深度学习】 19. 生成模型:Diffusion Models

Diffusion Models Diffusion Models 简介 Diffusion 模型是一类通过逐步添加噪声并再逆向还原的方式进行图像生成的深度生成模型。其基本流程包括: 前向过程(Forward Process):将真实图像逐步加噪,最终变为高斯噪声…

Y1——链式前向星

知识点 模版——链表的前插法 head表示头结点的下标 ver[i]表示结点i 的值 tot存储当前已经用到了哪个 add用于将x插到头结点 int head1; intt ver[N],Next[N]; int ttot-1; void add(int x){ver[tot]x;Next[tot]head;headtot; } 常见的链式前向星三种实现形式&#xff…

如何排查Redis单个Key命中率骤降?

问题现象 Redis整体命中率98%,但监控发现特定Key(如user:1000:profile)的命中率从99%骤降至40%,引发服务延迟上升。 排查步骤 1. 确认现象与定位Key // 通过Redis监控工具获取Key指标 public void monitorKey(String key) {Je…