【实践】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
相关推荐
j_xxx404_2 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
周易宅2 小时前
Hermes Agent 内部/后端命令速查表
ai·agent·hermes
Jackeyzhe3 小时前
让 3 个 AI 一起写公众号:一篇 Hermes 多 Agent 实操
ai
AI导出鸭PC端3 小时前
智谱清言怎么生成word文档?AI导出鸭终结乱码烦恼
人工智能·ai·c#·word·豆包·ai导出鸭
iChochy4 小时前
通过 ZenMux 使用 Claude Code CLI 解锁更多 AI 模型,包括 Claude 所有模型
ai·claude
Nile4 小时前
Claude Code-Dynamic Workflows:1.为什么用工作流?
人工智能·ai·ai编程·ai-native
j_xxx404_4 小时前
MySQL库操作硬核解析:字符集、校验规则、大小写比较、备份恢复与连接排查
运维·服务器·数据库·人工智能·mysql·ai·oracle
龙骑士baby4 小时前
重建 AI 认知第 4 篇:Skill——提示词的系统化封装
ai·大模型·llm·prompt·skill
xixixi777775 小时前
空天地通信、高速光模块、AI 智能体攻击、同态加密芯片四大事件解读:AI 算力底座攻防与全域通信同步升级
大数据·人工智能·深度学习·ai·大模型·光模块·智能体
天工开物开源基金会6 小时前
中国首个!OPC AI开源生态孵化中心落地武汉,打通“人才+赛事+认证+孵化”完整闭环
ai·opc·武汉