[Python/GPT/AI] Ollama: LLM私有化部署工具
目录
概述:Ollama
基本介绍: Ollama
Ollama
是一个由Meta
公司(原Facebook
公司)开发的、支持在Windows
、Linux
和MacOS
上本地运行的、轻量且高效的、【大语言模型】框架。
它旨在帮助研究人员和开发人员更轻松地在自己的硬件上部署和运行LLM,而无需依赖专门的云计算资源。
它允许用户非常方便地运行和使用各种大语言模型,比如Qwen模型等。
用户只需一行命令就可以启动大语言模型。
框架的核心特点:Ollama提供了一个简单直观的界面,用于加载、运行和评估LLM,极大地简化了在本地运行大型语言模型的过程。
- url
主要特点
-
跨平台支持Windows、Linux、MacOS系统。
-
提供了丰富的AI模型库,包括Qwen、Llama等1700+大语言模型,可以在官网model library中直接下载使用。
-
支持用户上传自己的模型。
用户可以将huggingface等地方的
ggml
格式模型导入到ollama中使用。
也可以将基于pytorch等格式的模型转换为ggml格式后导入。
- 允许用户通过编写modelfile配置文件来自定义模型的推理参数,如temperature、top_p等,从而调节模型生成效果。
- 支持多GPU并行推理加速。
在多卡环境下,可以设置环境变量来指定特定GPU。
- 强大的技术团队支持,很多模型开源不到24小时就能获得支持。
总的来说,Ollama降低了普通开发者使用大语言模型的门槛,使得本地部署体验大模型变得简单易行。
对于想要搭建自己的AI应用,或者针对特定任务调优模型的开发者来说,是一个非常有用的工具。
它的一些特性,如允许用户自定义模型参数,对模型进行个性化适配提供了支持。
安装/部署篇
安装 on Windows
Step1 下载安装包
- download url
curl -o %USERPROFILE%\Desktop https://github.com/ollama/ollama/releases/download/v0.5.4/ollama-windows-amd64.zip -v
Step2 安装 Ollama
- 解压即安装
D:\Program\Ollama\ollama-windows-amd64
D:\Program\Ollama\ollama-windows-amd64\ollama.exe
- 补充:OllamaSetup.exe 安装包的安装 【不推荐】
- 添加
ollama.exe
到环境变量Path
中
便于可以通过 cmd :
ollama
快捷启动
- 配置OLLAMA的模型目录到环境变量(必须)
Ollama
的默认模型存储路径一般在:C:\Users\%username%.ollama\models
无论 C 盘空间大小,需要安装多少模型,都建议换一个存放路径到其它盘,否则会影响电脑运行速度。
- 打开「系统环境变量」,新建一个系统变量
OLLAMA_MODELS
,然后设置ollama模型的存储路径。- 变量名:
OLLAMA_MODELS
- 变量值(路径):
D:\Program-Data\Ollama-Models
- 配置Ollama的运行端口(可选):
Ollama API
的默认访问地址和侦听端口: http://localhost:11434- 只能在装有 Ollama 的系统中直接调用。
- 如果要在网络中提供服务,请修改 API 的侦听地址和端口(在系统环境变量里设置):
- 变量名:
OLLAMA_HOST
(要监听的地址)- 变量值(端口):
:8000
或0.0.0.0
等- 只填写端口号可以同时侦听(所有) IPv4 和 IPv6 的
:8000
端口。(变量值的端口前号前有个冒号:)
注:要使用 IPv6,需要
Ollama 0.0.20
或更高版本。
另外,可能需要在 Windows 防火墙中开放相应端口的远程访问。
- 允许浏览器跨域请求(可选):
Ollama
默认只允许来自127.0.0.1
和0.0.0.0
的跨域请求
如果你计划在其它前端面板中调用Ollama API
,比如Open WebUI
,建议放开跨域限制:
- 变量名:
OLLAMA_ORIGINS
- 变量值:
*
Step3 启动 Ollama 服务
- 基于
CMD
orGit Bash
启动 Ollama
ollama serve
这个命令也会启动Ollama服务,适用于没有配置systemd的情况
如果是 centos ,则可以使用此方式启动:sudo systemctl start ollama
若前面没有修改监听端口时,可直接访问: http://localhost:11434 ,可查看其运行状态
Step4 下载模型
- 下载LLM模型
# ollama pull qwen
ollama pull qwen2
Y Ollama 常用命令
帮助手册
C:\Users\XXX> ollama
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
常用命令
和
docker
命令非常类似
启动ollama服务
ollama serve
从注册仓库中拉取模型
ollama pull {modelName}[:{tag}]
如:
ollama pull qwen
ollama pull qwen2:7b
ollama pull llama3:70b
如:
C:\Users\xxx> ollama pull qwen2
pulling manifest
pulling 43f7a214e532... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 4.4 GB
pulling 77c91b422cc9... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 1.4 KB
pulling c156170b718e... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 11 KB
pulling f02dd72bb242... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 59 B
pulling 75357d685f23... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 28 B
pulling 648f809ced2b... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 485 B
verifying sha256 digest
writing manifest
success
C:\Users\xxx> ollama list
NAME ID SIZE MODIFIED
qwen2:latest dd314f039b9d 4.4 GB About a minute ago
列出已下载模型
ollama list
C:\Users\xxx> ollama list
NAME ID SIZE MODIFIED
qwen2:latest dd314f039b9d 4.4 GB About a minute ago
列出正在运行的模型
C:\Users\xxx>ollama ps
NAME ID SIZE PROCESSOR UNTIL
qwen2:latest dd314f039b9d 5.5 GB 100% CPU 3 minutes from now
从模型文件创建模型
ollama create
显示模型信息
ollama show {模型名称}
如:
C:\Users\xxx>ollama show qwen2:latest
Model
architecture qwen2
parameters 7.6B
context length 32768
embedding length 3584
quantization Q4_0
Parameters
stop "<|im_start|>"
stop "<|im_end|>"
System
You are a helpful assistant.
License
Apache License
Version 2.0, January 2004
运行模型 : 实际运行前,会先自动下载模型
ollama run {modelName}[:{tag}]
如:
C:\Users\xxx> ollama list
NAME ID SIZE MODIFIED
qwen2:latest dd314f039b9d 4.4 GB About a minute ago
C:\Users\xxx> ollama run qwen2:latest
>>>
>>>
>>> hello
Hello! How can I assist you today?
>>>
>>>
Use Ctrl + d or /bye to exit.
>>> /?
Available Commands:
/set Set session variables
/show Show model information
/load <model> Load a session or model
/save <model> Save your current session
/clear Clear session context
/bye Exit
/?, /help Help for a command
/? shortcuts Help for keyboard shortcuts
Use """ to begin a multi-line message.
>>> /bye
C:\Users\xxx>
将模型推送到注册仓库
ollama push
复制模型
ollama cp
删除模型
ollama rm
K Ollama 模型库
类似 Docker 托管镜像的 Docker Hub,Ollama 也有个 Library 托管支持的大模型。
从0.5B 到 236B,各种模型应有尽有,大家可以根据自己的机器配置,选用合适的模型。
同时,官方也贴心地给出了不同 RAM 推荐的模型大小,以及命令:
J Ollama API 调用
- Ollama API 调用文档
curl 方式
主要描述通过 curl 调用 ollama web api
- 本地调用 Ollama API
curl http://127.0.0.1:11434/api/generate -d "{\"model\": \"qwen2\",\"prompt\": \"who are you?\",\"stream\":false}"
- Windows 系统:
C:\Users\xxx>curl http://localhost:11434/api/generate -d "{\"model\": \"qwen2\",\"prompt\": \"who are you?\",\"stream\":false}"
{"model":"qwen2","created_at":"2025-02-11T01:20:57.7827609Z","response":"I am a large language model created by Alibaba Cloud. I'm called Qwen, which stands for \"Question Answering through Wenxuan.\" My primary function is to provide information and assistance in various fields including technology, science, culture, history, language, mathematics, education, etc., with the goal of being helpful and informative.","done":true,"done_reason":"stop","context":[151644,8948,198,2610,525,264,10950,17847,13,151645,198,151644,872,198,14623,525,498,30,151645,198,151644,77091,198,40,1079,264,3460,4128,1614,3465,553,54364,14817,13,358,2776,2598,1207,16948,11,892,13352,369,330,14582,21806,287,1526,61223,87,10386,1189,3017,6028,729,374,311,3410,1995,323,12994,304,5257,5043,2670,5440,11,8038,11,7674,11,3840,11,4128,11,37596,11,6731,11,4992,2572,448,279,5795,315,1660,10950,323,38219,13],"total_duration":17983050900,"load_duration":6139956100,"prompt_eval_count":23,"prompt_eval_duration":1518000000,"eval_count":68,"eval_duration":10309000000}
- Linux / Mac 系统
Windows 电脑,可用
Git Bash
命令行终端模拟 Linux CLI
> curl http://127.0.0.1:11434/api/generate -d '{"model": "qwen2","prompt": "who are you?","stream":false}'
{"model":"qwen2","created_at":"2025-02-11T01:29:15.6099964Z","response":"I am Qwen, an AI model created by Alibaba Cloud. I'm designed to assist and interact with users lik
e you, providing information and help based on the tasks you need. Whether it's answering questions, assisting with research, or helping with other inquiries, my goal is to
make your experience smooth and efficient.","done":true,"done_reason":"stop","context":[151644,8948,198,2610,525,264,10950,17847,13,151645,198,151644,872,198,14623,525,498
,30,151645,198,151644,77091,198,40,1079,1207,16948,11,458,15235,1614,3465,553,54364,14817,13,358,2776,6188,311,7789,323,16282,448,3847,1075,498,11,8241,1995,323,1492,3118,3
89,279,9079,498,1184,13,13139,432,594,35764,4755,11,45827,448,3412,11,476,10476,448,1008,43883,11,847,5795,374,311,1281,697,3139,10876,323,11050,13],"total_duration":152499
96900,"load_duration":3603213300,"prompt_eval_count":23,"prompt_eval_duration":1537000000,"eval_count":64,"eval_duration":10099000000}
> curl http://127.0.0.1:11434/api/chat -d '{
"model": "qwen2",
"messages": [
{
"role": "user",
"content": "who are you?"
}
],
"stream": false
}'
{"model":"qwen2","created_at":"2025-02-11T01:30:42.5858066Z","message":{"role":"assistant","content":"I am an AI (artificial intelligence) designed to assist with various t
asks, provide information, answer questions, and help users navigate through different kinds of inquiries or problems. I'm here to make things easier for you by sharing my
knowledge base, engaging in conversation, and helping organize your thoughts or ideas. How can I assist you today?"},"done_reason":"stop","done":true,"total_duration":11189
009900,"load_duration":22564900,"prompt_eval_count":23,"prompt_eval_duration":151000000,"eval_count":69,"eval_duration":11012000000}
在LangChain中使用Ollama
# 引入ollama
from langchain_community.chat_models import ChatOllama
# 加载llama3模型
ollama_llm = ChatOllama(model="llama3")
# 构造Message
from langchain_core.messages import HumanMessage
messages = [
HumanMessage(
content="你好,请你介绍一下你自己",
)
]
# 发送Message
chat_model_response = ollama_llm.invoke(messages)
# 输入Message
chat_model_response
> python ollama_on_langchain.py
参考文献
U 热门大模型的模型参数及硬件规格需求
选择模型规模 根据你的电脑硬件配置选择合适的模型规模。以下是一个模型大小配置参考表格:
DeepSeek-R1
ollama pull deepseek-r1:1.5b
ollama run deepseek-r1:1.5b
ollama run deepseek-r1:7b
ollama run deepseek-r1:8b
ollama run deepseek.r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b
模型参数 | Windows配置要求 | Mac配置要求 | 适用场景 |
---|---|---|---|
1.5B | RAM: 4GB, GPU: 集成显卡/现代CPU, 存储: 5GB | RAM: 8GB, 存储: 5GB | 简单文本生成、基础代码补全 |
7B | RAM: 8-10GB, GPU: GTX 1680 (4-bit量化), 存储: 8GB | RAM: 16GB, 存储: 8GB | 中等复杂度问答、代码调试 |
14B | RAM: 24GB, GPU: RTX 3090 (24GB VRAM), 存储: 20GB | RAM: 32GB, 存储: 20GB | 复杂推理、技术文档生成 |
DeepSeek-V3
- url
Qwen 系列
Qwen2
- url
Qwen2.5
- url
llama 系列
llama3.3
- url
- 支持的参数规模: 70b
> ollama pull llama3.3
> ollama run llama3.3
llama3.2
- url
- 支持的参数规模: 1b / 3b
ollama pull llama3.2
ollama run llama3.2
llama3
- url
- 支持的参数规模: 8b / 70b
> ollama pull llama3
> ollama run llama3
K Ollama FAQ
Q: 如何配置远程 Ollama 服务?
- 默认情况下,
Ollama
服务仅在本地运行,不对外提供服务。要使 Ollama 服务能够对外提供服务,你需要设置以下两个环境变量:
OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*
在 MacOS 上配置
- 打开命令行终端,输入以下命令:
launchctl setenv OLLAMA_HOST "0.0.0.0"
launchctl setenv OLLAMA_ORIGINS "*"
- 重启 Ollama 应用,使配置生效。
在 Windows 上配置
在 Windows 上,Ollama 会继承你的用户和系统环境变量。
- 通过任务栏退出 Ollama。
- 打开设置(Windows 11)或控制面板(Windows 10),并搜索“环境变量”。
- 点击编辑你账户的环境变量。
- 为你的用户账户编辑或创建新的变量
OLLAMA_HOST
,值为0.0.0.0
; 为你的用户账户编辑或创建新的变量OLLAMA_ORIGINS
,值为*
。 - 点击确定/应用以保存设置。
- 从 Windows 开始菜单启动 Ollama 应用程序。
在 Linux 上配置
如果
Ollama
作为systemd
服务运行,应使用systemctl
设置环境变量:
-
调用
systemctl edit ollama.service
编辑systemd
服务配置。这将打开一个编辑器。 -
在
[Service]
部分下为每个环境变量添加一行Environment
:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
-
保存并退出。
-
重新加载
systemd
并重启 Ollama:
systemctl daemon-reload
systemctl restart ollama
Y 推荐文献
- 计算巢 - 阿里云
- DeepSeek-R1 (私有化部署)
X 参考文献
- Ollama
- [NLP/AIGC] 基于【大语言模型(LLM)】+【检索增强生成(RAG)】+【指令微调(Fine-Tune)】技术,构建智能体的方法 - 博客园/千千寰宇 【推荐】
- [GPT] LangChain :
LLM
编程框架 - 博客园/千千寰宇 - 如何将 Chatbox 连接到远程 Ollama 服务:逐步指南 - ChatBox AI
- DeepSeek本地部署指南 - Weixin
- TODO
- Ollama-Windows安装Ollama - 博客园
- 本地部署大模型:Ollama 部署和实战(二)Ollama 常用命令、Ollama 模型库、自定义模型 - CSDN
- Windows系统本地运行大语言模型Ollama远程连接思源笔记智能写作 - 百度

本文链接: https://www.cnblogs.com/johnnyzen/p/18638961
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2022-12-29 [Java SE] 核心源码精讲:java.util.Optional(JDK1.8-)