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-basegqa 等)。
  • 典型应用场景

    • 在本地设备(如笔记本电脑、手机)上离线运行大语言模型。

    • 边缘计算场景,要求低延迟、低资源消耗。

    • 学术研究或实验性项目,需快速测试不同量化策略对模型性能的影响。


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

Logo

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

更多推荐