一文讲透大模型部署工具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、研究背景和意义 随着全球对可再生能源需求的不断增长,光伏…...

谷歌浏览器多开指南:如何完成独立IP隔离?
对于跨境电商来说,在进行社交媒体营销、广告投放等业务活动时,往往需要同时登录多个账号来提高运营效率和提升营销效果。然而,如果这些账号共享相同的 IP 地址,很容易被平台检测为关联账号,进而触发安全验证甚至封禁。…...

Django开发入门 – 3.用Django创建一个Web项目
Django开发入门 – 3.用Django创建一个Web项目 Build A Web Based Project With Django By JacksonML 本文简要介绍如何利用最新版Python 3.13.2来搭建Django环境,以及创建第一个Django Web应用项目,并能够运行Django Web服务器。 创建该Django项目需…...

【Java】多线程和高并发编程(三):锁(下)深入ReentrantReadWriteLock
文章目录 4、深入ReentrantReadWriteLock4.1 为什么要出现读写锁4.2 读写锁的实现原理4.3 写锁分析4.3.1 写锁加锁流程概述4.3.2 写锁加锁源码分析4.3.3 写锁释放锁流程概述&释放锁源码 4.4 读锁分析4.4.1 读锁加锁流程概述4.4.1.1 基础读锁流程4.4.1.2 读锁重入流程4.4.1.…...

讲解ES6中的变量和对象的解构赋值
在 ES6 中,解构赋值是一种非常方便的语法,它使得从数组或对象中提取值变得更加简洁和直观。解构赋值支持变量赋值,可以通过单独提取数组或对象的元素来赋值给变量。 下面我将分别讲解 数组解构 和 对象解构 的基本用法和一些高级特性。 1. …...

DeepSeek Coder + IDEA 辅助开发工具
开发者工具 我之前用的是Codegeex4模型,现在写一款DeepSeek Coder 本地模型 DeepSeek为什么火,我在网上看到一个段子下棋DeepSeek用兵法赢了ChatGpt,而没有用技术赢,这就是AI的思维推理,深入理解孙子兵法,…...

云计算——AWS Solutions Architect – Associate(saa)4.安全组和NACL
安全组一充当虚拟防火墙对于关联实例,在实例级别控制入站和出站流量。 网络访问控制列表(NACL)一充当防火墙关联子网,在子网级别控制入站和出站流量。 在专有网络中,安全组和网络ACL(NACL)一起帮助构建分层网络防御。 安全组在实例级别操作…...

动量+均线组合策略关键点
动量均线组合策略关键点: 趋势确认: MA系统判断主趋势方向动量指标判断趋势强度 入场条件: 价格站上重要均线(如20日线)动量指标向上并保持高位短期均线上穿长期均线 出场条件: 价格跌破均线系统动量指标见顶回落短期均线下…...

Blazor-<select>
今天我们来说说<select>标签的用法,我们还是从一个示例代码开始 page "/demoPage" rendermode InteractiveAuto inject ILogger<InjectPage> logger; <h3>demoPage</h3> <select multiple>foreach (var item in list){<…...

Synchronized使用
文章目录 synchronized使用基本概念使用方法实现原理锁的粒度并发编程注意事项与Lock锁对比比较线程安全性与性能 synchronized使用 当涉及到多线程编程时,保证数据的正确性和一致性是至关重要的。而synchronized关键字是Java语言中最基本的同步机制之一࿰…...

OpenStack四种创建虚拟机的方式
实例(Instances)是在云内部运行的虚拟机。您可以从以下来源启动实例: 一、上传到镜像服务的镜像(Image) 使用已上传到镜像服务的镜像来启动实例。 二、复制到持久化卷的镜像(Volume) 使用已…...