Ollama模型运行详细入门指南:新手必看的本地部署与模型调用教程

2026-06-03阅读 0热度 0
Ollama

用Ollama部署大模型,具体操作流程是怎样的?

直截了当教你把模型拉到本地跑起来。Ollama在本地运行大语言模型确实高效,从拉取模型、启动推理到各项配置调整,几步就能搞定。无论你的操作系统是Windows、macOS还是Linux,只要Ollama装好,下面的步骤基本通用。

一. 拉取模型

想运行模型,得先从Ollama仓库把模型文件拉到本地。这个过程叫“拉取”。

命令非常简单

ollama pull 

举个例子,拉取LLaMA 3的8B参数版本:

ollama pull llama3

当前热门模型推荐

  • llama3:Meta出品,通用任务表现出色。
  • mistral:Mistral AI的模型,推理效率业界领先。
  • phi3:微软的轻量级选手,低配置设备也能流畅运行。

想探索更多模型,直接访问Ollama模型库,或在终端执行 ollama list 查看本地已下载的清单。

关键提醒

模型文件通常体积较大,几个GB只是起步。务必确保网络稳定且磁盘空间充足。另外,可按需选择不同大小的模型版本,比如 llama3:8bllama3:70b,小模型对硬件的要求明显更低。

二. 运行模型

模型拉取到本地后,如何启动?Ollama提供两种方案:终端直接交互与API调用。两种方式都很实用。

方式 1:交互式终端

一条命令搞定

ollama run 

例如:

ollama run llama3

进入后是什么体验

直接进入对话模式,你输入一句,模型立刻回复一句。例如输入 "What is the capital of France?",模型会回应 "The capital of France is Paris."。退出时输入 /exit 或按 Ctrl+D 即可。

方式 2:通过 API 运行

Ollama同时提供REST API,对需要将模型集成到应用或脚本中的开发者来说,极为便捷。

默认地址http://localhost:11434

用 curl 测试

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Write a short poem about the moon."
}'

返回内容:模型会生成一段JSON格式的文本,解析方便。

编程集成示例(Python)

import requests
response = requests.post('http://localhost:11434/api/generate', json={
    'model': 'llama3',
    'prompt': 'Hello, world!'
})
print(response.json())

三. 管理运行中的模型

模型跑起来后,如何管理?

查看已下载的模型列表

ollama list

删除模型以释放空间

ollama rm 

检查当前后台运行的模型实例

ollama ps

该命令会清晰显示当前正在运行的模型实例。

四. 优化运行性能

不同模型对硬件的要求差异很大。

硬件门槛大致参考

  • 小模型(如 phi3):4-8GB内存基本可运行。
  • 大模型(如 llama3:70b):16GB以上内存是底线,配备GPU能大幅提升性能。

GPU 加速务必配置

如果机器有独立显卡,记得安装NVIDIA CUDA驱动(Windows/Linux)或Metal(macOS)。Ollama检测到可用GPU时会默认启用加速。

参数调整

想知道运行细节,可加 --verbose 参数。要调整生成温度、top-k等参数,通过API指定即可:

{
  "model": "llama3",
  "prompt": "Tell a story",
  "temperature": 0.7,
  "top_p": 0.9
}

同时运行多个模型

Ollama支持同时运行多个模型,但前提是内存和CPU/GPU资源充足,否则会出现卡顿。

五. 常见问题

实际操作中可能会遇到的坑。

模型未找到:首先确认是否执行了 ollama pull,模型没下载到本地肯定无法运行。

运行缓慢:考虑换用更小的模型,或检查GPU加速是否生效。

端口占用:Ollama默认使用11434端口,若被其他程序占用,可通过环境变量修改:

export OLLAMA_HOST=127.0.0.1:11435

内存不足:关闭一些占用内存的应用,或选择参数量更小的模型。

六. 进阶使用

基础玩法满足不了时,可以尝试更深度的操作。

自定义模型:通过 Modelfile 文件创建专属于你的模型,例如自定义提示词、调整参数,然后使用:

ollama create mymodel -f Modelfile

批量处理:编写脚本循环调用API,一次性完成大量任务,大幅提升效率。

嵌入生成:调用 /api/embeddings 端点生成文本嵌入,适用于搜索、分类等场景。

示例场景

对话:直接 ollama run mistral 即可与模型聊天。

代码生成:输入 Write a Python script to sort a list,模型会直接输出代码。

API 集成:将Ollama嵌入Web应用,实现实时内容生成。

如需特定模型运行示例或API集成代码,直接调整对应参数即可。

七. ollama run 命令详解

Ollama运行模型的核心命令是 ollama run

例如运行 Llama 3.2 并进行对话:

ollama run llama3.2

执行后,若本地没有该模型,它会自动下载:

下载完成后,即可在终端中开始交互:

writing manifest 
success 
>>> 你好
Hello
>>> 能讲中文吗
是的,我可以在 Chinese 中对話。哪些话题或问题想要了解我呢?

结束对话,输入 /bye 或按 Ctrl+d 即可。

ollama list 查看已安装的模型:

NAME           ID              SIZE      MODIFIED      
llama3.2    baf6a787fdff    1.3 GB    4 minutes ago

支持的模型列表可查阅官网:https://ollama.com/library

下表列出一些常用模型的下载命令:

模型参数大小下载命令
Llama 3.370B43GBollama run llama3.3
Llama 3.23B2.0GBollama run llama3.2
Llama 3.21B1.3GBollama run llama3.2:1b
Llama 3.2 Vision11B7.9GBollama run llama3.2-vision
Llama 3.2 Vision90B55GBollama run llama3.2-vision:90b
Llama 3.18B4.7GBollama run llama3.1
Llama 3.1405B231GBollama run llama3.1:405b
Phi 414B9.1GBollama run phi4
Phi 3 Mini3.8B2.3GBollama run phi3
Gemma 22B1.6GBollama run gemma2:2b
Gemma 29B5.5GBollama run gemma2
Gemma 227B16GBollama run gemma2:27b
Mistral7B4.1GBollama run mistral
Moondream 21.4B829MBollama run moondream
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run lla va
Solar10.7B6.1GBollama run solar

八. 通过 Python SDK 使用模型

若要在Python代码中直接调用Ollama,官方提供的Python SDK流程清晰。

1. 安装 Python SDK

通过pip安装:

pip install ollama

2. 编写 Python 脚本

下面是最简单的示例,用Llama 3.2模型生成回答:

import ollama
response = ollama.generate(
    model="llama3.2",  # 模型名称
    prompt="你是谁。"  # 提示文本
)
print(response)

3. 运行 Python 脚本

在终端执行脚本:

python test.py

模型会根据输入返回对应回答。

4. 对话模式

如需多轮对话,可使用 chat 接口:

from ollama import chat
response = chat(
    model="llama3.2",
    messages=[
        {"role": "user", "content": "为什么天空是蓝色的?"}
    ]
)
print(response.message.content)

5. 流式响应

当模型输出较慢时,流式响应可不断获取生成内容,用户体验更佳:

from ollama import chat
stream = chat(
    model="llama3.2",
    messages=[{"role": "user", "content": "为什么天空是蓝色的?"}],
    stream=True
)
for chunk in stream:
    print(chunk["message"]["content"], end="", flush=True)
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策