AIUnlimited
🌳

AI基础

🌱
AI 种子

从零开始

🌿
AI 萌芽

打好基础

🌳
AI 枝干

付诸实践

🏕️
AI 树冠

深入探索

🌲
AI 森林

精通AI

🔨

AI精通

✏️
AI 草图

从零开始

🪨
AI 雕刻

打好基础

⚒️
AI 匠心

付诸实践

💎
AI 打磨

深入探索

🏆
AI 杰作

精通AI

📘

AI实战

📖
理解开源模型

开源模型的基础知识和资源

🎯
问题到模型任务

将业务问题转化为模型任务

⚡
跑通第一个模型

30分钟快速看到第一个结果

🔧
微调与评测

微调模型并评估性能

🚀
应用系统

构建实际AI应用系统

🎨
生成式AI

探索AIGC的开源模型

🤖
Agent智能体

学习Agent框架和MCP工具

📐
基础补充

LLM基础知识和评测

🎓

Claude 学院

🤖
Claude 101 入门

用 Claude 学习 AI 基础知识

💻
Claude Code 101 入门

让 Claude 成为你的结对编程伙伴

🤝
Claude Cowork 入门

与 Claude 协作完成复杂项目

⚙️
Claude 平台 101

使用 Claude API 构建应用

实验室

已加载 7 个实验
🧬神经网络沙盒🤖AI 还是人类?🥋提示工程道场🏁算法竞速🧠AI 知识挑战🏗️系统设计画布
🎯模拟面试进入实验室→
🚀

职业发展

🚀
面试发射台

开启你的旅程

🌟
行为面试精通

掌握软技能

💻
技术面试

通过编程轮次

🤖
AI与ML面试

ML面试精通

🏆
Offer与未来

拿下最好的Offer

立即开始
AIUnlimited

AI 教育平台

沪ICP备18025655号-11

学习

  • AI基础
  • AI实战
  • Claude学院
  • 实验室
  • 职业发展

社区

  • 关于
  • 常见问题

支持

  • 服务条款
  • 隐私政策
  • 联系我们
AI & 工程学习计划›⚡ 跑通第一个模型›课程›笔记本也能跑开源模型,先从Ollama开始
💻
跑通第一个模型 • 入门⏱️ 20 分钟阅读

笔记本也能跑开源模型,先从Ollama开始

笔记本也能跑开源模型,先从Ollama开始

模型在本地或者云端部署,比如,本地设备包括笔记本、台式机,以及其他端侧设备等等,

同时本地运行也有不同的工具选择,Ollama、以及vLLM、SGLang等框架。

本章,我们先把Ollama的基本用法讲清楚。其他端侧设备的适配,以及vLLM、SGLang等框架的使用,会在后续补充。

为什么想把模型放在自己的电脑上?

通过 API 调用大模型是最省心的做法:请求发过去,模型计算好把结果回传,用户不需要采购 GPU,也不用维护底层环境。

但 API 模式也有绕不开的限制,主要表现在以下几个方面,

  • 数据安全,核心文档、客户隐私和内部业务数据,无法直接传给第三方公有云。
  • 离线可用,内网专线等生产环境根本无法连接外网。
  • 成本控制:当调用量大且稳定时,自己搭服务器的综合成本通常会比一直按 Token 付费更划算。

所以,如果业务涉及数据敏感、要求纯离线运行、调用量较大,本地部署就是更合适的选择。

先看看笔记本的系统和硬件

Ollama 是目前用起来比较顺手的工具之一,把模型下载、本地管理和接口服务都打包好了。用户不需要自己写代码去加载模型,只需几行命令就能直接启动模型。

模型能否在本地顺利运行,很大程度上取决于计算机的硬件资源。Ollama对常见的硬件平台提供了较好的支持,支持Windows、Linux和macOS等常见操作系统。无论是普通CPU、GPU,还是搭载Apple Silicon的Mac电脑,都可以用来运行模型。

CPU运行,即使电脑没有独立显卡,也可以通过CPU运行模型。由于大模型推理需要进行大量计算,使用CPU时生成速度通常比较慢,因此更适合参数规模较小的模型,或者对响应速度要求不高的场景。

