3.ollama使用
Ollama本地大模型部署
一、Ollama基础认知
1.1 Ollama定位与核心作用
Ollama是本地容器化部署大模型工具,俗称羊驼,核心解决数据敏感场景私有化部署需求:
- 远程大模型(通义、DeepSeek、OpenAI)会上传业务隐私数据,存在泄露风险;
- Ollama将大模型下载至本地电脑,所有问答、知识库交互仅本地运行,不联网传输数据,无调用费用。
1.2 Ollama与Docker类比
- Docker:管理系统镜像,运行容器;
- Ollama:管理大模型镜像,运行本地大模型;
- Ollama Hub ≈ Docker Hub:存放各类开源大模型(Qwen、DeepSeek、Llama等)。
1.3 模型参数选型规范
参数格式 xxB = xx十亿参数,模型体积随参数增大暴涨:
- 14B模型占用硬盘约9GB,235B满血模型普通电脑无法运行;
- 个人笔记本推荐:4B / 8B,上限不超14B;
- 硬件底线(2026标准):内存≥32G,16G内存极易卡顿、闪退;
- 禁止直接下载满血超大模型,硬件无法承载。
二、Ollama Windows标准安装流程
2.1 安装避坑核心规则
绝对禁止将模型缓存放在C盘,C盘极易爆红占满,软件本体可装C盘,模型文件必须转移至D/E盘。
2.2 三步自定义模型存储路径
- 安装时携带参数指定安装目录,不要双击默认安装;
- 新建系统环境变量,配置OLLAMA_MODELS,路径示例
D:\ollama\models,路径无中文、无空格; - 迁移原有模型:复制C盘隐藏目录
.ollama全部文件到自定义路径,删除C盘原文件,避免双份占用磁盘。
2.3 环境校验命令
安装完成后执行 ollama list,能展示已下载模型代表路径配置生效。
三、Ollama常用核心命令
3.1 环境校验命令
ollama --version:查看Ollama版本,建议使用最新版;ollama list:查看本地已下载所有模型;ollama ps:查看当前正在运行的模型进程。
3.2 模型拉取/运行/退出
ollama run qwen2.5:latest- 逻辑:本地无模型自动远程拉取,拉取完成直接启动对话;
- 对话退出:输入
/bye终止模型会话。
3.3 Windows端口监听查询(关键)
Ollama默认服务端口:11434,调用前必须确认端口监听正常:
netstat -ano | findstr 11434
输出含LISTENING,代表Ollama后台服务正常启动,LangChain才能连通本地模型。
四、LangChain整合Ollama代码实战讲解
4.1 依赖包安装(前置操作)
# 安装langchain ollama对接包
pip install -qU langchain-ollama
# 升级本地ollama依赖
pip install -U ollama
langchain-ollama:LangChain专门对接Ollama本地模型的集成包,替代旧版通用接口;- 必须提前本地装好Ollama并启动服务,否则代码连接超时。
4.2 完整代码
# 导入本地Ollama对话模型类
from langchain_ollama import ChatOllama
# 初始化本地大模型对象
model = ChatOllama(
base_url="http://localhost:11434",
model="qwen2.5:latest",
reasoning=False
)
# 调用本地模型,传入提问并打印返回结果
print(model.invoke("什么是LangChain,100字以内回答"))
4.3 代码参数
1)导入模块
from langchain_ollama import ChatOllama
ChatOllama 是LangChain提供的对话模型专用类,对标ChatOpenAI、ChatTongyi,统一调用格式,学习成本低。
2)模型实例初始化(核心三参数)
model = ChatOllama(
base_url="http://localhost:11434",
model="qwen2.5:latest",
reasoning=False
)
base_url="http://localhost:11434"
Ollama本地服务默认地址+端口,固定不变;若端口被占用需先修改Ollama配置。model="qwen2.5:latest"
指定调用的本地模型名称,名称必须和ollama list查询结果完全一致;
若本地无该模型,代码直接报错,需先用ollama run提前拉取。reasoning=False
关闭深度思考推理模式,普通问答场景关闭,提升响应速度。
3)模型调用与输出
print(model.invoke("什么是LangChain,100字以内回答"))
invoke():LangChain统一调用方法,入参为用户提问文本;- 执行逻辑:请求发送至本地11434端口Ollama服务,本地模型推理后返回回答;
- 优势:全程本地运算,无API计费、无数据外传。
五、本地部署优势与注意事项
5.1 核心优势
- 数据私有化:敏感业务数据不对外传输,满足企业数据安全要求;
- 零调用成本:模型下载后永久免费使用,无token计费;
- 统一开发接口:LangChain一套代码兼容远程/本地模型,切换成本极低。
5.2 避坑注意事项
- 磁盘:模型存储路径禁止C盘、中文、空格;
- 硬件:内存优先32G,不强行运行超大参数模型;
- 服务:运行代码前必须确认11434端口监听正常;
- 模型:代码内模型名称和本地已下载模型严格匹配。

浙公网安备 33010602011771号