免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

最全的Ollama使用详解

发布日期:2025-07-04 19:42:42 浏览次数: 3851
作者:码途山海.智隐长卷

微信搜一搜,关注“码途山海.智隐长卷”

推荐语

掌握Ollama框架的完整使用指南,从安装到安全配置一网打尽。

核心内容:
1. Ollama框架的安装与启动方法(Windows/Mac/Linux/Docker)
2. API接口使用与自定义模型配置详解
3. 安全风险提示与防护措施建议

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家



在文章 《大模型基础知识扫盲篇(中)--工具篇》中我们简单介绍了Ollama的使用,本文给出详细的使用方法。包括安装、启动、自定义、命令、API以及配置参数表。

1、概述

Ollama 是一个开源的框架,旨在简化大型语言模型的部署和管理。它提供了一个轻量级的 HTTP 服务,允许用户通过 API 接口与模型进行交互。然而,由于其默认配置可能不够安全,尤其是在网络暴露和访问控制方面,Ollama 服务可能成为潜在的攻击目标。

本文就 ollama 安装、使用、API 等方面进行详细的阐述,希望对你有所帮助!

注意: Ollama 默认开放 11434 端口,且无任何鉴权机制。如果不加以防护,Ollama 私有化部署的方式存在数据泄露、算力盗取、服务中断等安全风险,极易引发网络和数据安全事件。

2、安装与启动

2.1 Windows

下载地址:https://ollama.com/download/OllamaSetup.exe
下载之后双击直接进行安装

2.2 Mac OS

下载地址: https://ollama.com/download/Ollama-darwin.zip
下载完成之后解压进行安装即可

2.3 Linux

使用下面命令进行安装:

curl -fsSL https://ollama.com/install.sh | sh

如果没有curl,请使用对应操作系统的安装命令(如yum)安装之后再执行上面的命令

2.4 Docker方式

2.4.1、仅仅使用CPU

执行命令:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

2.4.2、使用Nvidia GPU

1、安装Nvidia Toolkit

参照:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation 进行安装

  • • (1)、使用APT安装
    (1.1)、配置仓库:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
    | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update

(1.2)、安装

sudo apt-get install -y nvidia-container-toolkit
  • • (2)、使用yum或dnf安装
    (2.1)、配置仓库
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

(2.2)、安装

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
2、让Docker使用Nvidia GPU
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
3、启动容器
docker run -d \
  --gpus=all \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama

3、使用AMD GPU

3.1 启动

为了使用AMD GPU,只需要在启动容器时使用rocm:tag即可

docker run -d \
  --device /dev/kfd \
  --device /dev/dri \
  -v ollama:/root/.ollama \
  -p 11434:11434\
  --name ollama \
  ollama/ollama:rocm

2.5 启动

使用下面命令即可自动下载gemma3模型并运行。

ollama run gemma3

3、支持的模型