GPU运行,这是目前比较常见的大模型运行方式。GPU具有较强的并行计算能力,可以明显提升模型的生成速度。模型越大,需要的显存通常也越多,因此选择模型时需要考虑显卡是否有足够的显存。

Apple Silicon运行,苹果M系列芯片采用统一内存设计,CPU和GPU可以使用同一块内存。对于Mac用户来说,如果设备具有32GB、64GB或者更大的统一内存,就可以尝试运行一些参数规模较大的量化模型。

选自己的操作系统,安装Ollama

Windows下安装Ollama

1)首先在在Ollama官网,Download Ollama下载对应的windows版本

正文配图

2)下载完成后,直接点击安装,点击continue

正文配图

3) 安装完成后,显示,此时Ollama服务已经启动

正文配图

4)在cmd中,启动想要加载的模型,比如:qwen3.5:2b,直接在终端中输入命令

ollama run qwen3.5:2b

页面输出如下,说明模型启动成功,此时可以直接在客户端中对话,也可以直接调用接口测试模型

正文配图

测试接代码如下:

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:11434/v1",
    api_key="ollama",  
)

response = client.chat.completions.create(
    model="qwen3.5:2b", 
    messages=[
        {
            "role": "system",
            "content": "你是一个有帮助的中文助手。",
        },
        {
            "role": "user",
            "content": "你是谁?",
        },
    ],
    temperature=0,
    max_tokens=512,
)

print(response.choices[0].message.content)

结果显示如下:

正文配图

ModelScope Notebook安装Ollama

1)在Notebook中安装Ollama,首先下载安装包,执行下面命令

!modelscope download --model=modelscope/ollama-linux --local_dir ./ollama-linux  
第 3 课,共 5 课已完成 0%
←多大模型,选择什么样的服务器配置

讨论

登录 参与讨论

正文配图

2)安装包下载后,进入 ollama-linux 文件夹,执行下面命令进行安装

%cd ollama-linux
正文配图
sudo chmod 777 ./ollama-modelscope-install.sh
./ollama-modelscope-install.sh

安装完成会显示API接口信息,默认127.0.0.1:11434,如果显示如下信息,说明安装完成。

正文配图

Linux下安装Ollama

linux下的安装步骤和以上在ModelScope Notebook中安装Ollama的方式一样。

MAC下安装Ollama

1)首先在在Ollama官网,Download Ollama下载对应的macOS版本

正文配图

2)下载完成后,双击下载文件,将ollama拖入到applications中

正文配图

3) 安装完成后,显示,此时Ollama服务已经启动

正文配图

4)在cmd中,启动想要加载的模型,比如:qwen3.5:2b,直接在终端中输入命令

ollama run qwen3.5:2b

页面输出如下,说明模型启动成功,此时可以直接在客户端中对话,也可以直接调用接口测试模型

正文配图

在客户端也可以进行chat

正文配图

也可以从魔搭下载模型,用Ollama启动

Ollama提供了很多模型库,我们可以在ModelScope中查找我们需要的模型,通过Ollama启动。

1)启动Ollama服务

这种常驻服务,Jupyter 的单个内核一次只能执行一个单元,所以导致后面的单元不太好执行,所以此部分在终端中执行,打开Notebook之后,直接进入工作区,下面有终端字样,点击即可。

正文配图

在终端中输入:

ollama serve
正文配图

2)接下来运行我们想要启动的模型,比如:Qwen3-4B-GGUF,模型第一次运行时,需要先从模型仓库下载对应文件。这个命令也需要在终端执行,可以打开一个新的终端,执行命令如下:

正文配图
 ollama run modelscope.cn/unsloth/Qwen3-4B-GGUF
正文配图

此时模型已经启动好,可以调用接口测试模型接口是否连通,代码如下:

import requests
url = "http://127.0.0.1:11434/v1/chat/completions"
data = {
    "model": "modelscope.cn/unsloth/Qwen3-4B-GGUF",
    "messages": [
        {
            "role": "user",
            "content": "你好,请介绍一下自己"
        }
    ],
    "max_tokens": 100
}

response = requests.post(url, json=data)

print("状态码:", response.status_code)
print(response.text)

模型调用成功,会输出对应的模型结果。

正文配图

此章节所涉及的全部实验过程,具体可参照:https://modelscope.cn/gallery/liucong/b1ef397b-fe80-4fb9-812f-969fa25ea44c