微信扫码
添加专属顾问
我要投稿
掌握Ollama框架的完整使用指南,从安装到安全配置一网打尽。核心内容: 1. Ollama框架的安装与启动方法(Windows/Mac/Linux/Docker) 2. API接口使用与自定义模型配置详解 3. 安全风险提示与防护措施建议
~~关注我,一起成长~~
在文章 《大模型基础知识扫盲篇(中)--工具篇》中我们简单介绍了Ollama的使用,本文给出详细的使用方法。包括安装、启动、自定义、命令、API以及配置参数表。
Ollama 是一个开源的框架,旨在简化大型语言模型的部署和管理。它提供了一个轻量级的 HTTP 服务,允许用户通过 API 接口与模型进行交互。然而,由于其默认配置可能不够安全,尤其是在网络暴露和访问控制方面,Ollama 服务可能成为潜在的攻击目标。
本文就 ollama 安装、使用、API 等方面进行详细的阐述,希望对你有所帮助!
注意: Ollama 默认开放 11434 端口,且无任何鉴权机制。如果不加以防护,Ollama 私有化部署的方式存在数据泄露、算力盗取、服务中断等安全风险,极易引发网络和数据安全事件。
下载地址:https://ollama.com/download/OllamaSetup.exe
下载之后双击直接进行安装
下载地址: https://ollama.com/download/Ollama-darwin.zip
下载完成之后解压进行安装即可
使用下面命令进行安装:
curl -fsSL https://ollama.com/install.sh | sh
如果没有curl,请使用对应操作系统的安装命令(如yum)安装之后再执行上面的命令
执行命令:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
参照:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation 进行安装
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
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
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
docker run -d \
--gpus=all \
-v ollama:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollama
为了使用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
使用下面命令即可自动下载gemma3模型并运行。
ollama run gemma3
ollama支持的模型可以在官网上查看:(https://ollama.com/search)
ollama支持导入Safetensors与GGUF两种格式的本地模型导入,还支持对模型进行量化与自定义提示词。
FROM ./vicuna-33b.Q4_0.gguf
ollama create example -f Modelfile
ollama run example
首先,创建一个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 支持基于几种不同的模型架构导入适配器,包括:
首先,Modelfile使用指向FROM包含 Safetensors 权重的目录的命令创建一个:
FROM /path/to/safetensors/directory
如果您在与权重相同的目录中创建 Modelfile,则可以使用该命令FROM .。
ollama create现在从您创建的目录运行命令Modelfile:
ollama create my-model
最后,测试模型:
ollama run my-model
Ollama 支持导入几种不同架构的模型,包括:
量化模型可以让你以更快的速度运行模型,减少内存消耗,但准确率会降低。这使得你可以在更普通的硬件上运行模型。
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
Ollama支持对模型进行自定义提示词,以便更好的适应项目的需求,如自定义模型llama3.2:
ollama pull llama3.2
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.
"""
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
使用三个引号"""可以支持模型时使用多行输入,如:
>>> """Hello,
... world!
... """
I'm a basic program that prints the famous "Hello, world!" message to the console.
ollama run llava "What's in this image? /Users/jmorgan/Desktop/smile.png"
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.
ollama支持api,用于运行与管理模型。详细的API参考手册见:https://github.com/ollama/ollama/blob/main/docs/api.md
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt":"Why is the sky blue?"
}'
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
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 个模型在内存中
本地开发与测试: 开发者可在个人电脑上离线运行、调试和微调开源大模型(如LLaMA系列、Mistral等),无需依赖云端API,提升效率并保护隐私。
私有化部署: 适用于对数据安全要求高的场景(如金融、医疗、企业内部),将模型完全部署在本地服务器或私有云,确保敏感数据不出本地。
定制化模型应用: 结合自定义提示模板和参数调整,打造特定领域(客服、写作辅助、代码生成)的专属AI工具。
研究与学习: 方便研究人员和学生低成本探索大模型原理、行为及微调技术。
资源受限环境探索: 在特定硬件(如配备GPU的工作站)上体验大模型能力。
硬件要求: 需较强计算资源(尤其是显存),模型越大要求越高,需根据硬件选择合适的模型。
模型选择与管理: 需自行寻找、下载和管理模型文件(Modelfile),依赖社区生态,中文等非英语模型支持可能有限。
性能限制: 本地运行性能通常低于大型云服务,响应速度及并发能力受硬件制约。
安全与合规: 使用开源模型需遵守其特定许可协议;本地部署虽提升数据安全,但仍需自行负责模型内容安全及合规风险。
运维成本: 私有化部署需承担模型更新、维护及服务器运维成本。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-07-04
Serverless JManus: 企业生产级通用智能体运行时
2025-07-04
Kimi深度研究 vs. OpenAI / Gemini Deep Research:文献综述哪家强?(实测对比)
2025-07-04
大模型开源,厂商靠什么盈利?
2025-07-04
构建AI Agents-你一定要知道的10大开源利器
2025-07-03
阿里发布信息检索Agent,可自主上网查资料,GAIA基准超越GPT-4o | 模型&数据开源
2025-07-03
OpenAI首席研究官没有博士学位,你的985还有用吗?
2025-07-02
Higress 新增 MCP 服务管理,助力构建私有 MCP 市场
2025-07-02
别再只盯着分数线!手把手教你用AI挖掘最适合你的大学和专业(附提问模板)
2025-06-17
2025-06-17
2025-04-13
2025-04-29
2025-04-12
2025-04-10
2025-04-29
2025-04-15
2025-04-29
2025-05-29
2025-07-04
2025-07-03
2025-06-28
2025-06-25
2025-06-25
2025-06-21
2025-06-16
2025-06-15