ollama支持的模型可以在官网上查看:(https://ollama.com/search)


3、自定义Ollama

ollama支持导入Safetensors与GGUF两种格式的本地模型导入,还支持对模型进行量化与自定义提示词。

3.1 从GGUF导入模型

  • • GGUF (GPT-Generated Unified Format):
    一种主要用于在 CPU 或混合设备(CPU+GPU)上高效运行量化的大型语言模型的文件格式,它是 llama.cpp 及其生态(如 Ollama)的原生格式,其核心优势在于对模型量化的出色支持和将模型信息打包成单一文件。
    -1、创建Modelfile文件,并使用FROM指令指明你需要导入的本地模型路径
FROM ./vicuna-33b.Q4_0.gguf
  • • 2、使用Ollama命令建立模型
ollama create example -f Modelfile
  • • 3、运行模型模型
ollama run example

3.2 从Safetensors导入

  • • Safetensors:
    一种专注于安全性和加载速度的文件格式,用于存储深度学习模型的权重(张量数据),由 Hugging Face 团队开发,旨在解决传统格式(如 PyTorch 的 .bin)使用 pickle 带来的安全风险(反序列化时可执行任意代码),其主要特点是安全反序列化和利用零拷贝实现的极快加载速度,与 Hugging Face 生态(transformers 库、Hub)深度集成。
    导入Safetensors时,有多种方式

3.2.1、从 Safetensors 权重导入经过微调的适配器

首先,创建一个Modelfile指向FROM用于微调的基础模型的命令,以及一个ADAPTER指向 Safetensors 适配器目录的命令:

FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory

请确保在FROM命令中使用与创建适配器时相同的基础模型,否则您将得到不稳定的结果。大多数框架使用不同的量化方法,因此最好使用非量化(即非 QLoRA)适配器。如果您的适配器与您的 位于同一目录中Modelfile,请使用ADAPTER .指定适配器路径。

ollama create现在从创建的目录运行Modelfile:

ollama create my-model

最后,测试模型:

ollama run my-model

Ollama 支持基于几种不同的模型架构导入适配器,包括:

  • • Llama (including Llama 2, Llama 3, Llama 3.1, and Llama 3.2);
  • • Mistral (including Mistral 1, Mistral 2, and Mixtral); and
  • • Gemma (including Gemma 1 and Gemma 2)

3.2.2、从 Safetensors 权重导入模型

首先,Modelfile使用指向FROM包含 Safetensors 权重的目录的命令创建一个:

FROM /path/to/safetensors/directory

如果您在与权重相同的目录中创建 Modelfile,则可以使用该命令FROM .。

ollama create现在从您创建的目录运行命令Modelfile:

ollama create my-model

最后,测试模型:

ollama run my-model

Ollama 支持导入几种不同架构的模型,包括:

  • • Llama (including Llama 2, Llama 3, Llama 3.1, and Llama 3.2);
  • • Mistral (including Mistral 1, Mistral 2, and Mixtral);
  • • Gemma (including Gemma 1 and Gemma 2); and
  • • Phi3

3.3、量化模型

量化模型可以让你以更快的速度运行模型,减少内存消耗,但准确率会降低。这使得你可以在更普通的硬件上运行模型。

Ollama 可以使用命令-q/--quantize中的标志将基于 FP16 和 FP32 的模型量化为不同的量化级别ollama create。

首先,创建一个包含您想要量化的基于 FP16 或 FP32 的模型的 Modelfile。

FROM /path/to/my/gemma/f16/model

然后使用ollama create来创建量化模型。

$ ollama create --quantize q4_K_M mymodel
transferring model data
quantizing F16 model to Q4_K_M
creating new layer sha256:735e246cc1abfd06e9cdcf95504d6789a6cd1ad7577108a70d9902fef503c1bd
creating new layer sha256:0853f0ad24e5865173bbf9ffcc7b0f5d56b66fd690ab1009867e45e7d2c4db0f
writing manifest
success
  • • 支持的量化:q8_0
  • • K均值量化:q4_K_S、q4_K_M

4、自定义提示词

Ollama支持对模型进行自定义提示词,以便更好的适应项目的需求,如自定义模型llama3.2:

4.1 下载模型

ollama pull llama3.2

4.2 建立Modelfile

FROM llama3.2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system message
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""

4.3 创建并支持模型

ollama create mario -f ./Modelfile
ollama run mario
>>> hi
Hello! It's your friend Mario.

关于Modelfile中的指令,详情请参见:https://github.com/ollama/ollama/blob/main/docs/modelfile.md

4、常用命令

4.1 常用命令

命令
示例
含义
ollama create
ollama create mymodel -f ./Modelfile
创建模型
ollama pull
ollama pull llama3.2
下载模型
ollama rm
ollama rm llama3.2
删除模型
ollama cp
ollama cp llama3.2 my-model
复制模型
ollama show
ollama show llama3.2
显示一个模型的信息
ollama list
ollama list
列出已下载的模型
ollama ps
ollama ps
列出当前在运行的模型
ollama run
ollama run llama3.2
加载(运行)一个模型
ollama stop
ollama stop llama3.2
卸载(停止运行)一个模型

4.2 使用技巧

4.2.1 多行输入

使用三个引号"""可以支持模型时使用多行输入,如:

>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.

4.2.2 多模态使用方法

ollama run llava "What's in this image? /Users/jmorgan/Desktop/smile.png"

4.2.3 通过参数传递提示词:

ollama run llama3.2 "Summarize this file: $(cat README.md)"

输出内容:

Output: Ollama is a lightweight, extensible framework for building and running language models on the local machine. It provides a simple API for creating, running, and managing models, as well as a library of pre-built models that can be easily used in a variety of applications.

4、Restful API

ollama支持api,用于运行与管理模型。详细的API参考手册见:https://github.com/ollama/ollama/blob/main/docs/api.md

4.1 获取响应

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt":"Why is the sky blue?"
}'

4.2 与模型对话

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

4、Ollama配置参数表

OLLAMA_MODELS:模型文件存放目录,默认目录为当前用户目录
OLLAMA_HOST:Ollama 服务监听的网络地址,默认为127.0.0.1,如果允许其他电脑访问 Ollama(如:局域网中的其他电脑),建议设置成0.0.0.0,从而允许其他网络访问
OLLAMA_PORT:Ollama 服务监听的默认端口,默认为11434,如果端口有冲突,可以修改设置成其他端口(如:8080等)
OLLAMA_ORIGINS:HTTP 客户端请求来源,半角逗号分隔列表,若本地使用无严格要求,可以设置成星号,代表不受限制
OLLAMA_KEEP_ALIVE:大模型加载到内存中后的存活时间,默认为5m即 5 分钟(如:纯数字如 300 代表 300 秒,0 代表处理请求响应后立即卸载模型,任何负数则表示一直存活);我们可设置成24h,即模型在内存中保持 24 小时,提高访问速度
OLLAMA_NUM_PARALLEL:请求处理并发数量,默认为1,即单并发串行处理请求,可根据实际情况进行调整
OLLAMA_MAX_QUEUE:请求队列长度,默认值为512,可以根据情况设置,超过队列长度请求被抛弃
OLLAMA_DEBUG:输出 Debug 日志标识,应用研发阶段可以设置成1,即输出详细日志信息,便于排查问题
OLLAMA_MAX_LOADED_MODELS:最多同时加载到内存中模型的数量,默认为1,即只能有 1 个模型在内存中

5、总结

5.1 ollama应用场景

本地开发与测试: 开发者可在个人电脑上离线运行、调试和微调开源大模型(如LLaMA系列、Mistral等),无需依赖云端API,提升效率并保护隐私。

私有化部署: 适用于对数据安全要求高的场景(如金融、医疗、企业内部),将模型完全部署在本地服务器或私有云,确保敏感数据不出本地。

定制化模型应用: 结合自定义提示模板和参数调整,打造特定领域(客服、写作辅助、代码生成)的专属AI工具。

研究与学习: 方便研究人员和学生低成本探索大模型原理、行为及微调技术。

资源受限环境探索: 在特定硬件(如配备GPU的工作站)上体验大模型能力。

5.2 注意事项

硬件要求: 需较强计算资源(尤其是显存),模型越大要求越高,需根据硬件选择合适的模型。

模型选择与管理: 需自行寻找、下载和管理模型文件(Modelfile),依赖社区生态,中文等非英语模型支持可能有限。

性能限制: 本地运行性能通常低于大型云服务,响应速度及并发能力受硬件制约。

安全与合规: 使用开源模型需遵守其特定许可协议;本地部署虽提升数据安全,但仍需自行负责模型内容安全及合规风险。

运维成本: 私有化部署需承担模型更新、维护及服务器运维成本。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