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十亿参数,模型体积随参数增大暴涨:

  1. 14B模型占用硬盘约9GB,235B满血模型普通电脑无法运行;
  2. 个人笔记本推荐:4B / 8B,上限不超14B;
  3. 硬件底线(2026标准):内存≥32G,16G内存极易卡顿、闪退;
  4. 禁止直接下载满血超大模型,硬件无法承载。

二、Ollama Windows标准安装流程

2.1 安装避坑核心规则

绝对禁止将模型缓存放在C盘,C盘极易爆红占满,软件本体可装C盘,模型文件必须转移至D/E盘。

2.2 三步自定义模型存储路径

  1. 安装时携带参数指定安装目录,不要双击默认安装;
  2. 新建系统环境变量,配置OLLAMA_MODELS,路径示例 D:\ollama\models,路径无中文、无空格
  3. 迁移原有模型:复制C盘隐藏目录.ollama全部文件到自定义路径,删除C盘原文件,避免双份占用磁盘。

2.3 环境校验命令

安装完成后执行 ollama list,能展示已下载模型代表路径配置生效。

三、Ollama常用核心命令

3.1 环境校验命令

  1. ollama --version:查看Ollama版本,建议使用最新版;
  2. ollama list:查看本地已下载所有模型;
  3. ollama ps:查看当前正在运行的模型进程。

3.2 模型拉取/运行/退出

  1. ollama run qwen2.5:latest
    • 逻辑:本地无模型自动远程拉取,拉取完成直接启动对话;
  2. 对话退出:输入 /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提供的对话模型专用类,对标ChatOpenAIChatTongyi,统一调用格式,学习成本低。

2)模型实例初始化(核心三参数)

model = ChatOllama(
    base_url="http://localhost:11434",
    model="qwen2.5:latest",
    reasoning=False
)
  1. base_url="http://localhost:11434"
    Ollama本地服务默认地址+端口,固定不变;若端口被占用需先修改Ollama配置。
  2. model="qwen2.5:latest"
    指定调用的本地模型名称,名称必须和ollama list查询结果完全一致;
    若本地无该模型,代码直接报错,需先用ollama run提前拉取。
  3. reasoning=False
    关闭深度思考推理模式,普通问答场景关闭,提升响应速度。

3)模型调用与输出

print(model.invoke("什么是LangChain,100字以内回答"))
  • invoke():LangChain统一调用方法,入参为用户提问文本;
  • 执行逻辑:请求发送至本地11434端口Ollama服务,本地模型推理后返回回答;
  • 优势:全程本地运算,无API计费、无数据外传。

五、本地部署优势与注意事项

5.1 核心优势

  1. 数据私有化:敏感业务数据不对外传输,满足企业数据安全要求;
  2. 零调用成本:模型下载后永久免费使用,无token计费;
  3. 统一开发接口:LangChain一套代码兼容远程/本地模型,切换成本极低。

5.2 避坑注意事项

  1. 磁盘:模型存储路径禁止C盘、中文、空格;
  2. 硬件:内存优先32G,不强行运行超大参数模型;
  3. 服务:运行代码前必须确认11434端口监听正常;
  4. 模型:代码内模型名称和本地已下载模型严格匹配。
posted @ 2026-08-17 18:31  _丑小鸭  阅读(1)  评论(0)    收藏  举报