Ollama——大语言模型本地部署的极速利器
1、概述
Ollama 是一款开源跨平台大模型工具,主要用于在本地便捷部署和运行大型语言模型(LLM),核心目标是降低用户使用大模型的门槛,同时保障数据隐私。核心功能与特点如下:
- 支持在 Windows、MacOS、Linux 等系统本地运行模型,无需依赖云端,数据交互全程在本地完成,避免隐私泄露。
- 适合对数据敏感的场景(如企业内部、科研)。
- 预集成主流开源模型,如 Llama 3、DeepSeek-R1、Qwen、Mistral 等,覆盖文本生成、代码开发、多语言翻译等场景。
- 支持模型量化(如 7B/13B 参数模型),降低显存需求,普通电脑(8GB + 内存)即可运行轻量模型。
- 命令行: 通过 ollama run [模型名] 一键下载并启动模型,支持流式对话(如 ollama run yi:6b-chat)。
- API 接口:默认开放 11434 端口,兼容 OpenAI API 格式,可无缝对接 LangChain 等工具,方便开发集成。
- 通过 Modelfile 配置参数(温度、上下文长度、系统提示等),创建个性化模型(如 FROM llama2 PARAMETER temperature 0.7)。
2、安装与基础命令
(1)安装(Github:https://github.com/ollama/ollam)
- 官网下载:ollama.com(Windows、Mac支持一键安装包)。
- 命令行安装(Linux):curl -fsSL https://ollama.com/install.sh | sh。
(2)常用命令
拉取模型:ollama pull llama3:13b
运行对话:ollama run llama3:13b(首次自动下载)
列出模型:ollama list
停止服务:ollama stop
查看帮助:ollama --help
3、本地部署大语言模型和云端部署大语言模型对比

4、典型使用场景
- 开发者测试:快速验证模型性能,无需申请云端 API 权限。
- 本地化应用:离线聊天机器人、内部文档问答系统(如医疗、法律领域)。
- 科研与教学:自定义模型训练,分析模型行为(如参数窃取实验)。
- 隐私优先场景:避免敏感数据上传云端(如企业代码、用户对话)。
5、安全风险与加固建议
(1)安全风险
2025 年 3 月,国家网络安全通报中心指出 Ollama 默认配置存在三大风险:
- 未授权访问:11434 端口默认开放且无认证,攻击者可直接调用模型、删除文件。
- 数据泄露:通过 /api/show 接口获取模型敏感信息(如 License)。
- 历史漏洞:可利用 CVE-2024 系列漏洞执行恶意操作(如数据投毒)。
(2)加固建议
- 限制端口监听:修改配置仅允许本地访问(ollama serve --listen localhost:11434)。
- 配置防火墙:禁止公网访问 11434 端口。
- 启用 API 密钥:通过环境变量 OLLAMA_API_KEY 认证(需版本 ≥0.5.12)。
- 及时更新:修复漏洞,避免使用默认配置暴露公网。
6、优缺点总结
- 优点:轻量易用、模型丰富、隐私性强,适合快速原型开发。
- 缺点:默认配置不安全(需手动加固),多模型并行依赖 GPU 显存,复杂场景需结合 vLLM 等框架优化。
7、总结
8、参考文章
大模型-ollama(运行框架) 、 Ollama使用指南【超全版】
Ollama——大语言模型本地部署的极速利器的更多相关文章
- 本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT
OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿.130亿.330亿 ...
- Hugging News #0324: 🤖️ 黑客松结果揭晓、一键部署谷歌最新大语言模型、Gradio 新版发布,更新超多!
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- pytorch在有限的资源下部署大语言模型(以ChatGLM-6B为例)
pytorch在有限的资源下部署大语言模型(以ChatGLM-6B为例) Part1知识准备 在PyTorch中加载预训练的模型时,通常的工作流程是这样的: my_model = ModelClass ...
- 保姆级教程:用GPU云主机搭建AI大语言模型并用Flask封装成API,实现用户与模型对话
导读 在当今的人工智能时代,大型AI模型已成为获得人工智能应用程序的关键.但是,这些巨大的模型需要庞大的计算资源和存储空间,因此搭建这些模型并对它们进行交互需要强大的计算能力,这通常需要使用云计算服务 ...
- arcgis api for javascript本地部署加载地图
最近开始学习arcgis api for javascript,发现一头雾水,决定记录下自己的学习过程. 一.下载arcgis api for js 4.2的library和jdk,具体安装包可以去官 ...
- virtual judge 本地部署方案
这是一种将自己的电脑当作服务器来部署一个vj的方法,我也是参考前辈们的做法稍作了改动,如果在服务器上部署的话需要在细节上稍作改动: 一.什么是Virtual Judge? vj的工作原理什么? vj ...
- 【Tomcat】使用tomcat manager 管理和部署项目,本地部署项目到服务器
在部署tomcat项目的时候,除了把war文件直接拷贝到tomcat的webapp目录下,还有一种方法可以浏览器中管理和部署项目,那就是使用tomcat manager. 默认情况下,tomcat m ...
- Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群
前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...
- vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)
封面 1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://lin ...
- Window10环境下,Stable Diffusion的本地部署与效果展示
Diffusion相关技术最近也是非常火爆,看看招聘信息,岗位名称都由AI算法工程师变成了AIGC算法工程师,本周跟大家分享一些Diffusion算法相关的内容. Window10环境下,Stable ...
随机推荐
- springboot带参数的文件上传
这个工程是在内网环境进行开发,u口也被封住了,所以不能把代码拷贝出来,于是把业务部分进行脱敏处理,核心代码手写一遍如下:一.html关键代码 <form id = "createFor ...
- 解决容器Docker内部启动计划任务crontab不生效不执行的问题
docker使用centos7镜像 首先编辑crond,注释#session required pam_loginuid.so: vi /etc/pam.d/crond 然后重启crond服 ...
- Qt音视频开发18-不同视频打开无缝切换
一.前言 在轮询视频的时候,通常都是需要将之前的视频全部关闭,然后打开下一组视频,在这个切换的过程中,如果是按照常规的做法,比如先关闭再打开新的视频,肯定会出现空白黑屏之类的过度空白区间,如何避免这个 ...
- Qt编写可视化大屏电子看板系统14-标准曲线图
一.前言 近期将可视化大屏电子看板系统重新规划和调整项目结构代码,几个重大改变是新增启动窗体选择,可选大屏系统.控件演示.模块演示三种,其中控件演示是专门针对本系统中用到的各种自定义控件单独做的使用d ...
- Docker Desktop 使用笔记
一.Docker Desktop是什么? Docker Desktop是适用于Windows的Docker桌面,是Docker设计用于在Windows 10上运行.它是一个本地 Windows 应用程 ...
- DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库
推荐一个专门为System.DateTime编写的扩展方法库. 01 项目简介 该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差 ...
- w3cschool-Scala 教程
https://www.w3cschool.cn/scala/ Scala 教程关于基础基础知识(续)Finagle 介绍集合Searchbird模式匹配与函数组合类型和多态基础高级类型简单构建工具更 ...
- Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
大家好,我是编程乐趣. 我们都知道,要实现对结构化的数据(文本)搜索是比较容易的,但是对于非结构化的数据,比如图片,视频就没那么简单了. 但是现在有了AI模型,实现图片分类.搜索等功能,就变得容易很多 ...
- dart方法之间的调用和可选参数的使用
01==> 方法封装 void main() { //直接调用 say('好好读书,天天向上'); } say(say) { print(say); } 02==>方法之间的调用 void ...
- 【忍者算法】从风扇叶片到数组轮转:探索轮转数组问题|LeetCode 189 轮转数组
从风扇叶片到数组轮转:探索轮转数组问题 生活中的算法 想象你在看一个风扇缓缓转动,每次转动三个叶片的距离.原本在上方的叶片转到了右侧,原本在右侧的叶片转到了下方...这就是一个生动的轮转过程.再比如, ...