【实践】Ollama 本地大模型和云端模型的安装使用

一、背景介绍

Ollama 是一个开源的、专为在本地运行和管理大型语言模型(LLM,Large Language Model)而设计的轻量级工具与平台。简单来说,它的核心作用是:让你能像运行一个普通程序一样,在自己的电脑上轻松下载、运行和试验各种开源大模型(如 Llama 3、Qwen、Gemma 等),而无需了解复杂的模型部署、环境配置或依赖管理。

2025年9月18日,Ollama 发布了 v0.12.0 版本更新,本次更新带来了一个重量级的新特性------云模型(Cloud Models),使开发者不仅能在本地运行模型,还能直接调用云端算力运行超大模型,实现本地与云端的无缝协同。


二、使用步骤

2.1 安装 Ollama

macOS 用户最省事,直接去官网下载 .dmg 安装包,拖进 Applications 即可。安装完之后菜单栏会多出一个小羊驼图标,那就是后台常驻的服务进程。

Linux 用户用一行脚本搞定:

bash 复制代码
curl -fsSL https://ollama.com/install.sh | sh

脚本会自动检测 GPU(NVIDIA / AMD),把对应的运行时一并装好。装完之后服务通常会以 systemd 单元的形式注册,可以用 systemctl status ollama 查看状态。

2.2 拉取第一个模型

**Ollama 的云端模型需要 ollama.com 上的账户。要登录或创建账户,请运行 ollama signin。**用的不是云端模型可以跳过这个步骤。

python 复制代码
# 确保版本 >= 0.12.0
ollama --version

# 登录 ollama.com(首次使用需要)
ollama signin

模型库在 ollama.com/library,挑一个合适的就行。接下来正式下载模型。

bash 复制代码
# 下载
ollama pull deepseek-v3.1:671b-cloud
ollama pull deepseek-r1:lastest

不同模型下载量不一致,速度取决于网络。这里挑个体积小的。有个小坑:如果你在国内且没有代理,初次拉取可能会比较慢,可以考虑配置 HTTP 代理或者使用国内镜像源。

2.3 启动一次对话

最直接的终端对话方式
bash 复制代码
# 直接运行,Ollama 会自动将模型下载部署到本地
ollama run deepseek-r1:lastest

# 直接运行,Ollama 会自动从云端加载
ollama run deepseek-v3.1:671b-cloud

⚠️注意:直接运行不存在的大模型会自动下载然后运行。

run了之后终端会进入交互模式,输入问题回车即可。退出用 /bye,查看可用指令用 /?

python 集成

main.py 中使用代码与本地模型完全一样,只需修改模型名称

python 复制代码
from langchain_ollama import ChatOllama

def main():
    # 直接使用云端模型名称,LangChain 会自动通过本地 Ollama 服务调用云端
    llm = ChatOllama(
        model="deepseek-v3.1:671b-cloud",  # 云端模型
        temperature=0.7,
    )

    response = llm.invoke("你好,请介绍一下你自己")
    print(response.content)

if __name__ == "__main__":
    main()

⚠️ 注意:即使使用云端模型,代码中仍需通过本地的 Ollama 服务(localhost:11434)调用,Ollama 会自动将请求转发到云端。

改用成使用本地部署的模型,发现也是可以的。

python 复制代码
from langchain_ollama import ChatOllama

def main():
    # 初始化 ChatOllama,指定你运行的模型名称
    llm = ChatOllama(
        model="deepseek-r1:latest",  # 与 ollama run 后的名称保持一致
        temperature=0.7,  # 可选:控制输出随机性
        num_predict=512,  # 可选:最大生成 token 数
    )

    # 发送消息并获取回复
    response = llm.invoke("你好,请介绍一下你自己")

    # 打印回复内容
    print(response.content)


if __name__ == "__main__":
    main()
访问云端 API

你也可以通过 ollama.com 的 API 直接访问云模型。在这种模式下,ollama.com 充当远程 Ollama 主机。具体的就不介绍了,详情请看官网...

如果你想让它做应用集成,Ollama 默认在 http://localhost:11434 暴露了一套兼容 OpenAI 的 HTTP 接口。下面是一段最小可用的 Python 示例:

python 复制代码
import requests

resp = requests.post(
    "http://localhost:11434/api/chat",
    json={
        "model": "deepseek-r1:lastest",
        "messages": [
            {"role": "user", "content": "用一句话解释什么是向量数据库"}
        ],
        "stream": False,
    },
    timeout=60,
)
print(resp.json()["message"]["content"])

如果你的项目原先是接 OpenAI 的,几乎可以无缝切换------把 base_url 指向 http://localhost:11434/v1,再随便填一个 api_key(Ollama 不会校验),SDK 就能直接用了。

参考文献

  1. Ollama 官方网站. https://ollama.com
  2. Ollama GitHub 仓库. https://github.com/ollama/ollama
  3. Ollama 模型库. https://ollama.com/library
  4. Gerganov, G. et al. llama.cpp: Inference of Meta's LLaMA model in pure C/C++ . https://github.com/ggerganov/llama.cpp
  5. Qwen Team, Alibaba Cloud. Qwen2.5 Technical Report , 2024. https://qwenlm.github.io/blog/qwen2.5/
  6. Meta AI. The Llama 3 Herd of Models , 2024. https://ai.meta.com/research/publications/the-llama-3-herd-of-models/
  7. Continue.dev 文档. https://docs.continue.dev
  8. GGUF 格式说明. https://github.com/ggerganov/ggml/blob/master/docs/gguf.md
相关推荐
一包惆怅的辣条13 分钟前
谈一下怎么写一个一套可复用的用例改写skill架构
自动化测试·人工智能·ai·skill
俊哥V2 小时前
每日 AI 研究简报 · 2026-07-24
人工智能·ai
大公产经晚间消息3 小时前
“胜算未来·2026戈峻思享会”即将登陆大连
大数据·人工智能·ai
涛思数据(TDengine)4 小时前
WAIC 现场直击|烽台科技与 TDengine 战略签约:工业数据+“AI“,答案是什么?
大数据·人工智能·ai·时序数据库·tdengine·国产数据库
蓝创工坊Blue Foundry4 小时前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
神奇霸王龙4 小时前
Claude Code 三层架构Subagent并发优化实战
人工智能·ai·架构·agent·ai编程·并发·claude
安逸sgr5 小时前
Agent经典面试题:Agent 安全问题有哪些?如何防止工具误调用和 Prompt Injection?
人工智能·ai·agent·智能体
lkforce5 小时前
Transformer架构下的详细计算流程模拟,精确到数字(单层单头)
人工智能·深度学习·ai·transformer
叶总没有会5 小时前
3.2 构建AI智能体项目扩展知识
java·数据库·人工智能·spring·ai
迅易科技14 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云