一文讲透大模型部署工具ollama--结合本地化部署deepseek实战
Ollama 是一个开源的人工智能平台,专注于在本地高效运行大型语言模型(LLMs)。通过 Ollama,开发者可以在自己的机器上运行多种大规模语言模型,而不必依赖于云端服务。它支持对大模型的管理和本地化部署,并且提供了易于使用的客户端接口和 WebUI 部署,帮助开发者高效地与语言模型交互。
1. Ollama 的功能和作用
Ollama 提供了一系列功能,专门用于本地化大模型的管理、部署和交互。它的核心功能包括:
1.1 本地部署大语言模型
Ollama 允许用户在本地环境中运行大语言模型(例如 GPT 系列、LLama、BERT 等),这意味着数据可以保存在本地机器上,避免了云端处理的隐私和延迟问题。
1.2 高效模型管理
Ollama 提供了一种高效的方式来管理本地模型。用户可以方便地下载、切换、加载和卸载模型,并且可以在本地机器上进行模型调优。
1.3 支持多种大模型
Ollama 支持多种主流的开源大语言模型,包括 GPT-2, GPT-3、LLaMA、T5、BERT 等。它允许用户导入、运行和对这些模型进行本地交互。
1.4 Web UI 可视化界面
Ollama 提供了一个 WebUI,用户可以通过浏览器界面与语言模型进行交互。WebUI 提供了简洁易用的界面,支持文本输入和输出查看。
1.5 Python API 支持
Ollama 提供 Python API,允许开发者通过代码与模型交互,可以集成到自己的应用程序或服务中,进行更加灵活的操作。
2. Ollama 软件安装和参数设置
2.1 Ollama 安装步骤
Ollama 提供了多平台支持(如 Linux、macOS 和 Windows)。以下是通用的安装步骤:
macOS 示例
下载 Ollama 安装包 访问 Ollama 官网下载适用于你的操作系统的最新版本。
安装步骤 对于 macOS,你可以通过 Homebrew 安装:
brew install ollama
安装完成后验证 通过以下命令验证安装是否成功:
ollama --version
Linux 示例
安装依赖项
在 Linux 上,首先需要安装一些依赖项,例如 curl 和 tar:
sudo apt-get install curl tar
下载并解压 Ollama 安装包
使用 curl 下载并解压:
curl -LO https://ollama.com/download/ollama-linux.tar.gz
tar -xvzf ollama-linux.tar.gz
将 Ollama 添加到 PATH
sudo mv ollama /usr/local/bin/
验证安装
ollama --version
2.2 常用参数设置
Ollama 提供了一些常用的命令行参数,以下是几个常见的命令及其参数:
2.2.1 查看当前安装的模型
ollama list
该命令会列出本地已经安装的所有语言模型。
2.2.2 加载特定模型
如果想加载一个特定的模型,可以使用以下命令:
ollama run <model_name>
例如,加载 deepseek-r1 模型:
这里说明一下:只有671B是满血deepseek大模型,其它的都是阉割版。另外根据自身电脑配置选择规格参考如下(配置太低是跑不动高规格模型的)
模型 | 显存需求 | 内存需求 | 推荐显卡 | 性价比方案 |
7B | 10-12GB | 16GB | RTX 3060 | 二手2060S |
14B | 20-24GB | 32GB | RTX 3090 | 双卡2080Ti |
32B | 40-48GB | 64GB | RTX 4090 | 租赁云服务器 |
ollama run deepseek-r1:1.5b(受硬件影响,风云这里下载了一个最低版的入门级,测试一下功能)
如下界面,表示安装成功
2.2.3 获取模型帮助信息
ollama help <command>
例如,查看 run 命令的帮助:
ollama help run
3. Ollama 对大模型的管理
Ollama 允许用户高效管理本地的大模型。它提供了模型下载、切换、卸载、更新等功能,支持用户根据需要进行灵活的操作。
管理命令包括:
- ollama list:显示模型列表。
- ollama show:显示模型的信息
- ollama pull:拉取模型
- ollama push:推送模型
- ollama cp:拷贝一个模型
- ollama rm:删除一个模型
- ollama run:运行一个模型
3.1 下载和安装模型
用户可以通过 Ollama 的命令行工具来下载不同的大模型。以下载 LLaMA 模型为例:
ollama install llama
模型会被自动下载并解压到本地环境中。你可以通过 ollama list 来检查已经安装的模型。
3.2 切换模型
通过 Ollama,用户可以方便地切换不同的模型。例如,你可以切换从 GPT-3 到 LLaMA:
ollama switch llama
3.3 卸载模型
如果不再需要某个模型,用户可以通过以下命令来卸载:
ollama uninstall <model_name>
例如,卸载 LLaMA:
ollama uninstall llama
4. Ollama 导入大模型的具体方式和操作步骤
4.1 导入模型
Ollama 允许用户导入自定义的大语言模型。以下是导入模型的步骤:
准备好模型文件:首先,确保你已经有了一个经过训练的大语言模型的文件。
模型上传:如果你有本地的 .bin、.pth 等模型文件,可以通过 Ollama 命令行工具上传这些文件到本地。
例如,假设你已经下载了一个大模型文件 mymodel.pth,可以使用以下命令导入该模型:
ollama import --file /path/to/mymodel.pth
验证导入的模型:导入后,使用 ollama list 查看已安装的模型,确保它已经正确安装。
5. Web UI 部署 Ollama 可视化对话界面
Ollama 提供了 WebUI 部署功能,可以通过浏览器与语言模型进行交互。以下是 WebUI 的部署步骤:
5.1 安装 WebUI 依赖
首先,需要安装支持 WebUI 的依赖,如 Node.js 和 npm。你可以使用以下命令来安装这些依赖:
sudo apt-get install nodejs npm
5.2 启动 WebUI
风云选择了在Docker上安装一个Open-WebUI组件,让DeepSeek-R1可以通过浏览器界面交互,并赋予它联系上下文的能力。
具体来看,需要先下载Docker桌面端(如果不会的,可以再去百度,按照默认的引导完成安装即可),再次打开PowerShell界面复制并执行以下这条指令,风云帮大家省下去Github查找的时间了:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
该命令会启动一个 Web 服务器,默认情况下,WebUI 将会在 http://localhost:3000 上运行。
5.3 访问 WebUI
打开浏览器,访问以下地址:
http://localhost:3000
在这个界面上,你可以与模型进行交互,输入问题并得到模型的响应。
6. 用 Python 实现 Ollama 客户端 API 调用
Ollama 提供了 Python API,允许开发者在 Python 环境中与语言模型进行交互。以下是 Python 客户端的集成步骤:
6.1 安装 Ollama Python 库
使用 pip 安装 Ollama 的 Python 客户端:
pip install ollama
6.2 Python 调用示例
以下是一个基本的 Python 示例,展示如何通过 Ollama API 调用模型:
import ollama# 流式输出
def api_generate(text:str):print(f'提问:{text}')stream = ollama.generate(stream=True,model='deepseek-r1:1.5b',prompt=text,)print('-----------------------------------------')for chunk in stream:if not chunk['done']:print(chunk['response'], end='', flush=True)else:print('\n')print('-----------------------------------------')print(f'总耗时:{chunk['total_duration']}')print('-----------------------------------------')if __name__ == '__main__':# 流式输出api_generate(text='天空为什么是蓝色的?')# 非流式输出content = ollama.generate(model='deepseek-r1:1.5b', prompt='天空为什么是蓝色的?')print(content)
在这个示例中,我们加载了deepseek-r1:1.5b 模型,发送了一个简单的问题请求,并打印了模型的响应。
6.3 更多 API 调用
Ollama 的 Python API 提供了更多的功能,例如调整温度、控制生成的最大token数等:
response = model.chat('中国首都是哪里?', temperature=0.7, max_tokens=100)
print(response['text'])
Ollama 是一个强大的本地化大语言模型管理平台,能够让开发者方便地在本地机器上运行和管理各种大模型。通过简单的命令行工具、WebUI 界面和 Python API,用户可以高效地进行模型的管理、交互和集成。无论是对大模型的安装、更新、切换,还是与模型的互动,Ollama 都提供了直观且灵活的方式,帮助开发者充分发挥大语言模型的优势。
相关文章:

