2、Ubuntu系统 | 本地部署ollama+deepseek
Ollama是由Llama开发团队推出的开源项目,旨在为用户提供高效、灵活的本地化大型语言模型(LLM)运行环境。作为Llama系列模型的重要配套工具,Ollama解决了传统云服务对计算资源和网络连接的依赖问题,让用户能够在个人电脑或私有服务器上部署和运行如Llama 3等主流大模型,从而实现更高的隐私保护、更低的延迟以及更强的定制化能力。核心特点与技术优势本地化部署与隐私保护Ollama允许用户
1、Ollama介绍
Ollama是由Llama开发团队推出的开源项目,旨在为用户提供高效、灵活的本地化大型语言模型(LLM)运行环境。作为Llama系列模型的重要配套工具,Ollama解决了传统云服务对计算资源和网络连接的依赖问题,让用户能够在个人电脑或私有服务器上部署和运行如Llama 3等主流大模型,从而实现更高的隐私保护、更低的延迟以及更强的定制化能力。
核心特点与技术优势
本地化部署与隐私保护
Ollama允许用户在无需互联网连接的情况下运行模型,所有数据处理均在本地完成,避免了敏感信息上传至云端的风险。这一特性尤其适用于医疗、金融等对数据安全要求极高的行业。
多模型格式支持
项目兼容多种模型格式,包括GGUF和GGML,支持Llama系列及其他开源模型的快速加载与优化。用户可通过简单命令切换不同模型版本,甚至自定义模型结构。
GGML(GPT-Generated Model Language)
定义:
GGML 是一个 张量计算库,最初由 Georgi Gerganov 开发,用于在 CPU 和 GPU 上高效运行大型语言模型(LLM)。它支持多种量化技术(如 INT4/INT8),以降低模型的内存占用和计算需求。核心特点:
- 轻量化:代码库极小(编译后 <1MB),适合资源受限的设备。
- 跨平台支持:支持 x86、ARM、Apple Silicon、CUDA 等多种硬件架构。
- 量化技术:通过低精度量化(如 INT8、INT4)显著减少模型大小和推理资源消耗。
- 无依赖性:完全独立于 PyTorch、TensorFlow 等框架,无需外部依赖。
- 单文件部署:模型和代码集成在一个文件中,便于分发和部署。
局限性:
- 灵活性不足:难以添加新功能或元数据(如模型版本、架构信息)。
- 兼容性问题:引入新特性时可能破坏旧模型的兼容性。
- 手动调参:用户需频繁调整参数(如
rope-freq-base
、gqa
等)。典型应用场景:
在本地设备(如笔记本电脑、手机)上离线运行大语言模型。
边缘计算场景,要求低延迟、低资源消耗。
学术研究或实验性项目,需快速测试不同量化策略对模型性能的影响。
2. GGUF(GPT-Generated Unified Format)
定义:
GGUF 是 GGML 的 升级版文件格式,旨在解决 GGML 的局限性。它是一种二进制文件格式,专为高效存储和加载模型而设计,同时支持更丰富的元数据和扩展性。核心特点:
- 统一格式:保留 GGML 的单文件特性,但通过键值对(KV)存储元数据(如模型版本、架构、超参数等)。
- 元数据支持:可存储额外信息(如模型描述、量化配置、训练细节),便于管理和调试。
- 向后兼容性:兼容 GGML 模型,同时支持新特性(如更高效的量化方法)。
- 易用性:减少手动参数调整需求,用户可直接加载模型文件即可运行。
- 可扩展性:通过键值对结构,允许未来添加新功能而不破坏现有模型。
优势:
- 灵活性:支持更多模型类型(如不同架构的 LLM)和量化方案。
- 高效性:结合内存映射(mmap)技术,实现快速加载和低内存占用。
- 跨平台兼容:适配多种硬件(CPU、GPU、Apple Silicon)和操作系统(Windows、Linux、macOS)。
典型应用场景:
作为 LLaMA 等模型的标准格式,支持在消费级硬件(如 Mac、PC)上高效运行大模型,尤其适合需要频繁更新或扩展模型的场景。
跨平台与硬件适配
Ollama支持Windows、macOS和Linux系统,并针对CPU与GPU进行性能调优。通过量化技术(如INT8、FP16),模型体积可缩减至数GB级别,使得普通消费级硬件也能流畅运行。
开发者友好生态
提供RESTful API接口,便于与LangChain、Streamlit等工具集成,开发者可快速构建聊天机器人、代码生成器等应用。社区驱动的插件系统也鼓励第三方扩展功能,例如实时数据分析或多语言支持。
应用场景与价值
- 企业级私有化部署:企业可在内网中部署Ollama,结合内部知识库训练定制化模型,提升客户服务或决策效率。
- 教育与研究:高校和实验室可利用Ollama低成本测试模型性能,加速AI教学与算法创新。
- 边缘计算场景:在物联网设备或移动终端上部署轻量化模型,实现实时响应与离线推理。
2、安装 Ollama
方式1:下载并安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh # 直接通过管道运行脚本可能隐藏错误细节
curl -fsSL https://ollama.com/install.sh
curl
是一个命令行工具,用于从网络下载数据。这里下载 Ollama 的安装脚本。
-f
(--fail
):如果 HTTP 请求失败(如 404),静默退出,不显示 HTML 错误页面。
-s
(--silent
):静默模式,不显示进度或错误信息(除非严重错误)。
-S
(--show-error
):与-s
一起使用时,仍然显示错误信息(如连接失败)。
-L
(--location
):如果 URL 发生重定向(如 301/302),自动跟随新地址。
| sh
|
(管道符)将curl
下载的脚本内容传递给bash
,并立即执行。
方式2:手动分步安装(推荐)
# 单独下载安装脚本
curl -fsSL -o ollama_install.sh https://ollama.com/install.sh
# 赋予脚本执行权限
chmod +x ollama_install.sh
# 运行脚本并观察输出
./ollama_install.sh
检查 Ollama 版本
ollama -v
3、更新Ollama
再次运行:
curl -fsSL https://ollama.com/install.sh | sh
4、卸载Ollama
停止 Ollama 服务,并禁用其开机自启
sudo systemctl stop ollama
sudo systemctl disable ollama
删除 Ollama 的 systemd 服务文件
sudo rm /etc/systemd/system/ollama.service
删除 Ollama 的可执行文件(/usr/local/bin
, /usr/bin
, 或 /bin
)
sudo rm $(which ollama)
删除 Ollama 的模型文件和数据目录
sudo rm -r /usr/share/ollama
删除 Ollama 创建的用户和用户组
sudo userdel ollama
sudo groupdel ollama
删除已安装的库
sudo rm -rf /usr/local/lib/ollama
验证卸载是否成功
ollama --version
5、ollama常用命令
ollama run
下载并运行指定模型(首次运行会自动下载模型文件)。
第一次运行时会下载模型文件,之后可以直接交互(输入文本后按
Ctrl+D
退出)。ollama run llama2
ollama list
列出已下载的模型。
ollama list
ollama pull
仅下载模型文件,不运行模型。
ollama pull llama2
ollama rm
删除指定模型及其文件。
ollama rm llama2
ollama version
或 ollama -v
查看 Ollama 的版本信息.
ollama -v
ollama show
显示指定模型的详细信息(如参数、版本等)
ollama show llama2
ollama create
从模型文件创建自定义模型(需提供模型配置和权重文件)。
ollama create my_model
ollama cp
复制模型文件到指定位置(用于备份或迁移模型)。
ollama cp llama2:/path/to/backup
ollama push
将模型推送到远程注册表(需配置注册表地址)
ollama push my_model
ollama serve
启动 Ollama 服务(通常通过
systemctl
管理,但可手动运行)。ollama serve
systemctl
管理 Ollama 服务
sudo systemctl start ollama # 启动服务
sudo systemctl stop ollama # 停止服务
sudo systemctl restart ollama # 重启服务
sudo systemctl status ollama # 查看服务状态
ollama serve
和 sudo systemctl start ollama的区别:
ollama serve
和sudo systemctl start ollama
是两种不同的启动 Ollama 服务的方式,主要区别在于 运行模式 和 生命周期管理。以下是详细解释:
1.
ollama serve
作用:直接在前台启动 Ollama 服务(默认监听地址
127.0.0.1:11434
)。运行模式:
服务会在当前终端会话中运行,占用终端(除非用
&
放到后台)。如果关闭终端或退出会话,服务会终止。
适用场景:
临时测试或调试:快速启动服务,方便查看实时日志。
开发环境:无需长期运行服务时使用。
权限:通常不需要
sudo
(除非 Ollama 需要特殊权限)。
2.
sudo systemctl start ollama
作用:通过
systemd
(Linux 系统服务管理器)以后台守护进程(daemon)形式启动 Ollama。运行模式:
服务在后台运行,不占用终端。
即使终端关闭或用户退出登录,服务仍会持续运行。
支持开机自启、自动重启、日志管理(通过
journalctl
)等。适用场景:
生产环境:需要服务长期稳定运行。
自动化管理:依赖系统服务生命周期管理。
前提条件:需要提前配置 Ollama 的
systemd
服务文件(例如/etc/systemd/system/ollama.service
)。
API 调用示例
Ollama 提供 HTTP API 接口,可通过
curl
或其他工具调用:curl -X POST http://localhost:11434/api/generate \ -H "Content-Type: application/json" \ -d '{ "model": "llama2", "prompt": "为什么天空是蓝色的?", "stream": true }'
model
: 指定模型名称。prompt
: 输入的提示文本。stream
: 是否启用流式输出(true
或false
)。
检查 GPU 调用状态
journalctl -u ollama -f # 观察日志,确认是否显示 CUDA initialized 或显存占用增加
修改模型存储路径
# 临时修改
export OLLAMA_PATH=/mnt/external_drive/ollama
# 永久修改
echo 'export OLLAMA_PATH=/mnt/external_drive/ollama' >> ~/.bashrc
source ~/.bashrc
6、拉取DeepSeek模型
# 下载并运行deepseek R1
ollama run deepseek-r1:32b
7、ollama常用教程
Ollama官方下载地址:Ollama
Ollama官网教程:ollama/docs/linux.md at main · ollama/ollama · GitHub

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)