一文讲透大模型部署工具ollama--结合本地化部署deepseek实战
Ollama 是一个开源的人工智能平台,专注于在本地高效运行大型语言模型(LLMs)。通过 Ollama,开发者可以在自己的机器上运行多种大规模语言模型,而不必依赖于云端服务。它支持对大模型的管理和本地化部署,并且…...

网络防御高级
接口配置: SW2: [sw2]vlan 10 [sw2]vlan 20 [sw2]interface GigabitEthernet 0/0/1 [sw2-GigabitEthernet0/0/1]port link-type trunk [SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 [sw2]interface GigabitEthernet 0/0/2 [sw2-GigabitEthernet0/0/…...

使用PyCharm进行Django项目开发环境搭建
如果在PyCharm中创建Django项目 1. 打开PyCharm,选择新建项目 2.左侧选择Django,并设置项目名称 3.查看项目解释器初始配置 4.新建应用程序 执行以下操作之一: 转到工具| 运行manage.py任务或按CtrlAltR 在打开的manage.pystartapp控制台…...
如何定义“破坏环境”
当我们谈论破坏环境时,通常会从人类活动对自然生态造成负面影响的角度来定义。例如,大规模的森林砍伐、工业污染排放、温室气体增加等,都是典型的破坏环境的行为。我们常常看到这些行为导致了生态系统的破坏、物种灭绝、气候变化等问题&#…...
现代前端开发的演进与未来趋势:从工具革新到技术突破
在过去的十年中,前端开发经历了翻天覆地的变化。从最初的静态页面到如今复杂的单页应用(SPA),从手动操作 DOM 到基于虚拟 DOM 的高效渲染,从前端“三剑客”(HTML/CSS/JS)到全栈框架的兴起&#…...

活动预告 |【Part1】Microsoft 安全在线技术公开课:安全性、合规性和身份基础知识
课程介绍 通过参加“Microsoft 安全在线技术公开课:安全性、合规性和身份基础知识”活动提升你的技能。在本次免费的介绍性活动中,你将获得所需的安全技能和培训,以创造影响力并利用机会推动职业发展。你将了解安全性、合规性和身份的基础知识…...

idea Ai工具通义灵码,Copilot我的使用方法以及比较
我用过多个idea Ai 编程工具,大约用了1年时间,来体会他们那个好用,以下只是针对我个人的一点分享,不一定对你适用 仅作参考。 介于篇幅原因我觉得能说上好用的 目前只有两个 一个是阿里的通义灵码和Copilot,我用它来干…...
【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter8-对象、类与面向对象编程
八、对象、类与面向对象编程 ECMA-262 将对象定义为一组属性的无序集合。严格来说,这意味着对象就是一组没有特定顺序的 值。对象的每个属性或方法都由一个名称来标识,这个名称映射到一个值。正因为如此(以及其他还未讨论的原因)&…...
介绍下SpringBoot常用的依赖项
Spring Boot 是一个用于快速开发 Spring 应用程序的框架,它通过自动配置和依赖管理简化了开发过程。以下是一些 Spring Boot 项目中常用的依赖项: 1. Spring Boot Starter Web 作用: 用于构建 Web 应用程序,包括 RESTful 服务。依赖项: spr…...

深度解析策略模式:从理论到企业级实战应用
一、策略模式的本质:面向接口的算法工厂 策略模式(Strategy Pattern)是行为型设计模式的典型代表,其核心思想是将算法族抽象为独立对象,使其能够相互替换。这种模式完美体现了以下面向对象设计原则: 开闭原…...

【Linux】深入理解linux权限
🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、权限是什么 二、用户和身份角色 三、文件属性 1. 文件属性表示 2. 文件类型 3. 文件的权限属性 四、修改文件的权限属性和角色 1. …...

C++STL(六)——list模拟
目录 本次所需实现的三个类一、结点类的模拟实现构造函数 二、迭代器类的模拟实现为什么有迭代器类迭代器类的模板参数说明构造函数运算符的重载- -运算符的重载和!运算符的重载*运算符的重载->运算符的重载引入模板第二个和第三个参数 三、list的模拟实现3.1 默认成员函数构…...

网络安全与AI:数字经济发展双引擎
在2025年年初,一场科技攻防战引发了全球关注。国产人工智能DeepSeek的爆火,伴随着大规模的网络攻击事件,将网络安全的重要性推上了风口浪尖。 在此背景下,我们计划探讨网络安全与人工智能如何为数字经济发展提供强大动力。网络安…...

WPS接入DeepSeek模型
1.wps 下载安装 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 (最好是安装最新的wps) 2.offieceAi工具下载安装 软件下载 | OfficeAI助手 下载后安装下载下来的两个工具。安装路径可以自行修改 3.打开WPS,点击文件-》 选项-》信任中心 勾…...

深度学习之神经网络框架搭建及模型优化
神经网络框架搭建及模型优化 目录 神经网络框架搭建及模型优化1 数据及配置1.1 配置1.2 数据1.3 函数导入1.4 数据函数1.5 数据打包 2 神经网络框架搭建2.1 框架确认2.2 函数搭建2.3 框架上传 3 模型优化3.1 函数理解3.2 训练模型和测试模型代码 4 最终代码测试4.1 SGD优化算法…...

采用分步式无线控制架构实现水池液位自动化管理
以下是基于巨控GRM241Q-4D4I4QHE模块的完整技术方案,采用分步式无线控制架构实现水池液位自动化管理: 一、系统架构设计 硬件部署 山顶单元 GRM241Q模块(带4G功能) 液位计(4-20mA) 功能:实时采…...

OpenEuler学习笔记(二十三):在OpenEuler上部署开源MES系统
在OpenEuler上部署小企业开源MES(制造执行系统,Manufacturing Execution System)是一个非常有价值的项目,可以帮助企业实现生产过程的数字化管理。以下是基于开源MES系统(如 Odoo MES 或 OpenMES)的部署步骤…...

SpringSecurity:授权服务器与客户端应用(入门案例)
文章目录 一、需求概述二、基本授权登录功能实现1、授权服务器开发2、客户端开发3、功能测试 三、自定义授权服务器登录页1、授权服务器开发2、功能测试 四、自定义授权服务器授权页1、授权服务器开发2、功能测试 五、客户端信息保存数据库1、授权服务器开发2、功能测试 一、需…...
没用的文章又➕1
次次登陆GitHub都让我抓心挠肝,用了热度最高的法子也不抵事儿。谁说github上全是大神了,也要有我这样的小菜鸟。下面是我的失败记录… 查询目标网站的DNS 在whois上输入目标网站github.com,在查询结果当中选取任意一个DNS将地址和名称添加在…...

BiGRU双向门控循环单元多变量多步预测,光伏功率预测(Matlab完整源码和数据)
代码地址:BiGRU双向门控循环单元多变量多步预测,光伏功率预测(Matlab完整源码和数据) BiGRU双向门控循环单元多变量多步预测,光伏功率预测 一、引言 1.1、研究背景和意义 随着全球对可再生能源需求的不断增长,光伏…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...